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

สถานะเครื่องมือเพิ่มประสิทธิภาพออฟโหลดไปยัง CPU และ NVMe

เคล็ดลับการประหยัดหน่วยความจำที่หยุดการบันทึกการฝึกจำนวนมาก (สถานะเครื่องมือเพิ่มประสิทธิภาพ การไล่ระดับสี บางครั้งน้ำหนัก) ใน CPU RAM หรือบน NVMe SSD แทนที่จะเป็นหน่วยความจำ GPU ที่หายาก

ภาพรวม

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

สถานะตัวเพิ่มประสิทธิภาพการถ่ายข้อมูลไปยัง CPU และ NVMe เป็นองค์ประกอบทางเทคนิคที่ส่งผลต่อคุณภาพของโมเดล ต้นทุนโครงสร้างพื้นฐาน เวลาแฝง และความน่าเชื่อถือในระดับต่างๆ

เจาะลึก

เมื่อคุณฝึกโครงข่ายประสาทเทียมด้วยเครื่องมือเพิ่มประสิทธิภาพอย่าง Adam ทุกพารามิเตอร์จะแบกภาระเพิ่มเติม: สถิติการวิ่งสองรายการ (โมเมนตัมและความแปรปรวน) พร้อมสำเนาน้ำหนักที่มีความแม่นยำครบถ้วน บวกกับการไล่ระดับสี ในการฝึกอบรมแบบผสมความแม่นยำ สามารถรวมได้ประมาณ 16 ไบต์ต่อพารามิเตอร์ ซึ่งเล็กลง 2 ไบต์สำหรับน้ำหนักนั้นเอง การขนถ่ายจะย้ายสัมภาระนั้นออกจาก GPU CPU ออฟโหลดสตรีมสถานะเครื่องมือเพิ่มประสิทธิภาพลงใน RAM ของระบบธรรมดาผ่านบัส PCIe ในขณะที่ออฟโหลด NVMe จะผลักสถานะเหล่านั้นลงไปจนถึงดิสก์โซลิดสเตตที่รวดเร็ว เทคนิคนี้ได้รับความนิยมจาก ZeRO-Infinity และ ZeRO-Offload ของ DeepSpeed ​​โดยแลกความเร็วดิบกับความจุ โดยปล่อยให้ GPU ตัวเดียวหรือคลัสเตอร์ขนาดเล็กปรับแต่งโมเดลด้วยพารามิเตอร์นับพันล้านรายการ

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

สิ่งสำคัญคือการทับซ้อนการเคลื่อนไหวของข้อมูลกับการคำนวณ สถานะเครื่องมือเพิ่มประสิทธิภาพอยู่ใน CPU/NVMe; ในระหว่างการส่งผ่านแบบย้อนกลับ พาร์ติชันจะถูกดึงข้อมูลล่วงหน้าผ่าน PCIe ก่อนที่จำเป็น และขั้นตอนของเครื่องมือเพิ่มประสิทธิภาพมักจะทำงานบน CPU ZeRO-Offload จะเก็บน้ำหนักหลัก float32 และช่วงเวลาของ Adam ไว้บน CPU ดังนั้นเฉพาะการคำนวณแบบเดินหน้าและถอยหลังเท่านั้นที่จะอยู่บน GPU NVMe เพิ่มแคชแบบแบ่งชั้นเพื่อให้สถานะระดับเทราไบต์ล้นไปยังดิสก์ในขณะที่พาร์ติชั่นร้อนยังคงอยู่ใน RAM

Mastering Optimizer สถานะการถ่ายข้อมูลไปยัง CPU และ NVMe

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

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

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

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

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

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

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

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

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

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

อนาคตของสถานะ Optimizer ที่ถ่ายโอนไปยัง CPU และ NVMe

เนื่องจากโมเดลต่างๆ มีหน่วยความจำ GPU เพิ่มมากขึ้น การถ่ายแบบแบ่งระดับจึงกลายเป็นมาตรฐานมากกว่าแปลกใหม่ คาดหวังการผสานรวมที่แน่นแฟ้นยิ่งขึ้นด้วยการเชื่อมต่อระหว่างกันที่เร็วขึ้น เช่น พูลหน่วยความจำ NVLink-C2C และ CXL ที่ทำให้ขอบเขต CPU-GPU พร่ามัว พร้อมตัวกำหนดเวลาที่ชาญฉลาดยิ่งขึ้นที่คาดการณ์ว่าสถานะใดที่จะดึงข้อมูลล่วงหน้า สถาปัตยกรรมหน่วยความจำแบบรวม เช่น Grace Hopper ช่วยลดโทษของ PCIe และเฟรมเวิร์กกำลังผลักดันให้ออฟโหลดหลายชั้นเกือบโปร่งใส เพื่อให้มือสมัครเล่นสามารถปรับแต่งโมเดลขนาดใหญ่บนฮาร์ดแวร์ขนาดเล็กได้

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

