3 pontos por GN⁺ 2024-07-12 | Ainda não há comentários. | Compartilhar no WhatsApp
  • 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.

Ainda não há comentários.