คู่มือทางเทคนิค

สแต็คการฝึก DeepSpeed ​​และ Megatron

DeepSpeed (Microsoft) และ Megatron-LM (NVIDIA) คือชุดซอฟต์แวร์ที่ทำให้โมเดลการฝึกที่มีพารามิเตอร์นับพันล้านตัวใน GPU นับพันมีความเป็นไปได้จริง

อ่าน 2 นาทีอัปเดตล่าสุด

ภาพรวม

Without them, today's frontier models simply could not fit in memory or finish training in a reasonable time.

เจาะลึก

การฝึกโมเดลขนาดใหญ่บน GPU ตัวเดียวเป็นไปไม่ได้ เนื่องจากน้ำหนัก การไล่ระดับสี และสถานะของเครื่องมือเพิ่มประสิทธิภาพไม่พอดี สแต็กเหล่านี้แบ่งงานออกเป็น GPU จำนวนมาก Megatron-LM เป็นผู้บุกเบิกเทนเซอร์ขนาน โดยแบ่งการคูณเมทริกซ์แต่ละตัวภายในแต่ละเลเยอร์ทั่วทั้ง GPU บวกกับไปป์ไลน์ขนาน ซึ่งวางเลเยอร์ที่แตกต่างกันบน GPU ที่แตกต่างกัน ผลงานอันเป็นเอกลักษณ์ของ DeepSpeed ​​คือ ZeRO (Zero Redundancy Optimizer) ซึ่งจะแบ่งสถานะการเพิ่มประสิทธิภาพ การไล่ระดับสี และพารามิเตอร์ต่างๆ ทั่วทั้ง GPU แทนที่จะจำลองข้อมูลเหล่านั้น โดยตัดหน่วยความจำต่อ GPU อย่างมาก ทั้งสองมักจะรวมกัน (Megatron-DeepSpeed) เพื่อฝึกโมเดลเช่น BLOOM-176B และ Megatron-Turing NLG พวกเขายังเพิ่มความแม่นยำแบบผสม จุดตรวจสอบการเปิดใช้งาน และการออฟโหลดไปยัง CPU หรือ NVMe เพื่อให้โมเดลขนาดใหญ่ฝึกฝนบนฮาร์ดแวร์ที่มีจำกัด

ข้อมูลเชิงลึกทางเทคนิค

ZeRO มีการเพิ่มการประหยัดหน่วยความจำสามขั้นตอน: ขั้นที่ 1 สถานะเครื่องมือเพิ่มประสิทธิภาพชาร์ด ขั้นที่ 2 ยังไล่ระดับชาร์ด และขั้นที่ 3 รวบรวมพารามิเตอร์ด้วยตนเอง โดยรวบรวมพารามิเตอร์ต่างๆ ตามความต้องการระหว่างการส่งต่อและย้อนกลับ เมื่อรวมกับความเท่าเทียมของเทนเซอร์ (ภายในเลเยอร์) และความขนานของไปป์ไลน์ (ระหว่างเลเยอร์) สิ่งนี้จะทำให้เกิด 'ความขนานสามมิติ' ความตึงเครียดที่สำคัญคือค่าใช้จ่ายในการสื่อสาร: ทุกการแบ่งส่วนจะเพิ่มการรับส่งข้อมูลระหว่าง GPU กับ GPU ดังนั้นวิศวกรจึงปรับแต่งการแยกเพื่อให้ลิงก์ NVLink และ InfiniBand รวดเร็วมีความสมบูรณ์

ผลกระทบเชิงกลยุทธ์

ต้นทุนและงบประมาณ

การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี

การตัดสินใจที่ชัดเจนยิ่งขึ้น

การศึกษาด้านเทคนิคช่วยให้ทีมเลือกกลุ่มที่เหมาะสม ไม่ใช่แค่กลุ่มใหม่ล่าสุด

การควบคุมคุณภาพ

ตัวเลือกทางวิศวกรรมที่ดีกว่าจะช่วยลดเหตุการณ์ด้านความน่าเชื่อถือในการผลิต

อนาคตของ DeepSpeed และกองการฝึกซ้อม Megatron

คาดหวังการผสานรวมที่เข้มงวดยิ่งขึ้นกับ FSDP ดั้งเดิมของ PyTorch (Fully Sharded Data Parallel) ซึ่งดูดซับแนวคิด ZeRO มากมาย ซึ่งทำให้เส้นแบ่งระหว่างกลุ่มการวิจัยและเฟรมเวิร์กหลักไม่ชัดเจน แนวทางที่ขับเคลื่อนด้วยคอมไพเลอร์และเครื่องมือวางแผนการทำงานแบบขนานอัตโนมัติมีจุดมุ่งหมายเพื่อลบการปรับแต่งแบบแมนนวล ในขณะที่คลัสเตอร์การฝึกฝนเติบโตไปสู่ตัวเร่งความเร็วหลายแสนตัว ความทนทานต่อข้อผิดพลาด การปรับขนาดที่ยืดหยุ่น และการสื่อสารที่ทับซ้อนกันด้วยการคำนวณกลายเป็นขอบเขตทางวิศวกรรมที่โดดเด่น ควบคู่ไปกับการรองรับฮาร์ดแวร์ใหม่ เช่น NVIDIA Blackwell และชิปการฝึกฝนแบบกำหนดเอง

