ฉันเคยเห็นการอภิปรายเกี่ยวกับ 'ค่าใช้จ่าย' ของ GPU และสำหรับเครือข่าย 'เล็ก' จริง ๆ แล้วมันอาจจะเร็วกว่าในการฝึกอบรมบน CPU (หรือเครือข่ายของ CPU) กว่า GPU
'เล็ก' มีความหมายว่าอะไร?
ตัวอย่างเช่น MLP แบบชั้นเดียวที่มี 100 หน่วยที่ซ่อนอยู่จะเล็กหรือไม่
คำจำกัดความของเราเกี่ยวกับการเปลี่ยนแปลง 'เล็ก' สำหรับสถาปัตยกรรมที่เกิดขึ้นซ้ำหรือไม่?
มีเกณฑ์อื่น ๆ ที่ควรพิจารณาเมื่อตัดสินใจว่าจะฝึกใช้งาน CPU หรือ GPU หรือไม่?
แก้ไข 1:
ฉันเพิ่งพบโพสต์บล็อก (อาจล้าสมัยหรือไม่มันมาจาก 2014):
"... การ์ดเครือข่ายส่วนใหญ่จะใช้งานได้เฉพาะกับหน่วยความจำที่ลงทะเบียนกับ CPU เท่านั้นดังนั้น GPU กับ GPU ที่ถ่ายโอนระหว่างสองโหนดจะเป็นเช่นนี้: GPU 1 ถึง CPU 1 ไปยังการ์ดเครือข่าย 1 ถึงการ์ดเครือข่าย 2 ไปยัง CPU 2 ถึง GPU 2. สิ่งนี้หมายความว่าหากเลือกการ์ดเครือข่ายที่ช้าแล้วอาจไม่มีการเร่งความเร็วในคอมพิวเตอร์เครื่องเดียวถึงแม้จะมีการ์ดเครือข่ายที่รวดเร็วก็ตามถ้าคลัสเตอร์มีขนาดใหญ่ ถึง CPU ในขณะที่ GPU ทำงานเร็วเกินไปสำหรับการ์ดเครือข่ายที่จะทันกับมัน
นี่คือเหตุผลที่ บริษัท ใหญ่ ๆ อย่าง Google และ Microsoft ใช้ CPU แทนที่จะเป็นกลุ่ม GPU เพื่อฝึกอบรมเครือข่ายประสาทขนาดใหญ่ของพวกเขา "
ดังนั้นในบางจุดตามที่โพสต์นี้มันอาจจะเร็วกว่าที่จะใช้ซีพียู เป็นกรณีนี้หรือไม่?
แก้ไข 2: ใช่โพสต์บล็อกนั้นอาจล้าสมัยไปแล้วเพราะ:
ตอนนี้ดูเหมือนว่า GPUs ภายในโหนดจะเชื่อมต่อผ่านบัส PCIe ดังนั้นการสื่อสารสามารถเกิดขึ้นได้ที่ประมาณ 6GiB / s (ตัวอย่างเช่น: https://www.youtube.com/watch?v=el1iSlP1uOsประมาณ 35 นาที) ลำโพงบอกว่านี่เร็วกว่าการเปลี่ยนจาก GPU1 เป็น CPU ถึง GPU2 มันจะหมายถึงการ์ดเครือข่ายไม่มีคอขวดอีกต่อไป