LLMRouter: Optymalizacja wyboru modeli językowych w złożonych zastosowaniach
W obliczu rosnącej liczby dostępnych wielkich modeli językowych (LLM) oraz różnorodności ich zastosowań, wyzwaniem staje się efektywny dobór najodpowiedniejszego modelu dla konkretnego zadania. Odpowiedzią na tę potrzebę jest LLMRouter, opracowany przez U Lab na Uniwersytecie Illinois Urbana-Champaign. Ten otwartoźródłowy system routingu ma za zadanie działać jako inteligentna warstwa pośrednicząca między aplikacjami a pulą LLM, dynamicznie wybierając optymalny model dla każdego zapytania.
LLMRouter nie jest prostym przełącznikiem. Podchodzi do selekcji modelu jako do złożonego problemu systemowego, biorąc pod uwagę takie czynniki jak złożoność zadania, oczekiwana jakość odpowiedzi oraz koszty operacyjne. Całość jest dostępna poprzez ujednolicone API Pythona oraz interfejs wiersza poleceń (CLI). Projekt dostarcza ponad 16 algorytmów routingu, potężny potok generowania danych oparty na jedenastu benchmarkach oraz elastyczny system wtyczek umożliwiający tworzenie niestandardowych routerów.
Różnorodność architektury routerów
LLMRouter klasyfikuje algorytmy routingu w cztery główne rodziny, z których każda oferuje odmienne podejście do problemu wyboru modelu.
Routery jednorundowe to grupa obejmująca takie algorytmy jak knnrouter, svmrouter, mlprouter, mfrouter, elorouter, routerdc, automix, hybrid_llm, graphrouter, causallm_router, a także bazowe smallest_llm i largest_llm. Implementują one strategie oparte na metodach takich jak k-najbliższych sąsiadów, maszyny wektorów nośnych, perceptrony wielowarstwowe, faktoryzacja macierzowa, ranking Elo, kontrastowe uczenie dualne, automatyczne mieszanie modeli oraz routing oparty na grafach.
W rodzinie routerów wielorundowych kluczową rolę odgrywa router_r1, czyli wstępnie wytrenowana instancja Routera R1 zintegrowana z LLMRouterem. Router R1 podchodzi do routingu i agregacji wielu LLM jako do sekwencyjnego procesu decyzyjnego, gdzie sam router jest modelem LLM, który naprzemiennie wykonuje wewnętrzne kroki rozumowania i wywołania zewnętrznych modeli. Trening odbywa się z wykorzystaniem uczenia ze wzmacnianiem, z wykorzystaniem opartego na regułach systemu nagród, który balansuje format, wynik i koszt.
Personalizowany routing jest realizowany przez gmtrouter – grafowy router personalizowany z funkcją uczenia preferencji użytkownika. GMTRouter reprezentuje wielorundowe interakcje użytkownik–LLM jako heterogeniczny graf, łączący użytkowników, zapytania, odpowiedzi i modele. Wykorzystuje architekturę przekazywania wiadomości w obrębie tego grafu, aby wnioskować o specyficznych dla użytkownika preferencjach routingu na podstawie danych interakcyjnych z niewielu przykładów. Eksperymenty wykazały znaczące zwiększenie dokładności i wskaźnika AUC w porównaniu do bazowych modeli niepersonalizowanych.
Routery agentowe w LLMRouterze rozszerzają routing na wieloetapowe przepływy wnioskowania. knnmultiroundrouter wykorzystuje rozumowanie oparte na k-najbliższych sąsiadach w śladach wielomodalnych i jest przeznaczony do złożonych zadań. llmmultiroundrouter z kolei udostępnia agentowy router oparty na LLM, który wykonuje wieloetapowe działania bez własnej pętli treningowej.
Potok generowania danych i rozszerzalność
LLMRouter wyposażono w kompletny potok generowania danych, który przekształca standardowe benchmarki i wyjścia LLM w zestawy danych do routingu. Wspiera on 11 benchmarków, w tym Natural QA, MMLU, GSM8K i MATH. Proces ten składa się z trzech etapów: ekstrakcji zapytań i etykiet, budowania osadzeń dla kandydatów LLM oraz wywoływania API LLM, oceny odpowiedzi i łączenia wyników z osadzeniami w rekordy routingu.
System oferuje również interfejs czatowy oparty na Gradio, umożliwiający interaktywne testowanie routerów. Ponadto, LLMRouter posiada solidny system wtyczek, który pozwala na łatwe dodawanie własnych algorytmów routingu, zachowując jednocześnie spójność z istniejącą infrastrukturą i zestawami danych.
Kluczowe zalety LLMRoutera
- Routing jako abstrakcja pierwszej klasy: LLMRouter traktuje wybór modelu jako zadanie predykcyjne zorientowane na koszt i jakość.
- Szerokie spektrum algorytmów: Ponad 16 routerów z czterech rodzin, w tym zaawansowane modele takie jak Router R1 i GMTRouter.
- Wieloetapowy routing z uczeniem ze wzmacnianiem: Integracja Routera R1 optymalizuje kompromisy między wydajnością a kosztami.
- Personalizacja oparta na grafach: GMTRouter uczy się preferencji użytkownika, znacząco poprawiając dokładność.
- Kompleksowy ekosystem: Potok danych, interfejs CLI, interfejs czatu i system wtyczek zapewniają pełną elastyczność i skalowalność.
LLMRouter stanowi istotny krok w kierunku bardziej inteligentnego i efektywnego wykorzystania LLM, oferując narzędzia niezbędne do zarządzania złożonymi ekosystemami modeli językowych w praktycznych zastosowaniach.
