ฉันควรใช้ GPU หรือ CPU ในการอนุมาน


13

ฉันใช้เครือข่ายประสาทการเรียนรู้อย่างลึกซึ้งที่ได้รับการฝึกฝนโดย GPU ตอนนี้ฉันต้องการปรับใช้กับโฮสต์หลายแห่งเพื่ออนุมาน คำถามคือเงื่อนไขในการตัดสินใจว่าฉันควรใช้ GPU หรือซีพียูในการอนุมานคืออะไร?


การเพิ่มรายละเอียดเพิ่มเติมจากความคิดเห็นด้านล่าง

ฉันยังใหม่กับสิ่งนี้ดังนั้นคำแนะนำจะได้รับการชื่นชม

  • หน่วยความจำ : GPU คือ K80

  • Framework : Cuda และ cuDNN

  • ขนาดข้อมูลต่อเวิร์กโหลด : 20G

  • การคำนวณโหนดเพื่อใช้งาน : หนึ่งรายการต่องานแม้ว่าจะต้องการพิจารณาตัวเลือกเครื่องชั่ง

  • ราคา : ฉันสามารถจ่ายค่าตัวเลือก GPU ได้หากเหตุผลนั้นสมเหตุสมผล

  • การปรับใช้ : การทำงานบนเซิร์ฟเวอร์โลหะเปลือยที่โฮสต์อยู่ไม่ใช่ในคลาวด์

ตอนนี้ฉันทำงานบน CPU เพียงเพราะแอปพลิเคชันทำงานได้ดี แต่ด้วยเหตุผลดังกล่าวฉันไม่แน่ใจว่าทำไมถึงมีคนพิจารณา GPU ด้วยซ้ำ


เพื่อให้คำแนะนำเกี่ยวกับการเปรียบเทียบระหว่างสองแนวทางที่เป็นไปได้จะเป็นประโยชน์สำหรับผู้อื่นที่จะทราบรายละเอียดของงาน ตัวอย่างเช่นขนาดของข้อมูลของคุณคืออะไรความจุหน่วยความจำของ GPU ของคุณจำนวนโหนดคอมพิวเตอร์ที่คุณวางแผนในการใช้และอาจเป็นกรอบลดแผนที่ที่คุณมีในใจ
Stardust แบบไดนามิก

@DynamicStardust ... และค่าใช้จ่าย โหนด CPU EC2 ราคาถูกหรือโหนด GPU ECW ราคาแพง? นี่เป็นคำถามที่คลุมเครือเกินไป
Spacedman

คำตอบ:


8

@Dan @ SmallChess ฉันไม่เห็นด้วยอย่างสมบูรณ์ มันเป็นความจริงที่ว่าสำหรับการฝึกอบรมการทำ parallalization จำนวนมากนั้นสามารถใช้ประโยชน์จาก GPU ได้ทำให้เกิดการฝึกฝนที่รวดเร็วยิ่งขึ้น สำหรับการอนุมานการอนุมานแบบนี้อาจน้อยกว่านี้อย่างไรก็ตามซีเอ็นเอ็นจะยังคงได้รับประโยชน์จากสิ่งนี้ทำให้การอนุมานเร็วขึ้น ตอนนี้คุณแค่ต้องถามตัวเองว่าการอนุมานเร็วกว่าสำคัญไหม ฉันต้องการการเพิ่มพิเศษนี้หรือไม่ (เป็น GPU ที่ดีไฟล์ที่ถูกต้องและอื่น ๆ )

หากความเร็วไม่เป็นปัญหาให้ไปที่ CPU อย่างไรก็ตามโปรดทราบว่า GPU ของสามารถทำให้ลำดับของขนาดเร็วขึ้นในประสบการณ์ของฉัน


จุดที่น่าสนใจที่คุณยกระดับทำไม CNN จะได้ประโยชน์จากการประมวลผลแบบขนานระหว่างการอนุมาน
ด่าน

1
ด้วยการฝึกอบรมการคำนวณแบบขนานอาจชัดเจน: คุณมีอินพุตหลายตัวซึ่งแต่ละรายการจะต้องถูกส่งต่อฟีดโดยไม่ขึ้นต่อกัน สำหรับการบิดเคอร์เนลจะทวีคูณผ่าน 'แพตช์' อินพุตหลายตัว สิ่งเหล่านี้สามารถทำขนานได้เช่นกัน นั่นคือสิ่งที่ทำให้ซีเอ็นเอ็นมีพลังมาก: ไม่เพียง แต่พวกเขาต้องการพารามิเตอร์ที่น้อยกว่าในการฝึกฝน แต่มันก็ขนานกันมากขึ้นดังนั้นการทำให้ GPU มีประสิทธิภาพมาก ฉันไม่รู้ว่าคุณกำลังทำอะไร แต่ฉันทำงานกับการแบ่งส่วน (จำแนกตามพิกเซล) ของภาพและเมื่อใช้ GPU เพื่อการอนุมานฉันจะได้รับการปรับปรุงความเร็วสูง (> x10)
Laurens Meeus

