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

การฝึกความแม่นยำแบบผสม

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

ภาพรวม

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

Mixed Precision Training เป็นองค์ประกอบทางเทคนิคที่ส่งผลต่อคุณภาพของโมเดล ต้นทุนโครงสร้างพื้นฐาน เวลาแฝง และความน่าเชื่อถือในวงกว้าง

เจาะลึก

การฝึกอบรมแบบดั้งเดิมจะจัดเก็บน้ำหนักและคำนวณทางคณิตศาสตร์ในรูปแบบทศนิยม 32 บิต (FP32) ความแม่นยำแบบผสมใช้รูปแบบ 16 บิตที่มีความแม่นยำต่ำกว่า (FP16 หรือ bfloat16) สำหรับการคูณเมทริกซ์จำนวนมาก ในขณะที่ยังคงรักษา 'สำเนาหลัก' ของน้ำหนัก 32 บิตไว้เพื่อการอัพเดตที่เสถียร เนื่องจากตัวเลข 16 บิตมีขนาดเล็กลงครึ่งหนึ่ง หน่วยความจำ GPU จึงมีขนาดพอดีกว่า และ Tensor Cores จะประมวลผลได้เร็วขึ้นประมาณ 2-8 เท่า สิ่งที่จับได้คือช่วงที่แคบของ FP16: การไล่ระดับสีเล็กๆ อาจไหลลงจนเหลือศูนย์ การแก้ไขมาตรฐานคือการปรับขนาดการสูญเสีย ซึ่งจะคูณการสูญเสียด้วยปัจจัยขนาดใหญ่ก่อนการแพร่กระจายกลับ เพื่อให้การไล่ระดับสีที่มีขนาดเล็กสามารถแสดงได้ จากนั้นจึงแบ่งกลับออกก่อนที่จะอัปเดตน้ำหนัก Apex ของ NVIDIA และ AMP ในตัว (Automatic Mixed Precision) ใน PyTorch และ TensorFlow จะทำให้สิ่งนี้เป็นไปโดยอัตโนมัติ

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

FP16 มีบิตเอ็กซ์โพเนนต์เพียง 5 บิต ซึ่งให้ช่วงไดนามิกน้อยที่ทำให้เกิดการไล่ระดับสีอันเดอร์โฟลว์ Bfloat16 เก็บบิตเอ็กซ์โพเนนต์ 8 บิต (ตรงกับช่วงของ FP32) แต่มีบิต mantissa น้อยกว่า ดังนั้นจึงแทบไม่จำเป็นต้องมีการปรับขนาดการสูญเสีย — เหตุผลสำคัญ Google TPU และ GPU สมัยใหม่ชอบสิ่งนี้ Tensor Cores เร่งการทำงานโดยการคูณตัวถูกดำเนินการ 16 บิต แต่สะสมผลรวมบางส่วนใน FP32 โดยคงความแม่นยำไว้ ในกรณีที่ข้อผิดพลาดในการรวมอาจรวมกัน

การเรียนรู้การฝึกความแม่นยำแบบผสม

การฝึกความแม่นยำแบบผสมจะเร่งความเร็วการฝึกโครงข่ายประสาทเทียม และลดการใช้หน่วยความจำโดยการคำนวณทางคณิตศาสตร์ส่วนใหญ่ในจุดลอยตัว 16 บิตแทนที่จะเป็น 32 บิต ช่วยให้ GPU เดียวกันฝึกโมเดลที่ใหญ่กว่าได้เร็วขึ้นโดยแทบไม่สูญเสียความแม่นยำเลย Mixed Precision Training เป็นองค์ประกอบทางเทคนิคที่ส่งผลต่อคุณภาพของโมเดล ต้นทุนโครงสร้างพื้นฐาน เวลาแฝง และความน่าเชื่อถือในวงกว้าง เพื่อสร้างความเข้าใจอย่างลึกซึ้ง ให้ถือว่า Mixed Precision Training เป็นรูปแบบการปฏิบัติงาน ไม่ใช่คุณลักษณะเดียว: กำหนดผลลัพธ์ที่ต้องการ ชี้แจงสมมติฐาน และแยกสิ่งที่ระบบสามารถทำได้อย่างน่าเชื่อถือจากสิ่งที่ยังต้องใช้วิจารณญาณจากผู้เชี่ยวชาญ

ในทางปฏิบัติ ทีมที่แข็งแกร่งที่ใช้ Mixed Precision Training จะปรับสถาปัตยกรรม ข้อมูล และตัวเลือกโครงสร้างพื้นฐานให้เหมาะสมโดยเทียบกับความน่าเชื่อถือและต้นทุน โดยจะบันทึกเกณฑ์ความสำเร็จที่ชัดเจน ทดสอบกับข้อมูลและขั้นตอนการทำงานที่สมจริง และทำซ้ำตามรูปแบบความล้มเหลวที่สังเกตได้ แทนที่จะชนะการวัดประสิทธิภาพเพียงครั้งเดียว นี่คือจุดที่ความเข้าใจทางทฤษฎีกลายเป็นความสามารถที่คงทนของผลิตภัณฑ์ นโยบาย และการดำเนินงาน

การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี ในเวลาเดียวกัน การเพิ่มประสิทธิภาพเกณฑ์มาตรฐานหนึ่งรายการสามารถซ่อนจุดอ่อนของระบบในวงกว้างได้ แนวทางที่ยืดหยุ่นที่สุดคือการรวมความเร็วของการทดลองเข้ากับวินัยในการกำกับดูแล: ดำเนินการนำร่อง จับหลักฐาน เผยแพร่บันทึกการตัดสินใจ และอัปเดตการป้องกันอย่างต่อเนื่องเมื่อพฤติกรรมของโมเดล ความคาดหวังของผู้ใช้ และข้อกำหนดด้านกฎระเบียบมีการเปลี่ยนแปลง

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

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

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

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

