การใช้ FP8 (จุดลอยตัว 8 บิต) สำหรับการดำเนินการคูณเมทริกซ์ทั่วไป (GEMM) ใน Deepseek-V3 มีประโยชน์หลายประการที่สำคัญส่วนใหญ่ในแง่ของประสิทธิภาพการคำนวณและการประหยัดหน่วยความจำ นี่คือข้อดีโดยละเอียด:
1. ประสิทธิภาพการคำนวณ: การดำเนินการ FP8 ให้ความเร็วในการคำนวณเพิ่มขึ้นอย่างมากเมื่อเทียบกับการดำเนินงาน FP16 หรือ FP32 แบบดั้งเดิม โดยเฉพาะคอร์เทนเซอร์ของ Nvidia สามารถดำเนินการ FP8 GEMM ได้ด้วยความเร็วสองเท่าของ FP16 ซึ่งเร่งกระบวนการฝึกอบรมโดยรวมของรุ่นขนาดใหญ่เช่น Deepseek-V3 [3] [4]
2. การประหยัดหน่วยความจำ: การใช้ FP8 ช่วยลดความต้องการหน่วยความจำลงครึ่งหนึ่งเมื่อเทียบกับ BF16 ทำให้โมเดลที่มีขนาดใหญ่ขึ้นและลึกขึ้นได้รับการฝึกอบรมภายในข้อ จำกัด ของฮาร์ดแวร์เดียวกัน สิ่งนี้เป็นประโยชน์อย่างยิ่งสำหรับแบบจำลองที่ต้องการทรัพยากรหน่วยความจำที่กว้างขวางทำให้สามารถพัฒนาโมเดลที่ซับซ้อนได้มากขึ้นโดยไม่จำเป็นต้องใช้ฮาร์ดแวร์เพิ่มเติม [3] [6]
3. การสื่อสารที่มีประสิทธิภาพ: ในสภาพแวดล้อมการฝึกอบรมแบบกระจาย FP8 จะลดแบนด์วิดท์ที่จำเป็นสำหรับการถ่ายโอนข้อมูลระหว่าง GPU ซึ่งปรับปรุงประสิทธิภาพการซิงโครไนซ์และลดค่าใช้จ่ายในการสื่อสาร นี่เป็นสิ่งสำคัญสำหรับโมเดล AI ขนาดใหญ่ที่มักจะพึ่งพาการตั้งค่าการคำนวณแบบกระจาย [3]
4. การหาปริมาณที่ละเอียด: Deepseek-V3 ใช้กลยุทธ์การหาปริมาณที่ละเอียดเพื่อจัดการกับความท้าทายที่เกิดจากช่วงไดนามิกที่ จำกัด ของ FP8 สิ่งนี้เกี่ยวข้องกับการจัดกลุ่มองค์ประกอบลงในกระเบื้องหรือบล็อกขนาดเล็กและปรับสัดส่วนอย่างอิสระซึ่งช่วยในการจัดการค่าผิดปกติและรักษาเสถียรภาพเชิงตัวเลขได้ดีขึ้น [1] [2]
5. เพิ่มความแม่นยำในการสะสม: เพื่อลดข้อผิดพลาดที่เกิดจากการสะสมบิตที่ จำกัด ในแกนเทนเซอร์ Deepseek-V3 จะส่งเสริมผลลัพธ์บางส่วนไปยังการลงทะเบียน FP32 ในช่วงเวลาที่เฉพาะเจาะจงในระหว่างการสะสม สิ่งนี้ช่วยเพิ่มความแม่นยำของการดำเนินงาน FP8 GEMM เพื่อให้มั่นใจว่าประโยชน์ของ FP8 นั้นเกิดขึ้นได้โดยไม่ลดความแม่นยำ [1]
6. รูปแบบ E4M3 แบบครบวงจร: ไม่เหมือนกับวิธีการก่อนหน้านี้ที่ใช้รูปแบบไฮบริด FP8, DeepSeek-V3 ใช้รูปแบบ E4M3 ในระดับสากล สิ่งนี้ได้รับการอำนวยความสะดวกโดยกลยุทธ์การหาปริมาณที่ละเอียดซึ่งแบ่งปันบิตเลขชี้กำลังอย่างมีประสิทธิภาพระหว่างองค์ประกอบที่จัดกลุ่มทำให้กรอบและการปรับปรุงความแม่นยำ [1] ง่ายขึ้น
7. การหาปริมาณออนไลน์: โมเดลคำนวณปัจจัยการปรับขนาดแบบไดนามิกสำหรับแต่ละกระเบื้องการเปิดใช้งานหรือบล็อกน้ำหนักในระหว่างการฝึกอบรมไม่จำเป็นต้องใช้วิธีการหาปริมาณที่ล่าช้า สิ่งนี้ทำให้เฟรมเวิร์กง่ายขึ้นและปรับปรุงความแม่นยำโดยการปรับให้เข้ากับลักษณะข้อมูลแบบเรียลไทม์ [1]
8. การสนับสนุนห้องสมุดที่ได้รับการปรับปรุง: การพัฒนา DeepGemm ซึ่งเป็นไลบรารี FP8 GEMM ที่ได้รับการปรับปรุงให้ดีที่สุดช่วยเพิ่มประสิทธิภาพของการดำเนินงาน FP8 ใน DeepSeek-V3 DeepGemm รองรับทั้งสถาปัตยกรรมที่หนาแน่นและ MOE เพื่อให้มั่นใจว่าการคำนวณเมทริกซ์ที่มีประสิทธิภาพซึ่งมีความสำคัญต่อโมเดล AI ขนาดใหญ่ [4] [7] มันใช้การรวบรวมแบบทันเวลา (JIT) และการปรับขนาดละเอียดเพื่อรักษาประสิทธิภาพการคำนวณในขณะที่ลดการสูญเสียความแม่นยำ [4] [5]
การอ้างอิง:
[1] https://community.aws/content/2rjj1wkztsfywvfsiibhwxeqmf1/four-unique-takeaways-from-deepseek-v3?lang=en
[2] https://machinelearningatscale.substack.com/p/deepseek-v3-model
[3] https://fireworks.ai/blog/deepseek-model-architecture
[4] https://blog.aitoolhouse.com/deepseek-ai-releases-deepgemm-an-optimized-fp8-gemm-library-for-dense และ -moe-computation/
[5] https://www.reddit.com/r/localllama/comments/1iybcnl/deepseek_realse_3th_bomb_deepgemm_a_library_for/
[6] https://arxiv.org/html/2503.09975V1
[7] https://digialps.com/deepseek-ai-drops-deepgemm-an-fp8-gemm-library-that-powers-v3-and-r1-ai-models/
[8] https://arxiv.org/pdf/2412.19437.pdf
[9] https://www.aibase.com/news/15722