การใช้งานจริงในโลกแห่งความเป็นจริง

การฝึกอบรมโมเดล BLOOM-176B หลายภาษาแบบเปิดโดยใช้ Megatron-DeepSpeed ​​Stack ที่รวมกันใน GPU หลายร้อยตัว

Microsoft และ NVIDIA ฝึกอบรมโมเดล NLG เมกะทรอน-ทัวริงพารามิเตอร์ 530 พันล้านพารามิเตอร์พร้อมระบบขนาน 3 มิติ

ZeRO-Offload ช่วยให้นักวิจัยปรับแต่งโมเดลหลายพันล้านพารามิเตอร์บน GPU เวิร์กสเตชันเดียวโดยกระจายสถานะเครื่องมือเพิ่มประสิทธิภาพไปที่ CPU RAM

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

ความเสี่ยงและรั้ว

การเพิ่มประสิทธิภาพเกณฑ์มาตรฐานหนึ่งรายการสามารถซ่อนจุดอ่อนของระบบในวงกว้างได้

ต้นทุนโครงสร้างพื้นฐานและการบำรุงรักษามักถูกประเมินต่ำไป

ช่องว่างด้านความปลอดภัยและความสามารถในการสังเกตสามารถเพิ่มขึ้นได้เมื่อระบบมีความซับซ้อนมากขึ้น

แผนงานการดำเนินงาน

1

กำหนดเป้าหมายเวลาแฝง คุณภาพ และต้นทุนก่อนนำไปใช้งาน

2

เกณฑ์มาตรฐานภายใต้สภาวะโหลดและข้อมูลจริง

3

การตรวจสอบเครื่องมือเพื่อหาข้อผิดพลาด การเบี่ยงเบน และผลกระทบต่อผู้ใช้

4

เตรียมเส้นทางการย้อนกลับและการตอบสนองต่อเหตุการณ์ก่อนปรับขนาด

สำรวจต่อไป

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the DeepSpeed and Megatron Training Stacks quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

เริ่มแบบทดสอบ

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

คำแนะนำต่อไป

การกำหนดปริมาณหลังการฝึกอบรม GPTQ และ AWQ

คำถามที่พบบ่อย

What is DeepSpeed and Megatron Training Stacks?

DeepSpeed (Microsoft) และ Megatron-LM (NVIDIA) คือชุดซอฟต์แวร์ที่ทำให้โมเดลการฝึกที่มีพารามิเตอร์นับพันล้านตัวใน GPU นับพันมีความเป็นไปได้จริง หากไม่มีสิ่งเหล่านี้ โมเดลชายแดนในปัจจุบันก็ไม่สามารถบรรจุลงในหน่วยความจำหรือเสร็จสิ้นการฝึกอบรมในเวลาอันสมควรได้

จุดประสงค์หลักของเครื่องมือเพิ่มประสิทธิภาพ ZeRO ของ DeepSpeed ​​คืออะไร

ZeRO (Zero Redundancy Optimizer) กำจัดความซ้ำซ้อนของหน่วยความจำโดยการแบ่งสถานะการเพิ่มประสิทธิภาพ การไล่ระดับสี และพารามิเตอร์ต่างๆ ทั่วทั้ง GPU แทนที่จะจำลองข้อมูลบนอุปกรณ์แต่ละเครื่อง

ความเท่าเทียมของเทนเซอร์ซึ่งบุกเบิกใน Megatron-LM แยกแบบจำลองอย่างไร

Tensor Parallelism แบ่งพาร์ติชันคณิตศาสตร์ภายในเลเยอร์เดียว (เช่น การคูณเมทริกซ์ขนาดใหญ่) ไปยัง GPU หลายตัว ซึ่งเป็นการแยกภายในเลเยอร์

สเตจ ZeRO ใดที่ประหยัดหน่วยความจำได้มากที่สุดโดยการแบ่งพารามิเตอร์โมเดลด้วยตัวเองด้วย

พารามิเตอร์ชาร์ด ZeRO Stage 3 นอกเหนือจากสถานะการไล่ระดับสีและเครื่องมือเพิ่มประสิทธิภาพ โดยรวบรวมพารามิเตอร์เหล่านี้ตามความต้องการ ทำให้มีหน่วยความจำลดลงมากที่สุด

'จุดตรวจสอบการเปิดใช้งาน' แลกเปลี่ยนอะไรเพื่อบันทึกหน่วยความจำระหว่างการฝึก?

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

เหตุใดการรวมเทคนิคเหล่านี้จึงมักเรียกว่า 'ความเท่าเทียม 3 มิติ'

ความเท่าเทียม 3 มิติซ้อนกันสามกลยุทธ์มุมฉาก: ความเท่าเทียมของข้อมูล ความเท่าเทียมของเทนเซอร์ (ในเลเยอร์) และความขนานของไปป์ไลน์ (ระหว่างเลเยอร์)