สถานะเครื่องมือเพิ่มประสิทธิภาพออฟโหลดไปยัง CPU และ NVMe
เคล็ดลับการประหยัดหน่วยความจำที่หยุดการบันทึกการฝึกจำนวนมาก (สถานะเครื่องมือเพิ่มประสิทธิภาพ การไล่ระดับสี บางครั้งน้ำหนัก) ใน CPU RAM หรือบน NVMe SSD แทนที่จะเป็นหน่วยความจำ GPU ที่หายาก
ภาพรวม
It lets people train far larger models than their GPU's memory would otherwise allow.
เจาะลึก
เมื่อคุณฝึกโครงข่ายประสาทเทียมด้วยเครื่องมือเพิ่มประสิทธิภาพอย่าง 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
ผลกระทบเชิงกลยุทธ์
ต้นทุนและงบประมาณ
การตัดสินใจด้านสถาปัตยกรรมขับเคลื่อนประสิทธิภาพและต้นทุนการดำเนินงานเป็นเวลาหลายปี
การตัดสินใจที่ชัดเจนยิ่งขึ้น
การศึกษาด้านเทคนิคช่วยให้ทีมเลือกกลุ่มที่เหมาะสม ไม่ใช่แค่กลุ่มใหม่ล่าสุด
การควบคุมคุณภาพ
ตัวเลือกทางวิศวกรรมที่ดีกว่าจะช่วยลดเหตุการณ์ด้านความน่าเชื่อถือในการผลิต
อนาคตของสถานะ 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
ความเสี่ยงและรั้ว
การเพิ่มประสิทธิภาพเกณฑ์มาตรฐานหนึ่งรายการสามารถซ่อนจุดอ่อนของระบบในวงกว้างได้
ต้นทุนโครงสร้างพื้นฐานและการบำรุงรักษามักถูกประเมินต่ำไป
ช่องว่างด้านความปลอดภัยและความสามารถในการสังเกตสามารถเพิ่มขึ้นได้เมื่อระบบมีความซับซ้อนมากขึ้น
แผนงานการดำเนินงาน
กำหนดเป้าหมายเวลาแฝง คุณภาพ และต้นทุนก่อนนำไปใช้งาน
เกณฑ์มาตรฐานภายใต้สภาวะโหลดและข้อมูลจริง
การตรวจสอบเครื่องมือเพื่อหาข้อผิดพลาด การเบี่ยงเบน และผลกระทบต่อผู้ใช้
เตรียมเส้นทางการย้อนกลับและการตอบสนองต่อเหตุการณ์ก่อนปรับขนาด
สำรวจต่อไป
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Optimizer State Offloading to CPU and NVMe quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
คำแนะนำต่อไป
อดัมและเครื่องมือเพิ่มประสิทธิภาพแบบอะแดปทีฟ
คำถามที่พบบ่อย
What is Optimizer State Offloading to CPU and NVMe?
เคล็ดลับการประหยัดหน่วยความจำที่หยุดการบันทึกการฝึกจำนวนมาก (สถานะเครื่องมือเพิ่มประสิทธิภาพ การไล่ระดับสี บางครั้งน้ำหนัก) ใน CPU RAM หรือบน NVMe SSD แทนที่จะเป็นหน่วยความจำ GPU ที่หายาก ช่วยให้ผู้คนสามารถฝึกโมเดลที่มีขนาดใหญ่กว่าที่หน่วยความจำของ GPU จะทำได้
เป้าหมายหลักของการลดการโหลดสถานะเครื่องมือเพิ่มประสิทธิภาพไปยัง CPU หรือ NVMe คืออะไร
การออฟโหลดจะย้ายสถานะเครื่องมือเพิ่มประสิทธิภาพจำนวนมากออกจาก GPU ไปยัง CPU RAM หรือ NVMe ทำให้หน่วยความจำ GPU ว่าง เพื่อให้สามารถฝึกฝนโมเดลขนาดใหญ่บนฮาร์ดแวร์เดียวกันได้
สำหรับ Adam Optimizer ที่มีความแม่นยำแบบผสม โดยทั่วไปข้อมูลใดใช้หน่วยความจำมากที่สุดต่อพารามิเตอร์
Adam เก็บโมเมนตัม ความแปรปรวน และน้ำหนักหลักที่มีความแม่นยำเต็มรูปแบบ รวมประมาณ 16 ไบต์ต่อพารามิเตอร์ ซึ่งมากกว่าน้ำหนักแบบ Half-Precision ขนาด 2 ไบต์อย่างมาก
เฟรมเวิร์กใดมีฟีเจอร์การออฟโหลดเครื่องมือเพิ่มประสิทธิภาพขนาดใหญ่ที่ได้รับความนิยม
ZeRO-Offload และ ZeRO-Infinity ของ DeepSpeed เปิดตัวและเผยแพร่สถานะตัวเพิ่มประสิทธิภาพการถ่ายข้อมูลไปยัง CPU และ NVMe ในระดับต่างๆ
ต้นทุนประสิทธิภาพหลักในการลดการโหลดไปยัง CPU หรือ NVMe คืออะไร
การย้ายสถานะนอก GPU หมายถึงการถ่ายโอนข้อมูลผ่าน PCIe หรือไปยัง NVMe ซึ่งช้ากว่าหน่วยความจำบน GPU ดังนั้นปริมาณงานจะลดลง เว้นแต่จะซ้อนทับกับการประมวลผล
ระบบออฟโหลดจะซ่อนเวลาแฝงในการถ่ายโอนไว้มากได้อย่างไร
ตัวกำหนดเวลาดึงพาร์ติชันที่จำเป็นล่วงหน้าผ่าน PCIe ในขณะที่ GPU ยังคงประมวลผลอยู่ ซึ่งเป็นการสื่อสารที่ทับซ้อนกันกับการคำนวณเพื่อปกปิดเวลาแฝง