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

ความเท่าเทียมของข้อมูล

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

ภาพรวม

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

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

เจาะลึก

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

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

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

การเรียนรู้ความเท่าเทียมของข้อมูล

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

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

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

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

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

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

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

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

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

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

อนาคตของความเท่าเทียมของข้อมูล

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

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

การฝึกอบรมตัวแยกประเภทรูปภาพ ResNet ใน GPU 8 ตัวในเซิร์ฟเวอร์เดียวโดยใช้ PyTorch DistributedDataParallel โดย GPU แต่ละตัวจะจัดการ 32 ชุดจาก 256 อิมเมจ

ปรับขนาด BERT ฝึกอบรมล่วงหน้ากับ GPU หลายร้อยตัวด้วย Horovod โดยใช้วงแหวนลดขนาดทั้งหมดเพื่อซิงโครไนซ์การไล่ระดับสีในแต่ละขั้นตอน

การปรับแต่งโมเดลการแนะนำอย่างละเอียดบนคลัสเตอร์หลายโหนด โดยแต่ละโหนดจะประมวลผลชาร์ดการโต้ตอบของผู้ใช้ที่แตกต่างกัน

การใช้ MirroredStrategy ของ TensorFlow เพื่อกระจายการฝึกโมเดลการมองเห็นไปยัง GPU หลายตัวบนเวิร์กสเตชันเดียวโดยมีการเปลี่ยนแปลงโค้ดเพียงเล็กน้อย

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

ความเท่าเทียมของข้อมูลในทางปฏิบัติ

การฝึกอบรมตัวแยกประเภทรูปภาพ ResNet ใน GPU 8 ตัวในเซิร์ฟเวอร์เดียวโดยใช้ PyTorch DistributedDataParallel โดย GPU แต่ละตัวจะจัดการ 32 ชุดจาก 256 อิมเมจ

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

ความเท่าเทียมของข้อมูลในทางปฏิบัติ

ปรับขนาด BERT ฝึกอบรมล่วงหน้ากับ GPU หลายร้อยตัวด้วย Horovod โดยใช้วงแหวนลดขนาดทั้งหมดเพื่อซิงโครไนซ์การไล่ระดับสีในแต่ละขั้นตอน

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

ความเท่าเทียมของข้อมูลในทางปฏิบัติ

การปรับแต่งโมเดลการแนะนำอย่างละเอียดบนคลัสเตอร์หลายโหนด โดยแต่ละโหนดจะประมวลผลชาร์ดการโต้ตอบของผู้ใช้ที่แตกต่างกัน

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

ความเท่าเทียมของข้อมูลในทางปฏิบัติ

การใช้ MirroredStrategy ของ TensorFlow เพื่อกระจายการฝึกโมเดลการมองเห็นไปยัง GPU หลายตัวบนเวิร์กสเตชันเดียวโดยมีการเปลี่ยนแปลงโค้ดเพียงเล็กน้อย

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

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

!

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

!

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

!

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

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

1

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

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

2

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

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

3

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

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

4

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

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

สำรวจต่อไป