ทีมวิจัยจาก CMU , UIUC , Berkeley , NVIDIA และ Tsinghua University ได้พัฒนาระบบคอมไพเลอร์ที่ล้ำสมัยซึ่งช่วยปรับปรุงความเร็วในการประมวลผลโมเดลภาษาขนาดใหญ่อย่างมาก ระบบ Mirage Persistent Kernel ( MPK ) สามารถแปลงการดำเนินงานของ LLM ให้เป็น megakernel เดียวที่ทำงานทั้งหมดบนฮาร์ดแวร์ GPU โดยให้ประสิทธิภาพที่เร็วขึ้น 1.2 ถึง 1.7 เท่าเมื่อเทียบกับระบบที่มีอยู่
นวัตกรรมนี้แก้ไขปัญหาความไม่มีประสิทธิภาพพื้นฐานในระบบ LLM ปัจจุบัน ซึ่งการดำเนินงาน GPU หลายๆ อันที่แยกจากกันสร้างคอขวดและทำให้เสียพลังการประมวลผล แทนที่จะเปิดใช้งาน kernel แยกกันหลายสิบตัวสำหรับงานต่างๆ MPE จะรวมทุกอย่างเข้าเป็นการดำเนินงานต่อเนื่องเดียวที่ไม่เคยหยุดทำงานบน GPU
การเปรียบเทียบประสิทธิภาพบน NVIDIA A100 (40GB)
- ระบบแบบดั้งเดิม ( vLLM , SGLang ): 51.5ms ต่อโทเค็น
- ระบบ MPE : 33.1ms ต่อโทเค็น
- ค่าต่ำสุดตามทฤษฎี: 30ms ต่อโทเค็น
- การปรับปรุงประสิทธิภาพ: เร็วขึ้น 1.2-1.7 เท่า
การรวม Kernel ที่ปฏิวัติวงการขจัดคอขวดด้านประสิทธิภาพ
ระบบการประมวลผล LLM แบบดั้งเดิมประสบปัญหาข้อบกพร่องที่สำคัญ คือการปฏิบัติต่อการดำเนินงานแต่ละอย่างเป็นงานแยกและสมบูรณ์ที่ต้องเสร็จสิ้นก่อนที่งานถัดไปจะเริ่มต้น สิ่งนี้สร้างช่วงเวลารอคอยที่ไม่จำเป็น ซึ่งฮาร์ดแวร์ GPU ที่มีประสิทธิภาพสูงจะอยู่ในสถานะไม่ได้ใช้งาน ชุมชนได้ตระหนักถึงปัญหานี้มานาน โดยนักพัฒนาสังเกตว่าโซลูชันที่มีอยู่เช่น CUDA Graphs ยังคงรักษาขอบเขตที่แข็งแกร่งระหว่างการดำเนินงาน
แนวทางของ MPE ทำลายอุปสรรคเทียมเหล่านี้โดยการสร้างงานที่มีความละเอียดสูงซึ่งสามารถทับซ้อนและทำงานพร้อมกันได้ ตยอางเช่น ในขณะที่ส่วนหนึ่งของ GPU ประมวลผลการคำนวณเมทริกซ์ ส่วนอื่นสามารถเริ่มงานการสื่อสารทันทีด้วยผลลัพธ์บางส่วน แทนที่จะรอให้การคำนวณทั้งหมดเสร็จสิ้น
ระบบทำงานโดยการวิเคราะห์ความต้องการการคำนวณของ LLM โดยอัตโนมัติและสร้างใหม่เป็นเครือข่ายของงานเล็กๆ ที่เชื่อมต่อกัน งานแต่ละอย่างทำงานบน streaming multiprocessors ของ GPU แต่ละตัว พร้อมด้วยตัวจัดตารางงานในตัวที่ประสานงานเวิร์กโฟลว์โดยไม่ต้องมีการแทรกแซงจากภายนอก
ส่วนประกอบของสถาปัตยกรรมระบบ MPE
- Workers: ดำเนินการงานบนตัวประมวลผลสตรีมมิ่ง GPU แต่ละตัว (SMs)
- Schedulers: ทำงานบน warps เดี่ยว สูงสุด 4 ตัวต่อ SM จัดการคิวงาน
- Task Graph: หน่วยงานละเอียดที่มาแทนที่โมเดล kernel-per-operator แบบเดิม
- Events: จุดซิงโครไนเซชันระหว่างงานที่ช่วยให้เกิดการทับซ้อนของไปป์ไลน์
ผลงานด้านประสิทธิภาพที่น่าประทับใจทั้งในการตั้งค่า GPU เดี่ยวและหลายตัว
การทดสอบบนฮาร์ดแวร์ NVIDIA A100 แสดงให้เห็นการปรับปรุงที่น่าทึ่งในสถานการณ์จริง สำหรับการกำหนดค่า GPU เดี่ยว MPE ลดเวลาการสร้างต่อโทเค็นจาก 51.5 มิลลิวินาทีเหลือ 33.1 มิลลิวินาที ใกล้เคียงกับความเร็วสูงสุดตามทฤษฎีที่เป็นไปได้ตามข้อจำกัดของแบนด์วิดท์หน่วยความจำ
ข้อได้เปรียบด้านประสิทธิภาพจะยิ่งชัดเจนมากขึ้นเมื่อใช้ GPU หลายตัว ในขณะที่ระบบดั้งเดิมประสบปัญหาค่าใช้จ่ายในการประสานงานระหว่างการ์ดจอแยกกัน แนวทางแบบรวมของ MPE ช่วยให้การทับซ้อนระหว่างการคำนวณและการสื่อสารระหว่าง GPU เป็นไปอย่างราบรื่น ทำให้เทคโนโลยีนี้มีคุณค่าอย่างยิ่งสำหรับการใช้งานขนาดใหญ่ที่ GPU หลายตัวทำงานร่วมกัน
ความคิดเห็นจากชุมชนเป็นไปในทางบวกอย่างท่วมท้น โดยนักพัฒนาที่ทำงานอย่างใกล้ชิดกับระบบที่มีอยู่เช่น vLLM และ SGLang แสดงความตื่นเต้นเกี่ยวกับแนวทางการวิเคราะห์กราฟการพึ่งพา
ความท้าทายทางเทคนิคและการพัฒนาในอนาคต
แม้จะมีผลลัพธ์ที่น่าประทับใจ แต่ MPE ปัจจุบันยังเผชิญกับข้อจำกัดที่ทีมวิจัยกำลังแก้ไขอย่างแข็งขัน ระบบทำงานได้ดีที่สุดกับกราฟการคำนวณแบบคงที่ ทำให้ไม่เข้ากันได้กับโมเดลแบบไดนามิกเช่นสถาปัตยกรรม Mixture-of-Experts ที่เปลี่ยนพฤติกรรมตามเนื้อหาอินพุต
ทีมยังกำลังทำงานเพื่อสนับสนุนสถาปัตยกรรม GPU รุ่นใหม่เช่น NVIDIA Blackwell ซึ่งนำเสนอโอกาสและความท้าทายในการปรับให้เหมาะสมแบบใหม่ นโยบายการจัดตารางงานขั้นสูงสามารถปรับปรุงประสิทธิภาพเพิ่มเติมสำหรับกรณีการใช้งานเฉพาะเช่นแอปพลิเคชันที่ต้องการเวลาตอบสนองต่ำหรือสถานการณ์การแบทช์แบบผสม
โครงการนี้มาจาก CMU Hazy Research ที่ Stanford ก็พูดถึง megakernel เช่นกัน... ดีที่เห็นการแข่งขันในพื้นที่นี้
ภูมิทัศน์การแข่งขันรวมถึงความพยายามแบบขนานจากสถาบันวิจัยอื่นๆ โดยเฉพาะกลุ่ม Hazy Research ของ Stanford แม้ว่าการมุ่งเน้นของ MPE ในการคอมไพล์อัตโนมัติจะทำให้แตกต่างจากแนวทางการปรับให้เหมาะสมแบบแมนนวล
คอมไพเลอร์ MPE เป็นก้าวสำคัญในการทำให้การประมวลผล LLM ประสิทธิภาพสูงเข้าถึงได้สำหรับนักพัฒนาโดยไม่ต้องใช้ความเชี่ยวชาญด้านการเขียนโปรแกรม GPU ลึกซึ้ง ด้วยโค้ด Python เพียงไม่กี่สิบบรรทัด นักพัฒนาสามารถคอมไพล์โมเดลของตนเป็น megakernels ที่ปรับให้เหมาะสมแล้ว ทำให้การเข้าถึงการปรับให้เหมาะสมประสิทธิภาพล้ำสมัยเป็นประชาธิปไตยมากขึ้น ซึ่งก่อนหน้านี้ต้องใช้ความรู้เฉพาะทาง
อ้างอิง: Compiling LLMs into a MegaKernel: A Path to Low-Latency Inference