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

การสื่อสารโดยรวมและ NCCL

การสื่อสารแบบกลุ่มคือวิธีที่กลุ่ม GPU แลกเปลี่ยนและรวมข้อมูล และ NCCL คือไลบรารีของ NVIDIA ที่ทำให้การแลกเปลี่ยนเหล่านั้นรวดเร็วอย่างเห็นได้ชัด

ภาพรวม

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

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

เจาะลึก

การฝึกโมเดลขนาดใหญ่หมายความว่า GPU แต่ละตัวจะคำนวณการไล่ระดับสีบนส่วนของข้อมูลของตัวเอง จากนั้น GPU ทั้งหมดจะต้องตกลงกับผลลัพธ์ที่รวมกันก่อนถึงขั้นตอนถัดไป การประสานงานดังกล่าวเสร็จสิ้นด้วยการดำเนินการร่วมกัน: ลดค่าผลรวมใน GPU ทั้งหมดและให้ผลลัพธ์แก่ทุกคน all-gather รวบรวมชิ้นส่วนของ GPU แต่ละตัวเป็นสำเนาเต็มของชิ้นส่วนทั้งหมด การออกอากาศจะส่งข้อมูลของ GPU ตัวหนึ่งไปยังส่วนที่เหลือ ลดการกระจายรวมแล้วแยก NCCL (NVIDIA Collective Communications Library) ปรับใช้สิ่งเหล่านี้อย่างมีประสิทธิภาพกับ GPU ในเซิร์ฟเวอร์และข้ามเซิร์ฟเวอร์ โดยใช้อัลกอริธึมที่รับรู้โทโพโลยี เช่น ริงและทรีลดทั้งหมด โดยใช้ประโยชน์จาก NVLink ภายในโหนดและ InfiniBand หรือ RoCE ระหว่างโหนด และเป็นแกนหลักการสื่อสารภายใต้ PyTorch DDP, FSDP, DeepSpeed ​​และ Megatron

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

Ring all-reduce เป็นอัลกอริธึมแบบคลาสสิก: GPU จะสร้างวงแหวนแบบลอจิคัล และข้อมูลจะถูกแบ่งออกเป็นส่วนที่หมุนเวียนเพื่อให้แต่ละขั้นตอนซ้อนทับการสื่อสาร ทำให้แบนด์วิดท์การถ่ายโอนทั้งหมดมีความเหมาะสมที่สุด และเป็นอิสระโดยประมาณจากจำนวน GPU สำหรับโหนดจำนวนมาก อัลกอริธึมแบบทรีจะลดเวลาแฝงโดยการรวมผลลัพธ์ตามลำดับชั้น NCCL ตรวจจับโทโพโลยีอัตโนมัติ เลือกอัลกอริธึมที่ดีที่สุด และสามารถถ่ายโอนการคำนวณการลดลงในเครือข่ายด้วย NVIDIA SHARP ซึ่งช่วยลดข้อมูลที่ต้องข้ามลิงก์ลงครึ่งหนึ่ง

การเรียนรู้การสื่อสารแบบกลุ่มและ NCCL

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

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

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

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

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

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

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

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

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

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

อนาคตของการสื่อสารโดยรวมและ NCCL

เมื่อคลัสเตอร์ขยายขนาดเป็น GPU นับแสน การสื่อสารจึงมีอิทธิพลเหนือเวลาการฝึกอบรมมากขึ้น ดังนั้นไลบรารีรวมจึงเป็นเขตแดนที่ร้อนแรง คาดหวังการประมวลผลในเครือข่ายที่ลึกยิ่งขึ้น (สวิตช์ทำการลดลง) การทับซ้อนกันที่ดีขึ้นของการประมวลผลและการสื่อสารเพื่อซ่อนเวลาแฝง และกลุ่มที่มีความแม่นยำต่ำลงซึ่งจะย่อขนาดไบต์ที่ย้าย การแข่งขันก็เพิ่มสูงขึ้นเช่นกัน ด้วยความพยายามของผู้จำหน่ายข้ามรายและ RDMA บนอีเธอร์เน็ตที่ผลักดันทางเลือกอื่น ในขณะที่ NCCL ยังคงกระชับการบูรณาการกับ NVLink, NVSwitch และออปติกแฟบริคที่เกิดขึ้นใหม่

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

การซิงโครไนซ์การไล่ระดับสีทุกขั้นตอนการฝึกกับ GPU ทั้งหมดโดยใช้การลดทั้งหมดใน PyTorch DistributedDataParallel

สถานะเครื่องมือเพิ่มประสิทธิภาพการแบ่งส่วนและการรวบรวมพารามิเตอร์ตามความต้องการด้วยการรวบรวมทั้งหมดและลดการกระจายใน FSDP หรือ DeepSpeed ZeRO

การถ่ายทอดน้ำหนักของโมเดลเริ่มต้นจาก GPU ตัวหนึ่งไปยังตัวอื่นๆ ทั้งหมดเมื่อเริ่มต้นการฝึกซ้อม

การใช้การลดวงแหวนทั้งหมดผ่าน NVLink และ InfiniBand เพื่อรักษาแบนด์วิธให้สูงในคลัสเตอร์ GPU แบบหลายโหนด

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

การสื่อสารโดยรวมและ NCCL ในทางปฏิบัติ

การซิงโครไนซ์การไล่ระดับสีทุกขั้นตอนการฝึกกับ GPU ทั้งหมดโดยใช้การลดทั้งหมดใน PyTorch DistributedDataParallel

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

การสื่อสารโดยรวมและ NCCL ในทางปฏิบัติ

สถานะเครื่องมือเพิ่มประสิทธิภาพการแบ่งส่วนและรวบรวมพารามิเตอร์ตามความต้องการด้วยการรวบรวมทั้งหมดและลดการกระจายใน FSDP หรือ DeepSpeed ZeRO

การระบุสถานะเครื่องมือเพิ่มประสิทธิภาพการแบ่งส่วนและการรวบรวมพารามิเตอร์ตามความต้องการด้วยการรวบรวมทั้งหมดและลดการกระจายในทีม FSDP หรือ DeepSpeed ​​ZeRO มักจะได้รับผลลัพธ์ที่ดีกว่า เมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป

การสื่อสารโดยรวมและ NCCL ในทางปฏิบัติ

การถ่ายทอดน้ำหนักของโมเดลเริ่มต้นจาก GPU ตัวหนึ่งไปยังตัวอื่นๆ ทั้งหมดเมื่อเริ่มต้นการฝึกซ้อม

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

การสื่อสารโดยรวมและ NCCL ในทางปฏิบัติ

การใช้การลดวงแหวนทั้งหมดผ่าน NVLink และ InfiniBand เพื่อรักษาแบนด์วิธให้สูงในคลัสเตอร์ GPU แบบหลายโหนด

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

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

!

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

!

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

!

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

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

1

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

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

2

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

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

3

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

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

4

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

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

สำรวจต่อไป