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

ข้อมูลแบบแบ่งส่วนอย่างสมบูรณ์

Fully Sharded Data Parallel (FSDP) เป็นเทคนิคการฝึกแบบกระจายที่แยกพารามิเตอร์ของโมเดล การไล่ระดับสี และสถานะเครื่องมือเพิ่มประสิทธิภาพออกเป็น GPU จำนวนมาก เพื่อให้แต่ละอุปกรณ์เก็บชิ้นส่วนไว้เท่านั้น

ภาพรวม

Fully Sharded Data Parallel (FSDP) เป็นเทคนิคการฝึกแบบกระจายที่แยกพารามิเตอร์ของโมเดล การไล่ระดับสี และสถานะเครื่องมือเพิ่มประสิทธิภาพออกเป็น GPU จำนวนมาก เพื่อให้แต่ละอุปกรณ์เก็บชิ้นส่วนไว้เท่านั้น ทำให้การฝึกโมเดลขนาดใหญ่เป็นไปได้บนฮาร์ดแวร์ที่ไม่สามารถใส่โมเดลทั้งหมดลงในหน่วยความจำของ GPU ตัวเดียวได้

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

เจาะลึก

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

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

FSDP แลกเปลี่ยนการสื่อสารเพิ่มเติมเพื่อการประหยัดหน่วยความจำ ตุ้มน้ำหนักของแต่ละชั้นได้รับการสร้างขึ้นใหม่ตามความต้องการ โดยรวบรวมทั้งหมดก่อนใช้งานและทิ้งทันที ในขณะที่การไล่ระดับสีจะถูกรวมเข้าด้วยกันและแบ่งโดยมีการลดการกระจาย การสื่อสารสามารถซ้อนทับกับการคำนวณได้โดยการดึงพารามิเตอร์ของเลเยอร์ถัดไปล่วงหน้าในขณะที่เลเยอร์ปัจจุบันทำงาน ซึ่งซ่อนเวลาแฝงของเครือข่ายไว้มาก การปรับแต่งรายละเอียดการแบ่งส่วน (นโยบายการห่อ) จะรักษาสมดุลของขนาดหน่วยความจำกับค่าใช้จ่ายในการสื่อสาร

การเรียนรู้ข้อมูลแบบขนานที่แชร์อย่างสมบูรณ์

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

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

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

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

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

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

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

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

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

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

อนาคตของข้อมูลแบบขนานที่แบ่งใช้อย่างสมบูรณ์

FSDP กำลังกลายเป็นค่าเริ่มต้นสำหรับการฝึกโมเดลขนาดใหญ่แบบเปิด โดยมี FSDP2 ใน PyTorch ปรับปรุงการใช้งานและการแบ่งส่วนตามพารามิเตอร์ คาดหวังการผสานรวมที่เข้มงวดยิ่งขึ้นกับเทนเซอร์และไปป์ไลน์แบบขนานสำหรับโมเดลล้านล้านพารามิเตอร์ การรองรับที่ดีกว่าสำหรับความแม่นยำแบบผสมและ fp8 และการห่ออัตโนมัติที่ชาญฉลาดยิ่งขึ้นซึ่งเลือกขอบเขตการแบ่งส่วนสำหรับคุณ เนื่องจากการเชื่อมต่อระหว่าง GPU ระหว่าง NVLink และ InfiniBand เร็วขึ้น ค่าใช้จ่ายในการสื่อสารของการแบ่งส่วนจะลดลงเรื่อยๆ ทำให้สามารถใช้งานได้จริงในขนาดที่ใหญ่ขึ้นเรื่อยๆ

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

การปรับแต่งโมเดล Llama พารามิเตอร์ 70 พันล้านพารามิเตอร์อย่างละเอียดใน GPU 8 ตัว ซึ่งแยกกันไม่สามารถรับน้ำหนักทั้งหมดได้

ฝึกฝนโมเดลภาษาขนาดใหญ่ล่วงหน้าที่ห้องปฏิบัติการ AI โดยการแบ่งสถานะเครื่องมือเพิ่มประสิทธิภาพ (ซึ่งครองหน่วยความจำร่วมกับ Adam) ใน Accelerator หลายร้อยตัว

นักวิจัยใช้เครื่องห่อ FSDP ของ PyTorch เพื่อฝึกเครื่องแปลงสัญญาณวิชั่นบนคลัสเตอร์ของมหาวิทยาลัยโดยไม่ต้องซื้อ GPU รุ่นเรือธงขนาด 80GB

การรวม FSDP เข้ากับ bfloat16 ที่มีความแม่นยำแบบผสมเพื่อลดหน่วยความจำลงครึ่งหนึ่งโดยประมาณ และเพิ่มความเร็วการประมวลผลการฝึกบนโมเดลหลายรูปแบบ

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

การแชร์ข้อมูลแบบขนานโดยสมบูรณ์ในทางปฏิบัติ

การปรับแต่งโมเดล Llama พารามิเตอร์ 70 พันล้านพารามิเตอร์อย่างละเอียดใน GPU 8 ตัว ซึ่งแยกกันไม่สามารถรับน้ำหนักทั้งหมดได้

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

การแชร์ข้อมูลแบบขนานโดยสมบูรณ์ในทางปฏิบัติ

ฝึกฝนโมเดลภาษาขนาดใหญ่ล่วงหน้าที่ห้องปฏิบัติการ AI โดยการแบ่งสถานะเครื่องมือเพิ่มประสิทธิภาพ (ซึ่งครองหน่วยความจำร่วมกับ Adam) ใน Accelerator หลายร้อยตัว

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

การแชร์ข้อมูลแบบขนานโดยสมบูรณ์ในทางปฏิบัติ

นักวิจัยใช้เครื่องห่อ FSDP ของ PyTorch เพื่อฝึกเครื่องแปลงสัญญาณวิชั่นบนคลัสเตอร์ของมหาวิทยาลัยโดยไม่ต้องซื้อ GPU รุ่นเรือธงขนาด 80GB

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

การแชร์ข้อมูลแบบขนานโดยสมบูรณ์ในทางปฏิบัติ

การรวม FSDP เข้ากับ bfloat16 ที่มีความแม่นยำแบบผสมเพื่อลดหน่วยความจำลงครึ่งหนึ่งโดยประมาณ และเพิ่มความเร็วการประมวลผลการฝึกบนโมเดลหลายรูปแบบ

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

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

!

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

!

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

!

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

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

1

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

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

2

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

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

3

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

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

4

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

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

สำรวจต่อไป