@ LaurensMeeus ฉันยังใหม่กับสเปกตรัมนี้และฉันกำลังทำการวิเคราะห์ต้นทุนของ cloud VMs ฉันจะยังใช้ GPU สำหรับการฝึกอบรมหรือไม่ถ้าฉันฝึกการวิเคราะห์ข้อความเท่านั้นและไม่ใช่รูปภาพ?
Squ1rr3lz

2
@ Squ1rr3lz ฉันควร 95% การคำนวณแบบขนานทุกรูปแบบควรได้รับประโยชน์จาก GPU ฉันไม่ใช่ผู้เชี่ยวชาญในสาขานี้ แต่เนื่องจากการวิเคราะห์ข้อความยังมีเลเยอร์ convolutional (ไม่ว่าจะเป็น 1D แทนที่จะเป็น 2D) นี่เป็นเหตุผลหนึ่งที่ทำให้ / ควรเร็วขึ้น ถ้าเป็นไปได้ลองด้วยตัวคุณเองว่าอะไรที่มีอิทธิพลต่อการเปิด / ปิดการใช้งาน GPU
Laurens

6

การใช้การอนุมานบน GPU แทนที่จะเป็น CPU จะทำให้คุณใกล้เคียงกับการเร่งความเร็วแบบเดียวกับที่ใช้ในการฝึกอบรม

อย่างไรก็ตามอย่างที่คุณบอกว่าแอพพลิเคชั่นนั้นทำงานได้ดีบน CPU หากคุณไปถึงจุดที่ความเร็วการอนุมานเป็นปัญหาคอขวดในแอปพลิเคชันการอัปเกรดเป็น GPU จะช่วยลดปัญหาคอขวดนั้น


เห็นด้วยอย่างสิ้นเชิง. ยังไม่เข้าใจว่าทำไมโพสต์ CPU ถึงมีวงเงิน
Laurens Meeus

1
GeForce GTX Titan X ให้ประสิทธิภาพที่สูงกว่าซีพียู Intel Xeon E5 16-core ระหว่าง 5.3 และ 6.7 เท่าซึ่งต่ำกว่าการเร่งความเร็วที่ทำได้ระหว่างการฝึกอบรม - จากบล็อกของ NVidia: devblogs.nvidia.com/…
seanhalle

4

คุณจะใช้ GPU เพื่อการฝึกอบรมเท่านั้นเพราะการเรียนรู้อย่างลึกล้ำต้องการการคำนวณจำนวนมากเพื่อให้ได้โซลูชั่นที่ดีที่สุด แต่คุณไม่จำเป็นต้องมีเครื่อง GPU สำหรับการใช้งาน

ลองยกตัวอย่าง iPhone X ใหม่ของ Apple iPhone X ใหม่มีอัลกอริทึมการเรียนรู้ของเครื่องจักรขั้นสูงสำหรับการตรวจจับแบบหน้าจอ พนักงานของ Apple จะต้องมีกลุ่มของเครื่องจักรสำหรับการฝึกอบรมและการตรวจสอบ แต่ iPhone X ของคุณไม่ต้องการ GPU เพียงแค่รันโมเดล


ขอบคุณสำหรับคำอธิบาย สิ่งที่ฉันไม่เข้าใจคือเหตุผลว่าทำไม Nvidia จึงส่งเสริมการใช้ GPU เนื่องจากมีวิธีแก้ปัญหาที่ดีที่สุดสำหรับการอนุมานว่า CPU สามารถทำได้ดีหรือไม่ ทำไม Google ถึงผลักดัน TPU เพื่ออนุมานด้วยว่ามันทำกับ CPU ทั้งหมดหรือไม่ มันเกี่ยวกับการคำนวณแบบขนานหรือเปล่า?
ด่าน

3
@SmallChess ไม่ได้ใช้ IPhone X มีตัวประมวลผลคล้าย TPU ขั้นสูงสำหรับการอนุมานอย่างหมดจด? extremetech.com/mobile/…
Laurens Meeus

3
@ SmallChess แต่ทำไมถึงเป็นไม่ได้ บางทีฉันอาจไม่เข้าใจทั้งหมด คุณจะไม่ปรับปรุงความเร็วบ้างไหม?
Laurens Meeus

2
สุจริต NVidia มีแผนกการตลาดที่ยอดเยี่ยมและเป็นประโยชน์สูงสุดในการส่งเสริมการใช้ NVidia GPUs สำหรับการอนุมาน มันอยู่ในความสนใจที่ดีที่สุดของพวกเขาไม่ใช่ของคุณ
seanhalle

1
จากบล็อกของ NVidia: "258 เทียบกับ 242 ภาพ / วินาที" สำหรับ NVIDIA Tegra X1 กับ i7 6700K CPU เมื่อทำการอนุมาน: devblogs.nvidia.com/…
seanhalle
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.