ปรับแต่ง LLM พารามิเตอร์ 13 พันล้านบน GPU ผู้บริโภคขนาด 24 GB ตัวเดียวโดยใช้ DeepSpeed ​​ZeRO-Offload เพื่อผลักสถานะ Adam ไปที่ CPU RAM

ห้องปฏิบัติการวิจัยขนาดเล็กกำลังฝึกอบรมโมเดลหลายพันล้านพารามิเตอร์บน GPU บางตัวโดยการกระจายสถานะเครื่องมือเพิ่มประสิทธิภาพไปยังไดรฟ์ NVMe ด้วย ZeRO-Infinity

Hugging Face Accelerate การกำหนดค่าที่เปิดใช้งานการถ่ายข้อมูล CPU เพื่อให้ผู้ใช้สามารถเรียกใช้งานการปรับแต่งเต็มรูปแบบซึ่งอาจทำให้เกิดข้อผิดพลาดหน่วยความจำไม่เพียงพอ

บริษัทสตาร์ทอัพที่คำนึงถึงต้นทุนโดยเช่า GPU บนคลาวด์ที่มีหน่วยความจำต่ำกว่าและราคาถูกกว่า และถ่ายโอนข้อมูลไปยัง NVMe ที่แนบ แทนที่จะจ่ายเงินสำหรับการ์ดระดับบนสุด 80 GB

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

สถานะเครื่องมือเพิ่มประสิทธิภาพการถ่ายข้อมูลไปยัง CPU และ NVMe ในทางปฏิบัติ

ปรับแต่ง LLM พารามิเตอร์ 13 พันล้านบน GPU ผู้บริโภคขนาด 24 GB ตัวเดียวโดยใช้ DeepSpeed ​​ZeRO-Offload เพื่อผลักสถานะ Adam ไปที่ CPU RAM

การปรับแต่ง LLM พารามิเตอร์ 13 พันล้านอย่างละเอียดบน GPU สำหรับผู้บริโภคขนาด 24 GB เดี่ยวโดยใช้ DeepSpeed ​​ZeRO-Offload เพื่อผลักดันให้ Adam เข้าสู่ CPU RAM ทีมมักจะได้รับผลลัพธ์ที่ดีกว่าเมื่อพวกเขากำหนดเกณฑ์คุณภาพล่วงหน้า รักษาเส้นทางการยกระดับโดยมนุษย์สำหรับกรณี Edge และติดตามทั้งประสิทธิภาพการทำงานที่เพิ่มขึ้นและต้นทุนข้อผิดพลาดเมื่อเวลาผ่านไป

สถานะเครื่องมือเพิ่มประสิทธิภาพการถ่ายข้อมูลไปยัง CPU และ NVMe ในทางปฏิบัติ

ห้องปฏิบัติการวิจัยขนาดเล็กกำลังฝึกอบรมโมเดลหลายพันล้านพารามิเตอร์บน GPU บางตัวโดยการกระจายสถานะเครื่องมือเพิ่มประสิทธิภาพไปยังไดรฟ์ NVMe ด้วย ZeRO-Infinity

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

สถานะเครื่องมือเพิ่มประสิทธิภาพการถ่ายข้อมูลไปยัง CPU และ NVMe ในทางปฏิบัติ

Hugging Face Accelerate การกำหนดค่าที่เปิดใช้งานการถ่ายข้อมูล CPU เพื่อให้ผู้ใช้สามารถเรียกใช้งานการปรับแต่งเต็มรูปแบบซึ่งอาจทำให้เกิดข้อผิดพลาดหน่วยความจำไม่เพียงพอ

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

สถานะเครื่องมือเพิ่มประสิทธิภาพการถ่ายข้อมูลไปยัง CPU และ NVMe ในทางปฏิบัติ

บริษัทสตาร์ทอัพที่คำนึงถึงต้นทุนโดยเช่า GPU บนคลาวด์ที่มีหน่วยความจำต่ำกว่าและราคาถูกกว่า และถ่ายโอนข้อมูลไปยัง NVMe ที่แนบ แทนที่จะจ่ายเงินสำหรับการ์ดระดับบนสุด 80 GB

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

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

!

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

!

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

!

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

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

1

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

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

2

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

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

3

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

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

4

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

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

สำรวจต่อไป