- RouteLLM é um framework para serving e avaliação de roteadores de LLM desenvolvido em colaboração entre LMSys e Anyscale
- Recursos principais:
- Substitui o cliente da OpenAI para rotear consultas simples para modelos mais baratos
- Oferece roteadores treinados, extensão para novos roteadores e comparação de desempenho de roteadores em benchmarks, entre outros recursos
Suporte a modelos
- Além de GPT-4 e Mixtral 8x7B, é possível usar várias combinações de modelos ajustando os argumentos
strong-model e weak-model
- Suporta chat completions em diversos modelos open source e closed usando LiteLLM
- Também é possível usar endpoints compatíveis com OpenAI
- Fornece instruções para configurar chaves de API de vários provedores de modelos
Motivação de desenvolvimento
- Ao implantar LLMs com custos e capacidades diferentes, usar o modelo mais poderoso para obter respostas de alta qualidade pode sair caro, enquanto usar um modelo barato pode reduzir a qualidade
- O roteamento de LLM oferece uma solução para manter a qualidade enquanto reduz custos, enviando consultas simples para modelos mais baratos
- Cada solicitação está associada a um cost threshold que determina o tradeoff entre custo e qualidade
Servidor
- RouteLLM fornece um servidor leve compatível com OpenAI para rotear solicitações de acordo com várias estratégias de roteamento
- Use
--routers para especificar a lista de roteadores disponíveis e --config para indicar o caminho do arquivo de configuração dos roteadores
- Na maioria dos casos, recomenda-se usar o roteador
mf, que é robusto e leve
- O cliente faz a solicitação especificando, no campo
model, o nome do roteador e o threshold
Calibração de threshold
- O threshold usado no roteamento controla o tradeoff entre custo e qualidade
- Como a faixa de threshold significativa varia conforme o tipo de roteador e as consultas recebidas, é recomendável calibrá-lo usando consultas de amostra e a proporção de consultas enviadas ao modelo forte
- Por padrão, há suporte à calibração de threshold com base no dataset Chatbot Arena
- É recomendável calibrar com um dataset semelhante ao tipo de consulta que você realmente recebe
Avaliação
- RouteLLM também inclui um framework de avaliação para medir o desempenho de várias estratégias de roteamento em benchmarks
- Use
--routers para especificar a lista de roteadores a serem avaliados e --benchmark para indicar o benchmark específico da avaliação
- Os resultados da avaliação são exibidos no console, e também são gerados gráficos de desempenho dos roteadores
- Por padrão, GPT-4 e Mixtral são o par de modelos usado na avaliação, mas isso pode ser alterado com as flags
--strong-model e --weak-model
Roteadores
- RouteLLM oferece 4 roteadores treinados para o par de modelos
gpt-4-1106-preview e mixtral-8x7b-instruct-v0.1
- Lista de roteadores:
mf, sw_ranking, bert, causal_llm, random
- Esses roteadores generalizam bem para outros pares de modelos forte/fraco, então não é necessário treiná-los novamente ao trocar o par de modelos
Opinião do GN⁺
- RouteLLM parece ser um framework útil para usar diferentes LLMs de forma eficiente. É especialmente atraente por permitir reduzir custos mantendo a qualidade ao rotear consultas simples para modelos mais baratos
- Também é positivo que os roteadores fornecidos generalizem bem para vários pares de modelos. Isso traz a vantagem de o usuário não precisar treinar seus próprios roteadores
- O recurso de calibração de threshold também parece útil. Ele permite encontrar o threshold ideal usando dados reais de consulta dos usuários
- Outro ponto forte é poder comparar facilmente, por meio do framework de avaliação, o desempenho de vários roteadores e benchmarks
- No entanto, para usar o framework, ainda é necessária uma preparação prévia, como configurar chaves de API para o modelo forte e o modelo fraco. Para iniciantes, isso pode representar uma barreira de entrada
- Um outro projeto com funcionalidade semelhante é o open source Multi-model. Ele oferece recursos para integrar e rotear vários modelos de linguagem em uma única API
Ainda não há comentários.