การศึกษาด้านเทคนิคช่วยให้ทีมเลือกกลุ่มที่เหมาะสม ไม่ใช่แค่กลุ่มใหม่ล่าสุด ในการปรับใช้คุณภาพสูง สิ่งนี้จะถูกแปลเป็นกฎการปฏิบัติงานที่วัดผลได้ ขอบเขตความเป็นเจ้าของ และขั้นตอนการตรวจสอบที่เกิดซ้ำ เพื่อให้ทีมสามารถปรับขนาดความมั่นใจแทนที่จะปรับขนาดความคลุมเครือ

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

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

อนาคตของการฝึกอบรมแบบผสมความแม่นยำ

ความแม่นยำลดลงเรื่อยๆ การฝึกอบรม FP8 ซึ่งได้รับการสนับสนุนบน NVIDIA Hopper และ Blackwell GPU กำลังกลายเป็นมาตรฐานสำหรับโมเดลระดับแนวหน้า และการวิจัยเกี่ยวกับ FP4 และรูปแบบไมโครสเกล (MXFP) จะผลักดันต่อไป คาดหวังว่าเฟรมเวิร์กจะเลือกความแม่นยำต่อเลเยอร์โดยอัตโนมัติ ฮาร์ดแวร์เพื่อจัดการรูปแบบที่แคบลงกว่าเดิม และการฝึกอบรมที่คำนึงถึงปริมาณเพื่อลดเส้นแบ่งระหว่างการฝึกอบรมและการอนุมานที่มีความแม่นยำต่ำ ซึ่งจะช่วยลดต้นทุนของการฝึกอบรมแบบจำลองล้านล้านพารามิเตอร์

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

torch.cuda.amp.autocast ของ PyTorch ห่อลูปการฝึกอบรมเพื่อลดหน่วยความจำลงประมาณครึ่งหนึ่งและทรูพุตสองเท่าบน GPU ตัวเดียว

การฝึกอบรมโมเดลภาษาขนาดใหญ่ เช่น หม้อแปลงสไตล์ GPT ใน bfloat16 บน TPU เพื่อหลีกเลี่ยงการปรับลดการสูญเสียขนาด

ปรับขนาดแบตช์ที่ใหญ่ขึ้นบน RTX GPU สำหรับผู้บริโภคโดยเปลี่ยนการฝึกอิมเมจ ResNet จาก FP32 เป็น FP16

ความแม่นยำแบบผสม FP8 บน NVIDIA H100 GPU เพื่อลดต้นทุนในการฝึกโมเดลระดับแนวหน้าล่วงหน้า

รูปแบบการดำเนินงาน

การฝึกความแม่นยำแบบผสมในทางปฏิบัติ

torch.cuda.amp.autocast ของ PyTorch ล้อมลูปการฝึกฝนเพื่อลดหน่วยความจำลงประมาณครึ่งหนึ่งและทรูพุตสองเท่าบน GPU ตัวเดียว

torch.cuda.amp.autocast ของ PyTorch ล้อมลูปการฝึกอบรมเพื่อลดหน่วยความจำครึ่งหนึ่งโดยประมาณและทรูพุตสองเท่าใน GPU เดียว ทีมมักจะได้ผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับ Edge Case และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป

การฝึกความแม่นยำแบบผสมในทางปฏิบัติ

การฝึกอบรมโมเดลภาษาขนาดใหญ่ เช่น หม้อแปลงแบบ GPT ใน bfloat16 บน TPU เพื่อหลีกเลี่ยงการปรับลดการสูญเสียสเกล

การฝึกอบรมโมเดลภาษาขนาดใหญ่ เช่น หม้อแปลงแบบ GPT ใน bfloat16 บน TPU เพื่อหลีกเลี่ยงการปรับลดการสูญเสียขนาด ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป

การฝึกความแม่นยำแบบผสมในทางปฏิบัติ

ปรับขนาดแบตช์ที่ใหญ่ขึ้นบน RTX GPU สำหรับผู้บริโภคโดยเปลี่ยนการฝึกอิมเมจ ResNet จาก FP32 เป็น FP16

การปรับขนาดแบตช์ที่ใหญ่ขึ้นบน RTX GPU สำหรับผู้บริโภคโดยการเปลี่ยนการฝึกอิมเมจ ResNet จาก FP32 เป็น FP16 โดยปกติแล้วทีมจะได้รับผลลัพธ์ที่ดีกว่า เมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับ Edge Cases และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป

การฝึกความแม่นยำแบบผสมในทางปฏิบัติ

ความแม่นยำแบบผสม FP8 บน NVIDIA H100 GPU เพื่อลดต้นทุนในการฝึกโมเดลระดับแนวหน้าล่วงหน้า

ความแม่นยำแบบผสม FP8 บน GPU NVIDIA H100 เพื่อลดต้นทุนของการฝึกโมเดลระดับแนวหน้า ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป

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

!

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

!

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

!

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

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

1

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

กำหนดเป้าหมายเวลาแฝง คุณภาพ และต้นทุนก่อนนำไปใช้งาน ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น

2

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

เกณฑ์มาตรฐานภายใต้สภาวะโหลดและข้อมูลจริง ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น

3

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

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

4

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

เตรียมเส้นทางการย้อนกลับและการตอบสนองต่อเหตุการณ์ก่อนปรับขนาด ถือว่าแต่ละขั้นตอนเป็นเหมือนประตูหลักฐาน: หากไม่ตรงตามเกณฑ์ ให้หยุดการเปิดตัวชั่วคราว ปิดช่องว่าง จากนั้นจึงขยายการใช้งานเท่านั้น

สำรวจต่อไป