เทคนิค Nonuniform Tensor Parallelism (NTP) เพิ่มประสิทธิภาพการเทรน LLM ขนาดใหญ่
การเทรนโมเดลภาษาขนาดใหญ่ (LLM) ในระดับมหาศาลนั้นมาพร้อมกับความท้าทายด้านโครงสร้างพื้นฐานที่ไม่เหมือนใคร โดยเฉพาะอย่างยิ่งเมื่อต้องใช้งาน GPU จำนวนหลายพันตัวและใช้เวลานาน ยิ่งการเทรนใช้เวลานานเท่าไหร่ โอกาสที่จะเจอเหตุการณ์ขัดข้องที่ไม่คาดฝันหรือความผันผวนของทรัพยากรก็ยิ่งสูงขึ้นเท่านั้น แม้แต่การที่อุปกรณ์บางส่วนไม่พร้อมใช้งานเพียงไม่บ่อยครั้ง ก็สามารถส่งผลกระทบอย่างมากต่อคลัสเตอร์ที่เชื่อมต่อกันอย่างแน่นหนา ทำให้เกิดการชะลอตัวในการเทรนได้
ในบริบทของการเทรน AI นั้น Goodput คือตัวชี้วัดที่สำคัญ ซึ่งหมายถึงปริมาณงานที่มีประโยชน์ซึ่งช่วยให้โมเดลบรรลุเป้าหมายการเรียนรู้ (Convergence) ได้สำเร็จ ไม่ใช่เพียงแค่ปริมาณงานดิบที่ฮาร์ดแวร์ประมวลผลได้
ความท้าทายในการเทรน LLM ขนาดใหญ่
การเทรนโมเดล AI เป็นกระบวนการแบบขนานที่ต้องอาศัย GPU จำนวนมาก เทคนิคที่นิยมใช้คือ Tensor Parallelism (TP) ซึ่งเป็นการแบ่งเลเยอร์ของโครงข่ายประสาทเทียมออกเป็นส่วนๆ แล้วกระจายไปยังกลุ่ม GPU ที่เชื่อมต่อกันอย่างใกล้ชิด จำนวน GPU ในกลุ่มนี้จะเท่ากับขนาดของ "scale-up domain" ซึ่งเชื่อมต่อกันด้วยอินเทอร์คอนเนคต์ความเร็วสูง เช่น NVIDIA NVLink
โดยทั่วไป การเทรน LLM ระดับแนวหน้าจะกระจายไปทั่วคลัสเตอร์ของแร็ค (Rack) โดยแต่ละแร็คจะมีเซิร์ฟเวอร์หลายเครื่อง โดยหนึ่งแร็คที่ประกอบด้วยเซิร์ฟเวอร์หลายเครื่อง จะทำหน้าที่เป็น scale-up domain และเป็นกลุ่ม TP หนึ่งกลุ่ม จากนั้น Data Parallelism (DP) จะทำการจำลองโมเดลไปยัง scale-up domain หลายๆ กลุ่ม โดยแต่ละกลุ่มจะประมวลผลชุดข้อมูลที่แตกต่างกัน การเปลี่ยนแปลงสถานะของ GPU ภายใน scale-up domain หนึ่งๆ สามารถส่งผลกระทบต่อประสิทธิภาพของกลุ่ม TP นั้นๆ ได้ เนื่องจาก GPU ในกลุ่ม TP เดียวกันมีการคำนวณที่ต้องพึ่งพากันอย่างใกล้ชิด ปัญหาที่เกิดขึ้นกับอุปกรณ์หนึ่ง อาจทำให้ประสิทธิภาพการเทรนลดลง หรือต้องมีการปรับสมดุลเวิร์กโหลดชั่วคราวเพื่อรักษาความคืบหน้า
เมื่อสถาปัตยกรรมศูนย์ข้อมูลมีการพัฒนาเพื่อรองรับ scale-up domain ที่ใหญ่ขึ้นเรื่อยๆ ตั้งแต่ 8 ไปจนถึง 72 GPU และมากกว่านั้น การเพิ่มเวลาที่อุปกรณ์ที่ยังทำงานได้ปกติให้เกิดประโยชน์สูงสุด คือกุญแจสำคัญในการบรรลุ Goodput ที่สูง
เทคนิค Nonuniform Tensor Parallelism (NTP) ช่วยได้อย่างไร
NTP เป็นกรอบงานทดลองที่เสนอแนวทางใหม่เพื่อรักษา Goodput ให้สูงอยู่เสมอ โดยป้องกันไม่ให้ปัญหาชั่วคราวของอุปกรณ์หยุดการเทรนขนาดใหญ่ที่เชื่อมต่อกันอย่างซับซ้อน ด้วยการปรับระดับ Tensor Parallelism แบบไดนามิกและจัดการการกระจายข้อมูล (Resharding) อย่างชาญฉลาด NTP ช่วยลดเวลาที่สูญเสียไปและความพยายามในการคำนวณ
💡 การปรับระดับ TP แบบไดนามิก
เมื่อ GPU ใน scale-up domain เกิดขัดข้อง ระบบจะระบุกลุ่มที่ได้รับผลกระทบและกำหนดค่า Tensor Parallelism ใหม่โดยอัตโนมัติ เพื่อใช้ GPU ที่ยังทำงานได้อยู่เท่านั้น ตัวอย่างเช่น หากกลุ่ม TP ที่มี 8 GPU เกิดปัญหาขึ้นหนึ่งตัว ระบบสามารถปรับเปลี่ยนไปใช้ TP degree เป็น 7 ได้ โมเดลส่วนนั้นจะยังคงคำนวณต่อไป ทำให้ไม่สูญเสียการทำงานทั้งหมดไปอย่างสิ้นเชิง GPU ที่เหลือในกลุ่มจะรับภาระงานเพิ่มขึ้น ทำให้งานเทรนสามารถรักษา Goodput และความพร้อมใช้งานสูงไว้ได้ แม้ว่าบางส่วนของทรัพยากรจะมีปัญหา
💡 การเพิ่มพลังเพื่อชดเชยประสิทธิภาพ
การลด TP degree เพียงอย่างเดียวอาจไม่เพียงพอที่จะรักษา Throughput โดยรวมได้ DP replica ที่มี GPU น้อยลงจะทำงานช้าลงโดยธรรมชาติ ซึ่งจะทำให้ทั้งระบบ DP ต้องหยุดรอ replica ที่ช้าที่สุด เพื่อแก้ไขปัญหานี้ งานวิจัยได้เสนอการออกแบบแร็คที่ปรับปรุงความสามารถด้านไฟฟ้าและระบายความร้อน ซึ่งช่วยให้สามารถ เพิ่มพลัง (Power Boosting) ให้กับ scale-up domain ที่มีทรัพยากรลดลงได้ ด้วยการเพิ่มพลังงานให้กับ GPU ที่ทำงานอยู่ของโดเมนที่ได้รับผลกระทบ ความถี่สัญญาณนาฬิกา (Clock Frequency) และ Throughput การคำนวณจะเพิ่มขึ้นชั่วคราว
สิ่งนี้ช่วยให้ DP replica ที่มี TP degree ลดลง สามารถตามทันและทำงานได้เร็วพอที่จะไม่ทำให้เกิดคอขวดในการซิงโครไนซ์ทั่วทั้งระบบ และทำให้ Goodput ของคลัสเตอร์ยังคงได้รับการปรับให้เหมาะสมที่สุด แม้จะมีความผันผวนของฮาร์ดแวร์เฉพาะที่
💡 การ Resharding ที่มีประสิทธิภาพ
การปรับระดับ TP แบบไดนามิกจำเป็นต้องมีกลไกที่มีประสิทธิภาพในการกระจาย Tensor Shards ของโมเดลใหม่ระหว่าง GPU ที่เหลือ NTP ใช้เทคนิคการ Resharding ที่ชาญฉลาด โดย ซ้อนทับ (Overlapped) กับขั้นตอนการคำนวณอื่นๆ
ด้วยการดำเนินการ Resharding ในระหว่างการคำนวณย้อนกลับ (Backward Computation) และการซิงโครไนซ์พารามิเตอร์ (Parameter Synchronization) ทำให้เกิด Overhead ที่เพิ่มขึ้นต่อ healthy replica น้อยมาก โดยทั่วไปน้อยกว่า 1% การจัดตารางเวลาที่รอบคอบนี้ช่วยเพิ่มประสิทธิภาพการคำนวณสูงสุด รักษา Goodput ที่เหมาะสมได้อย่างราบรื่น โดยที่กลไกการปรับตัวเองไม่กลายเป็นคอขวดด้านประสิทธิภาพ
NTP สร้างเส้นทางที่ยืดหยุ่นสู่การเทรน AI ที่ขยายขนาด
งานวิจัยนี้เน้นย้ำถึงความสำคัญของการออกแบบฮาร์ดแวร์และซอฟต์แวร์ร่วมกัน เพื่อแก้ไขความท้าทายที่มีอยู่ในตัวของการเทรน AI ขนาดใหญ่ การรวม NTP เข้ากับการออกแบบแร็คขั้นสูงที่ให้ Headroom ด้านไฟฟ้าและความร้อนเพียงพอสำหรับการเพิ่มพลังแบบไดนามิก เป็นตัวอย่างที่ชัดเจนว่านวัตกรรมฮาร์ดแวร์ที่รอบคอบสามารถเสริมโซลูชันซอฟต์แวร์ที่ซับซ้อนได้อย่างไร
ความสัมพันธ์แบบพึ่งพาอาศัยกันนี้มีความสำคัญอย่างยิ่งต่อการปลดล็อกระดับประสิทธิภาพ ประสิทธิภาพ Goodput ที่เสถียร และความยืดหยุ่นที่สูงขึ้นในระบบ AI ยุคหน้า NTP ในฐานะคุณสมบัติทดลองที่มองไปข้างหน้า แสดงให้เห็นถึงสิ่งที่เป็นไปได้เมื่อความยืดหยุ่นถูกฝังลงในกลยุทธ์การขนานโดยตรง
🔍 แหล่งข้อมูลเพิ่มเติม
- NVIDIA Resiliency Extension (NVRx): คุณสมบัติที่พร้อมใช้งานสำหรับการผลิตเพื่อความทนทานและความยืดหยุ่น
- Nonuniform Tensor Parallelism Readme: เรียนรู้เพิ่มเติมเกี่ยวกับ NTP ที่เพิ่มเข้ามาใน branch ของนักพัฒนาของ NVIDIA Megatron Core
#LLM #AI #TensorParallelism #NVIDIA #DeepLearning
ขอบคุณ แหล่งข้อมูล
https://developer.nvidia.com/blog/enhancing-goodput-in-large-scale-llm-training-with-nonuniform-tensor-parallelism/