RouteLLM - เฟรมเวิร์กสำหรับให้บริการและประเมินผล LLM Router
(github.com/lm-sys)- RouteLLM คือเฟรมเวิร์กสำหรับ serving และการประเมินผล LLM Router ที่พัฒนาร่วมกันโดย LMSys และ Anyscale
- ความสามารถหลัก:
- ใช้แทน OpenAI client เพื่อส่งต่อคิวรีแบบง่ายไปยังโมเดลที่มีต้นทุนต่ำกว่า
- มีเราเตอร์ที่ผ่านการฝึกมาแล้ว รองรับการขยายเราเตอร์ใหม่ และการเปรียบเทียบประสิทธิภาพของเราเตอร์บนเบนช์มาร์ก เป็นต้น
รองรับโมเดล
- นอกจาก GPT-4 และ Mixtral 8x7B แล้ว ยังสามารถใช้คู่โมเดลได้หลากหลายโดยแก้ไขอาร์กิวเมนต์
strong-modelและweak-model - รองรับ chat completions บนโมเดลโอเพนซอร์สและโมเดลแบบปิดที่หลากหลายผ่าน LiteLLM
- ใช้งาน OpenAI-compatible endpoint ได้เช่นกัน
- มีวิธีตั้งค่า API key สำหรับผู้ให้บริการโมเดลหลายราย
ที่มาของการพัฒนา
- เมื่อต้องนำ LLM ที่มีต้นทุนและความสามารถต่างกันไปใช้งานจริง หากใช้โมเดลที่ทรงพลังที่สุดเพื่อให้ได้คำตอบคุณภาพสูงก็จะมีค่าใช้จ่ายสูง แต่ถ้าใช้โมเดลราคาถูกกว่าคุณภาพก็อาจลดลง
- การทำ LLM routing เป็นแนวทางที่ช่วยรักษาคุณภาพพร้อมลดต้นทุน โดยส่งคิวรีที่ง่ายไปยังโมเดลที่มีต้นทุนต่ำกว่า
- แต่ละคำขอจะมี cost threshold ที่ใช้กำหนด tradeoff ระหว่างต้นทุนกับคุณภาพ
เซิร์ฟเวอร์
- RouteLLM มีเซิร์ฟเวอร์แบบเบาที่รองรับ OpenAI compatibility สำหรับส่งต่อคำขอตามกลยุทธ์การ routing ที่หลากหลาย
- ใช้
--routersเพื่อระบุรายการเราเตอร์ที่ใช้งานได้ และใช้--configเพื่อระบุพาธของไฟล์ตั้งค่าเราเตอร์ - โดยส่วนใหญ่แนะนำให้ใช้เราเตอร์
mfที่ทั้งทรงพลังและมีขนาดเบา - ไคลเอนต์จะส่งคำขอโดยระบุชื่อเราเตอร์และ threshold ในฟิลด์
model
การปรับเทียบ Threshold
- threshold ที่ใช้ในการ routing จะควบคุม tradeoff ระหว่างต้นทุนกับคุณภาพ
- เนื่องจากช่วง threshold ที่มีความหมายจะแตกต่างกันไปตามประเภทของเราเตอร์และคิวรีที่ได้รับ จึงควรปรับเทียบโดยใช้คิวรีตัวอย่างและสัดส่วนของคิวรีที่จะส่งไปยังโมเดลที่แข็งแกร่งกว่า
- โดยค่าเริ่มต้นรองรับการปรับเทียบ threshold บนฐานข้อมูล Chatbot Arena
- ควรปรับเทียบด้วยชุดข้อมูลที่คล้ายกับประเภทคิวรีที่ได้รับจริง
การประเมินผล
- RouteLLM ยังมีเฟรมเวิร์กสำหรับประเมินผลเพื่อวัดประสิทธิภาพของกลยุทธ์การ routing แบบต่าง ๆ บนเบนช์มาร์ก
- ใช้
--routersเพื่อระบุรายการเราเตอร์ที่จะประเมิน และใช้--benchmarkเพื่อระบุเบนช์มาร์กเฉพาะที่ต้องการประเมิน - ผลการประเมินจะแสดงบนคอนโซล และมีการสร้างกราฟประสิทธิภาพของเราเตอร์ด้วย
- โดยค่าเริ่มต้น คู่โมเดลที่ใช้ในการประเมินคือ GPT-4 และ Mixtral และสามารถแก้ไขได้ด้วยแฟล็ก
--strong-modelและ--weak-model
เราเตอร์
- RouteLLM มีเราเตอร์ 4 แบบที่ผ่านการฝึกกับคู่โมเดล
gpt-4-1106-previewและmixtral-8x7b-instruct-v0.1 - รายการเราเตอร์:
mf,sw_ranking,bert,causal_llm,random - เราเตอร์เหล่านี้สามารถ generalize ได้ดีกับคู่โมเดล strong/weak อื่น ๆ ด้วย จึงไม่จำเป็นต้องฝึกใหม่แม้จะเปลี่ยนคู่โมเดล
ความเห็นของ GN⁺
- RouteLLM ดูเป็นเฟรมเวิร์กที่มีประโยชน์สำหรับการใช้งาน LLM หลายแบบได้อย่างมีประสิทธิภาพ โดยเฉพาะความสามารถในการส่งคิวรีง่าย ๆ ไปยังโมเดลที่มีต้นทุนต่ำกว่าเพื่อลดค่าใช้จ่ายโดยยังรักษาคุณภาพไว้ได้ ซึ่งเป็นจุดที่น่าสนใจ
- จุดที่ดีอีกอย่างคือเราเตอร์ที่ให้มาสามารถ generalize ได้ดีกับคู่โมเดลหลายแบบ ผู้ใช้จึงไม่จำเป็นต้องฝึกเราเตอร์ด้วยตนเอง
- ฟังก์ชันการปรับเทียบ Threshold ก็ดูน่าสนใจ เพราะสามารถใช้ข้อมูลคิวรีจริงของผู้ใช้เพื่อหา threshold ที่เหมาะสมที่สุดได้
- อีกข้อดีคือสามารถใช้เฟรมเวิร์กการประเมินผลเพื่อเปรียบเทียบประสิทธิภาพของเราเตอร์และเบนช์มาร์กต่าง ๆ ได้อย่างง่ายดาย
- อย่างไรก็ตาม การใช้งานเฟรมเวิร์กนี้จำเป็นต้องเตรียมความพร้อมล่วงหน้า เช่น การตั้งค่า API key สำหรับโมเดลที่แข็งแกร่งและโมเดลที่อ่อนกว่า จึงอาจมีอุปสรรคในการเริ่มต้นใช้งานสำหรับผู้ใช้มือใหม่อยู่บ้าง
- โปรเจกต์อื่นที่มีความสามารถคล้ายกันคือโอเพนซอร์ส Multi-model ซึ่งมีฟังก์ชันรวมและ routing โมเดลภาษาหลายตัวผ่าน API เดียว
ยังไม่มีความคิดเห็น