สถาปัตยกรรมฮาร์ดแวร์แมชชีนเลิร์นนิงแบบใหม่
- รีโพซิทอรีนี้มีซอร์สโค้ดของสถาปัตยกรรมฮาร์ดแวร์ ML ที่ต้องใช้การคูณเพียงเกือบครึ่งเดียว แต่ยังคงได้ประสิทธิภาพเทียบเท่ากับการทำงานแบบ inner product ดั้งเดิม
- เพิ่มขีดจำกัดเชิงทฤษฎีของ throughput และประสิทธิภาพการคำนวณของตัวเร่ง ML โดยรันอัลกอริทึม inner product ทางเลือกที่ใช้การบวก low-bitwidth เพื่อทดแทนการคูณเกือบครึ่งหนึ่ง
- ดูรายละเอียดเพิ่มเติมได้จากบทความที่ตีพิมพ์ในวารสาร IEEE Transactions on Computers
อัลกอริทึมและสถาปัตยกรรมฮาร์ดแวร์แบบใหม่
- แนะนำอัลกอริทึมและสถาปัตยกรรมฮาร์ดแวร์ใหม่ชื่อ Free-pipeline Fast Inner Product (FFIP)
- เป็นการปรับปรุงอัลกอริทึม Fast Inner Product (FIP) ที่ Winograd เสนอไว้ตั้งแต่ปี 1968
- FIP ไม่เกี่ยวข้องกับอัลกอริทึม Winograd minimal filtering ที่ใช้กับเลเยอร์ convolutional และสามารถใช้ได้กับทุกเลเยอร์ของโมเดล ML ที่โดยหลักแล้วแยกย่อยเป็นการคูณเมทริกซ์ได้
- เป็นการอิมพลีเมนต์ FIP บนตัวเร่ง ML เป็นครั้งแรก และนำเสนออัลกอริทึม FFIP กับสถาปัตยกรรมแบบ generalized ที่ช่วยปรับปรุงความถี่สัญญาณนาฬิกาและ throughput ที่ได้จาก FIP
- มีการเพิ่ม optimization ที่ปรับแต่งเฉพาะสำหรับ ML ให้กับอัลกอริทึมและสถาปัตยกรรม FIP และ FFIP
- FFIP สามารถผสานเข้ากับตัวเร่ง ML แบบ fixed-point systolic array เดิมได้อย่างราบรื่น เพื่อให้ได้ throughput เท่าเดิมด้วยหน่วย multiply-accumulate (MAC) เพียงครึ่งหนึ่ง หรือทำให้รองรับขนาดสูงสุดของ systolic array ที่ใหญ่ขึ้นภายใต้งบประมาณฮาร์ดแวร์คงที่
- การอิมพลีเมนต์ FFIP สำหรับโมเดล ML แบบ non-sparse ที่ใช้อินพุต fixed-point 8~16 บิต ให้ throughput และประสิทธิภาพการคำนวณสูงกว่าโซลูชันระดับแนวหน้าบนแพลตฟอร์มคอมพิวต์ประเภทเดียวกัน
โครงสร้างซอร์สโค้ด
compiler: มีคอมไพเลอร์ที่แปลงคำอธิบายโมเดล Python เป็นคำสั่งของตัวเร่ง และยังมีโค้ดอินเทอร์เฟซกับไดรเวอร์ PCIe สำหรับเริ่มรันโมเดลบนตัวเร่ง อ่านผลลัพธ์และตัวนับประสิทธิภาพ รวมถึงทดสอบความถูกต้องของผลลัพธ์
rtl: มี SystemVerilog RTL ที่สามารถสังเคราะห์ได้
sim: มีสคริปต์สำหรับตั้งค่าสภาพแวดล้อมการจำลองเพื่อการทดสอบ
tests: มีซอร์สโค้ด testbench แบบ UVM ที่ใช้ Cocotb ในการตรวจสอบตัวเร่งในสภาพแวดล้อมจำลอง
utils: มีแพ็กเกจและสคริปต์ Python เพิ่มเติมที่ใช้ในโปรเจกต์ เป็นยูทิลิตีทั่วไปสำหรับการพัฒนาและตัวช่วยที่ผู้เขียนสร้างขึ้น
ความเห็นของ GN⁺
- บทความนี้นำเสนอความก้าวหน้าที่น่าสนใจในสถาปัตยกรรมฮาร์ดแวร์ ML โดยเฉพาะอัลกอริทึมและสถาปัตยกรรมใหม่ที่ลดการคำนวณแบบคูณลงแต่ยังรักษาประสิทธิภาพไว้ได้ ซึ่งถือเป็นความก้าวหน้าสำคัญที่อาจยกระดับประสิทธิภาพของงาน ML ได้มาก
- อัลกอริทึม FFIP เพิ่มมิติใหม่ให้กับการออกแบบตัวเร่ง ML เดิม พร้อมเสนอวิธีใช้ทรัพยากรฮาร์ดแวร์ได้อย่างมีประสิทธิภาพยิ่งขึ้น ซึ่งสำคัญมากในสภาพแวดล้อมการประมวลผลยุคใหม่ที่ให้ความสำคัญกับประสิทธิภาพพลังงานและความคุ้มค่า
- อย่างไรก็ตาม หากต้องการให้เทคโนโลยีนี้ถูกยอมรับอย่างกว้างขวาง ยังต้องพิจารณาเรื่องความเข้ากันได้กับตัวเร่ง ML เดิม ความเข้าใจของนักพัฒนาต่อสถาปัตยกรรมใหม่ ตลอดจนประเด็นด้านประสิทธิภาพและต้นทุนเมื่ออิมพลีเมนต์บนฮาร์ดแวร์จริง
- โปรเจกต์หรือผลิตภัณฑ์อื่นที่มีฟังก์ชันใกล้เคียงกัน เช่น TPU (Tensor Processing Unit) ของ Google หรือ CUDA core ของ NVIDIA ซึ่งเป็นโซลูชันตัวเร่ง ML ที่ผ่านการพิสูจน์ในตลาดแล้ว
- เมื่อนำเทคโนโลยีใหม่หรือโอเพนซอร์สมาใช้ ควรพิจารณาความเข้ากันได้กับระบบเดิม ต้นทุนที่เพิ่มขึ้นเทียบกับประสิทธิภาพที่ดีขึ้น รวมถึงความซับซ้อนของการพัฒนาและการบำรุงรักษา ข้อดีของการเลือก FFIP คือ throughput และประสิทธิภาพการคำนวณที่สูงขึ้น ส่วนข้อเสียที่อาจเกิดขึ้นคือช่วงการเรียนรู้ของนักพัฒนาต่อระบบใหม่และต้นทุนการอิมพลีเมนต์ในระยะแรก
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News