• 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

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น