เมื่อโมเดลปัญญาประดิษฐ์มีความซับซ้อนมากขึ้นเรื่อยๆ นักวิจัยต้องเผชิญกับปัญหาคอขวดพื้นฐาน นั่นคือการรักษาประสิทธิภาพความเร็วสูงในขณะที่โมเดลมีขนาดใหญ่เกินกว่าจะบรรจุในหน่วยความจำ GPU ความเร็วสูงได้ทั้งหมด การค้นพบครั้งสำคัญจาก Shanghai Jiao Tong University ได้เสนอทางออกอันชาญฉลาดที่อาจเปลี่ยนแปลงวิธีการใช้งานระบบ AI ขนาดใหญ่ โดยเฉพาะอย่างยิ่งสำหรับสถาปัตยกรรม MoE (Mixture of Experts) ที่ขับเคลื่อนโมเดลอันทันสมัยจำนวนมาก
ความท้าทายของปัญหาคอขวดด้านหน่วยความจำ
โมเดล AI สมัยใหม่ โดยเฉพาะอย่างยิ่งที่ใช้สถาปัตยกรรม Mixture of Experts ทำงานคล้ายกับทีมผู้เชี่ยวชาญซึ่งมี "ผู้เชี่ยวชาญ" ต่างๆ จัดการงานเฉพาะประเภท แม้ว่าจะต้องการผู้เชี่ยวชาญเพียงไม่กี่คนสำหรับคำถามใดคำถามหนึ่ง แต่ทั้งหมดต้องพร้อมใช้งานได้ทันที วิธีการแบบดั้งเดิมจะจัดเก็บผู้เชี่ยวชาญที่ใช้ไม่บ่อยในหน่วยความจำ CPU ที่ช้ากว่า และดึงกลับมาเมื่อต้องการ อย่างไรก็ตาม สิ่งนี้สร้างความเสียหายต่อประสิทธิภาพอย่างมีนัยสำคัญ การถ่ายโอนผู้เชี่ยวชาญจาก CPU ไปยัง GPU ใช้เวลาประมาณ 10 มิลลิวินาที ในขณะที่การคำนวณจริงโดยทั่วไปต้องใช้เวลาน้อยกว่า 1 มิลลิวินาที ความแตกต่างสิบเท่านี้หมายความว่าระบบ AI ใช้เวลารอการถ่ายโอนข้อมูลมากกว่าการประมวลผลข้อมูลอย่างมาก
การเปรียบเทียบเวลา: วิธีดั้งเดิมเทียบกับแนวทาง BuddyMoE
- วิธีดั้งเดิม: การถ่ายโอนข้อมูล 10ms + การคำนวณ 1ms = รวม 11ms
- วิธี BuddyMoE: การถ่ายโอน 0ms + การคำนวณ 1ms = รวม 1ms
- ผลการเพิ่มประสิทธิภาพ: เร็วขึ้นประมาณ 10 เท่าสำหรับผู้เชี่ยวชาญที่ถูกแทนที่
นวัตกรรม BuddyMoE
ทีมของ Professor Qi Zhengwei ได้พัฒนา BuddyMoE ซึ่งเป็นระบบที่คิดใหม่เกี่ยวกับวิธีการจัดการผู้เชี่ยวชาญที่ขาดหายไปของ AI แทนที่จะรอให้ผู้เชี่ยวชาญที่ถูกต้องถ่ายโอนจากหน่วยความจำ CPU ระบบจะระบุผู้เชี่ยวชาญที่ทำงานคล้ายกันซึ่งอยู่ในหน่วยความจำ GPU แล้วและแทนที่พวกเขาทันที ชื่อสะท้อนถึงแนวคิดหลัก นั่นคือผู้เชี่ยวชาญทุกคนมี "เพื่อน" ที่อาจแทนที่พวกเขาได้เมื่อพวกเขาไม่ว่าง วิธีการนี้ขจัดความล่าช้างในการถ่ายโอนข้อมูลที่มีค่า ซึ่งเป็นปัญหาของระบบดั้งเดิม
กลยุทธ์การแทนที่อันชาญฉลาด
กระบวนการแทนที่ไม่ได้ทำอย่างสุ่มสี่สุ่มห้า BuddyMoE ใช้กรอบการตัดสินใจสามระดับที่ซับซ้อน ประการแรก ระบบประเมินว่าปัจจุบันงานมีความเฉพาะทางมากน้อยเพียงบาง คำถามบางอย่างต้องการความเชี่ยวชาญเฉพาะและไม่เหมาะสำหรับการแทนที่ ประการที่สอง ระบบตรวจสอบอัตราการแทนที่โดยรวมทั่วทั้งระบบ เพื่อหลีกเลี่ยงสถานการณ์ที่การแทนที่มากเกินไปอาจลดความถูกต้องของผลลัพธ์ สุดท้าย เมื่อการแทนที่เหมาะสม ระบบจะเลือกผู้เชี่ยวชาญที่มีอยู่ที่เข้ากันได้มากที่สุดโดยอิงจากการวิเคราะห์ความคล้ายคลึงที่ครอบคลุม การทรงตัวอย่างระมัดระวังนี้รับประกันว่าการเพิ่มประสิทธิภาพจะไม่เกิดขึ้นด้วยค่าใช้จ่ายของผลลัพธ์ที่ไม่น่าเชื่อถือ
ผลการปรับปรุงประสิทธิภาพที่วัดได้
การทดสอบอย่างกว้างขวางแสดงให้เห็นว่า BuddyMoE ส่งผลการปรับปรุงอย่างมีนัยสำคัญด้วยการแลกเปลี่ยนความถูกต้องเพียงเล็กน้อย ระบบทำความเร็วในการอนุมาน (inference) ได้เร็วขึ้นถึง 10% ในขณะที่โดยทั่วไปยังรักษาความถูกต้องไว้ภายใน 2% ของโมเดลดั้งเดิม ในสถานการณ์ที่การแทนที่ผู้เชี่ยวชาญอยู่ต่ำกว่า 20% การสูญเสียความถูกต้องโดยทั่วไปจะอยู่ในช่วง 0.5% ถึง 1.5% และบางครั้งอาจเข้าใกล้ 5% ในกรณีขอบเขต (edge cases) เท่านั้น ระบบให้พารามิเตอร์ที่สามารถกำหนดค่าได้ซึ่งช่วยให้นักพัฒนาสามารถปรับสมดุลระหว่างความเร็วและความแม่นยำตามข้อกำหนดแอปพลิเคชันเฉพาะของพวกเขา
ผลกระทบด้านประสิทธิภาพจากการแทนที่ผู้เชี่ยวชาญ
| อัตราการแทนที่ | การสูญเสียความแม่นยำโดยทั่วไป | การปรับปรุงความเร็ว |
|---|---|---|
| ต่ำกว่า 20% | 0.5% - 1.5% | สูงสุดถึง 10% |
| ระดับปานกลาง | สูงสุดถึง 2% | อย่างมีนัยสำคัญ |
| ระดับสูง | สูงสุดถึง 5% (พบได้น้อย) | สูงสุด |
การนำไปใช้ที่ยืดหยุ่นและทางเลือกสำรอง
หนึ่งในจุดแข็งของ BuddyMoE อยู่ที่ความยืดหยุ่นทางวิศวกรรม ระบบรักษาตัวเลือกสำรองที่สมบูรณ์ หากการแทนที่ครั้งหนึ่งอาจทำให้เกิดการสูญเสียความถูกต้องที่ไม่สามารถยอมรับได้ หรือหากผู้ใช้ต้องการความถูกต้องสมบูรณ์แบบโดยไม่มีการประนีประนอม ระบบสามารถย้อนกลับไปใช้วิธีการดั้งเดิมได้ ซึ่งหมายถึงการรอให้ผู้เชี่ยวชาญที่ถูกต้องโหลดจาก CPU หรือทำการคำนวณโดยตรงบน CPU เพื่อให้แน่ใจว่าความถูกต้องสมบูรณ์แบบยังคงเป็นไปได้เมื่อจำเป็น สิ่งนี้ทำให้เทคโนโลยีเหมาะสมสำหรับทั้งแอปพลิเคชันที่ไวต่อประสิทธิภาพและสถานการณ์ที่สำคัญต่อความถูกต้อง
ความเข้ากันได้กับฮาร์ดแวร์ในวงกว้าง
Professor Qi เน้นย้ำว่า BuddyMoE เป็นการนำหลักการคำนวณแบบ heterogeneous computing ไปใช้จริง เทคโนโลยีนี้ไม่ได้ผูกมัดการคำนวณกับประเภทฮาร์ดแวร์เฉพาะ ทำให้สามารถปรับใช้ได้สูง across สถาปัตยกรรมการประมวลผลที่แตกต่างกัน การออกแบบที่ไม่ยึดติดกับฮาร์ดแวร์นี้วางตำแหน่ง BuddyMoE ได้ดีสำหรับการบูรณาการกับระบบนิเวศฮาร์ดแวร์ในประเทศ รวมถึงการทดสอบที่กำลังจะมาถึงบนแพลตฟอร์ม Huawei's Ascend วิธีการนี้ใช้ทรัพยากรทั้ง CPU และ GPU อย่างมีประสิทธิภาพ โดยให้ CPU จัดการงานพยากรณ์และการจัดตาราง ในขณะที่ GPU มุ่งเน้นไปที่การคำนวณโดยไม่ถูกขัดจังหวะ
สถานะการนำไปใช้
- มีการพัฒนาต้นแบบในโครงการ llama.cpp
- กำลังอยู่ระหว่างการตรวจสอบบนสถาปัตยกรรม GPU มาตรฐาน
- มีแผนการทดสอบบนแพลตฟอร์ม Huawei Ascend
- กำลังสำรวจความสามารถในการแบ่งปันผู้เชี่ยวชาญแบบหลายโมเดล
การประยุกต์ใช้ในอนาคตและการขยายขนาด
ทีมวิจัยได้นำต้นแบบไปใช้ภายในโครงการ llama.cpp แล้ว และวางแผนที่จะสำรวจแอปพลิเคชันที่ทะเยอทะยานมากขึ้น งานในอนาคตจะตรวจสอบว่าผู้เชี่ยวชาญจากโมเดล AI ที่แตกต่างกันโดยสิ้นเชิงสามารถสร้างความสัมพันธ์แบบเพื่อนกันได้หรือไม่ ซึ่งจะทำให้สามารถแบ่งปันทรัพยากรอย่างที่ไม่เคยมีมาก่อน across หลายระบบ สิ่งนี้อาจปฏิวัติวิธีการที่ศูนย์ข้อมูลใช้งานบริการ AI ปรับปรุงประสิทธิภาพโดยรวมของคลัสเตอร์อย่างมีนัยสำคัญ และเปิดใช้งานสถานการณ์ผู้ใช้หลายราย (multi-tenant) ที่ซับซ้อนมากขึ้นซึ่งโมเดลต่างๆ ร่วมมือกันแบ่งปันทรัพยากรการคำนวณ
การพัฒนา BuddyMoE เกิดขึ้นในช่วงเวลาที่สำคัญเมื่อขนาดโมเดล AI กำลังแซงหน้าอัตราการเติบโตของความจุหน่วยความจำ GPU อย่างรวดเร็ว โดยการแก้ปัญหาคอขวดด้านหน่วยความจำพื้นฐานผ่านการจัดการทรัพยากรอย่างชาญฉลาด แทนที่จะเพียงเรียกร้องฮาร์ดแวร์เพิ่มเติม การวิจัยนี้ชี้ไปสู่กลยุทธ์การใช้งาน AI ที่ยั่งยืนและมีประสิทธิภาพมากขึ้นสำหรับปีข้างหน้า
