Build your ultimate AI agent
รายละเอียดคอร์ส
การฝึกแบบกระจายเป็นทักษะสำคัญในการเรียนรู้ของเครื่องขนาดใหญ่ ช่วยให้คุณลดเวลาที่ต้องใช้ในการฝึกโมเดลภาษาขนาดใหญ่ที่มีพารามิเตอร์นับล้านล้านตัว ในหลักสูตรนี้ คุณจะได้สำรวจเครื่องมือ เทคนิค และกลยุทธ์ที่จำเป็นสำหรับการฝึกแบบกระจายอย่างมีประสิทธิภาพโดยใช้ PyTorch, Accelerator และ Trainer
การเตรียมข้อมูลสำหรับการฝึกแบบกระจาย
คุณจะเริ่มต้นด้วยการเตรียมข้อมูลสำหรับการฝึกแบบกระจาย โดยแบ่งชุดข้อมูลออกไปยังอุปกรณ์หลายเครื่องและปรับใช้สำเนาโมเดลไปยังแต่ละอุปกรณ์ คุณจะได้รับประสบการณ์จริงในการเตรียมข้อมูลล่วงหน้าสำหรับสภาพแวดล้อมแบบกระจาย รวมถึงรูปภาพ เสียง และข้อความการสำรวจเทคนิคเพื่อเพิ่มประสิทธิภาพ
เมื่อข้อมูลของคุณพร้อมแล้ว คุณจะได้สำรวจวิธีปรับปรุงประสิทธิภาพในการฝึกโมเดลและการใช้งานตัวปรับแต่งให้ดีขึ้นผ่านหลายอินเทอร์เฟซ คุณจะได้เห็นวิธีรับมือกับความท้าทายเหล่านี้ด้วยการปรับปรุงการใช้หน่วยความจำ การสื่อสารระหว่างอุปกรณ์ และประสิทธิภาพการคำนวณ ด้วยเทคนิคต่างๆ เช่น gradient accumulation, gradient checkpointing, local stochastic gradient descent และ mixed precision training คุณจะเข้าใจข้อแลกเปลี่ยนระหว่างตัวปรับแต่งต่างๆ เพื่อช่วยให้คุณลดการใช้หน่วยความจำของโมเดลได้เมื่อจบหลักสูตรนี้ คุณจะมีความรู้และเครื่องมือที่จำเป็นในการสร้างบริการแบบกระจายที่ขับเคลื่อนด้วย AIข้อกำหนดเบื้องต้น
หลักสูตร
โครงสร้างคอร์ส
1
การเตรียมข้อมูลด้วย Accelerator
จะได้เรียนรู้การเตรียมข้อมูลสำหรับ distributed training โดยการแบ่งข้อมูลไปยังหลายอุปกรณ์และคัดลอกโมเดลไปไว้บนแต่ละอุปกรณ์ Accelerator มีอินเทอร์เฟซที่ใช้งานสะดวกสำหรับการเตรียมข้อมูล และจะได้เรียนรู้การ preprocess ภาพ เสียง และข้อความ ในฐานะขั้นตอนแรกของ distributed training
- เตรียมโมเดลด้วย AutoModel และ Accelerator50 XP
- การโหลดและตรวจสอบโมเดลที่ผ่านการ pre-trained100 XP
- การจัดวางอุปกรณ์อัตโนมัติด้วย Accelerator100 XP
- เตรียมข้อมูลภาพและเสียงสำหรับการเทรน50 XP
- การเตรียมชุดข้อมูลรูปภาพ100 XP
- การ Preprocess ชุดข้อมูลเสียง100 XP
- เตรียมชุดข้อมูลสำหรับการฝึกแบบกระจาย100 XP
- การเตรียมข้อความสำหรับการฝึกโมเดล50 XP
- ประมวลผลข้อความล่วงหน้าด้วย AutoTokenizer100 XP
- บันทึกและโหลดสถานะของข้อความที่ผ่านการประมวลผลล่วงหน้า100 XP
2
Distributed Training ด้วย Accelerator และ Trainer
ใน distributed training แต่ละอุปกรณ์จะเทรนบนข้อมูลของตัวเองแบบขนาน จะได้สำรวจ 2 วิธีสำหรับ distributed training ได้แก่ Accelerator ที่รองรับ training loop แบบกำหนดเองได้ และ Trainer ที่ทำให้ขั้นตอนการเทรนง่ายขึ้น
3
การเพิ่มประสิทธิภาพการเทรน
Distributed training ต้องใช้ทรัพยากรสูงเมื่อทำงานกับโมเดลและชุดข้อมูลขนาดใหญ่ แต่สามารถรับมือกับความท้าทายเหล่านี้ได้ด้วยการปรับปรุงการใช้หน่วยความจำ การสื่อสารระหว่างอุปกรณ์ และประสิทธิภาพการคำนวณ จะได้เรียนรู้เทคนิค gradient accumulation, gradient checkpointing, local stochastic gradient descent, และ mixed precision training
4
การเทรนด้วย Optimizer ที่มีประสิทธิภาพ
จะได้เจาะลึก optimizer ในฐานะเครื่องมือสำคัญสำหรับเพิ่มประสิทธิภาพ distributed training พร้อมวิเคราะห์ข้อดีข้อเสียระหว่าง AdamW, Adafactor, และ 8-bit Adam นอกจากนี้ยังได้เรียนรู้ว่าการลดจำนวน parameter หรือการใช้ความแม่นยำต่ำช่วยลด memory footprint ของโมเดลได้อย่างไร
การเทรน AI Model อย่างมีประสิทธิภาพด้วย PyTorch
เรียนจบแล้ว

