- AICI - Artificial Intelligence Controller Interface
- ช่วยให้สามารถสร้างคอนโทรลเลอร์ที่ใช้จำกัดและสั่งการเอาต์พุตของโมเดลภาษาขนาดใหญ่ (LLM) ได้แบบเรียลไทม์
- คอนโทรลเลอร์สามารถทำ constrained decoding, การแก้ไขพรอมป์ต์และข้อความที่สร้างขึ้นแบบไดนามิก, และการประสานงานระหว่างการสร้างแบบขนานได้
- คอนโทรลเลอร์ผสานรวมลอจิกที่กำหนดเองระหว่างการถอดรหัสทีละโทเค็น และคงสถานะไว้ตลอดคำขอ LLM
- เป้าหมายของ AICI คือทำให้สามารถสร้างและทดลองใช้กลยุทธ์คอนโทรลเลอร์ทั้งแบบเดิมและแบบใหม่ได้อย่างง่ายดาย
- โดยทำการ abstract รายละเอียดการอิมพลีเมนต์ของเอนจินอนุมานและการให้บริการ LLM พื้นฐาน
- เพื่อลดความซับซ้อนของการพัฒนาคอนโทรลเลอร์
- ทำให้เขียนคอนโทรลเลอร์ที่ทำงานได้รวดเร็วขึ้นได้ง่ายกว่าเดิม
- และทำให้ความเข้ากันได้ระหว่างเอนจินอนุมานและการให้บริการ LLM เป็นเรื่องง่ายขึ้น
- AICI ถูกออกแบบมาเพื่อการรันทั้งแบบโลคัลและคลาวด์ รวมถึง (ในท้ายที่สุด) การดีพลอย LLM แบบหลายผู้เช่า
- คอนโทรลเลอร์ถูกอิมพลีเมนต์เป็นโมดูล WebAssembly (Wasm) แบบน้ำหนักเบาที่รันอยู่บนระบบเดียวกับเอนจินอนุมาน LLM โดยใช้ CPU ขณะที่ GPU กำลังยุ่งกับการสร้างโทเค็น
- AICI เป็นเลเยอร์หนึ่งใน inference stack ซึ่งออกแบบมาเพื่อให้ไลบรารีควบคุมอย่าง Guidance, LMQL เป็นต้น รันอยู่ด้านบนได้ และได้รับทั้งความสามารถในการพกพาข้ามเอนจินอนุมานและบริการ LLM ตลอดจนประสิทธิภาพและสมรรถนะที่ดีขึ้น
- AICI มีคุณสมบัติดังนี้
- ยืดหยุ่น : คอนโทรลเลอร์สามารถเขียนด้วยภาษาใดก็ได้ที่คอมไพล์เป็น Wasm ได้ (Rust, C, C++, ...) หรือสามารถถูกตีความภายใน Wasm ได้ (Python, JavaScript, ...)
- ปลอดภัย : คอนโทรลเลอร์ทำงานแบบ sandbox จึงไม่สามารถเข้าถึงไฟล์ซิสเต็ม เครือข่าย หรือทรัพยากรอื่น ๆ ได้
- รวดเร็ว : โมดูล Wasm ถูกคอมไพล์เป็น native code และรันขนานกับเอนจินอนุมาน LLM จึงสร้างโอเวอร์เฮดต่อกระบวนการสร้างเพียงเล็กน้อย
- เป็นต้นแบบที่ออกแบบและสร้างโดย Microsoft Research
ยังไม่มีความคิดเห็น