Оптимізація витрат на LLM за допомогою RouteLLM та динамічного роутингу запитів
LMSYS представив фреймворк RouteLLM з відкритим кодом, який скорочує витрати на API більш ніж удвічі, зберігаючи 95% якості GPT-4. Динамічне перенаправлення простих запитів на дешевші моделі оптимізує архітектуру продакшену.
Вплив: Високий
Чому це важливо
Розробники можуть суттєво зменшити витрати на API у продакшені без втрати якості відповідей на складні запити.
TL;DR
- 01RouteLLM знижує витрати на API більш ніж удвічі, зберігаючи 95% продуктивності рівня GPT-4.
- 02Затримка прийняття рішення роутером має бути менше 50 мс для збереження якісного UX.
- 03Рішення з відкритим кодом (RouteLLM) конкурують з комерційними альтернативами (Martian Model Router).
Ключові факти
- Зниження витрат
- До 50% (LMSYS) / До 70% (Towards Data Science)
- Цільова затримка
- < 50 мс
- Ліцензія фреймворку
- Apache-2.0
- Збережена якість
- 95% від GPT-4
Динамічна оркестрація інференсу
Використання однієї великої моделі для кожного запиту користувача призводить до величезних перевитрат бюджету. RouteLLM від LMSYS пропонує навчені моделі-роутери, які автоматично спрямовують прості запити до менших і дешевших моделей (як-от Mixtral-8x7B або Llama-3-8B), залишаючи великі моделі (на кшталт GPT-4) виключно для складних завдань. Тести показують, що така стратегія зменшує витрати більш ніж удвічі, зберігаючи до 95% якості оригінальної GPT-4.
Архітектура та затримка прийняття рішень
Для ефективного використання накладні витрати на роутинг мають бути мінімальними. Якщо семантичні роутери на базі векторних баз даних дають базову класифікацію, то просунуті інструменти застосовують ML-класифікатори на основі матричної факторизації чи BERT. Комерційний Model Router від Martian трансформує запити у єдиний векторний простір для оцінки результату ще до виклику API. Для стабільної роботи у продакшені затримка ухвалення рішення роутером має бути меншою за 50 мс.
Стратегії впровадження
Розробники можуть почати з простих евристик (довжина промпту чи мова запиту) перед переходом до складніших класифікаторів. RouteLLM поширюється під ліцензією Apache-2.0 і легко інтегрується в існуючі конвеєри обробки даних.
Спробуй за 2 хвилини
from routellm.controller import Controller
client = Controller(
routers=["mf"],
strong_model="gpt-4",
weak_model="gpt-3.5-turbo"
)
response = client.chat.completions.create(
model="router-mf-0.115",
messages=[{"role": "user", "content": "What is 2+2?"}]
)python
✓ Коли використовувати
- При розробці продакшен-систем з різним рівнем складності вхідних запитів.
- Для суттєвого зниження витрат на API токени без втрати загальної якості відповідей.
✕ Коли НЕ варто
- Якщо ліміт затримки є надзвичайно суворим і не дозволяє витрачати зайві 10-50 мс.
- Коли абсолютно всі запити користувачів вимагають максимальних можливостей міркування найпотужнішої моделі.
Що зробити сьогодні
- Проаналізуйте логи вашого LLM-додатка, щоб визначити відсоток простих запитів, які можна делегувати меншим моделям.
- Встановіть RouteLLM через pip та протестуйте роутер на основі матричної факторизації на вашому тестовому датасеті.
Джерела