เทคนิค 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/

เทคนิค 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 #DeepLearninghttps://developer.nvidia.com/blog/enhancing-goodput-in-large-scale-llm-training-with-nonuniform-tensor-parallelism/
Shared content
DEVELOPER.NVIDIA.COM
Enhancing Goodput in Large-Scale LLM Training with Nonuniform Tensor Parallelism
Training LLMs at massive scale brings unique infrastructure challenges, especially as jobs span thousands of GPUs and run for extended periods. The longer these jobs run, the greater the likelihood of…
6 Σχόλια 0 Μοιράστηκε 972 Views 0 Προεπισκόπηση