- RouteLLM es un framework para serving y evaluación de routers de LLM desarrollado en colaboración por LMSys y Anyscale
- Funciones principales:
- Reemplaza al cliente de OpenAI para enrutar consultas simples a modelos más baratos
- Ofrece routers entrenados, permite extender con nuevos routers y comparar el rendimiento de routers en benchmarks, entre otras cosas
Soporte de modelos
- Además de GPT-4 y Mixtral 8x7B, es posible usar diversas combinaciones de modelos modificando los argumentos
strong-model y weak-model
- Soporta chat completions en varios modelos open source y cerrados mediante LiteLLM
- También se pueden usar endpoints compatibles con OpenAI
- Proporciona métodos para configurar las API keys de distintos proveedores de modelos
Motivo de desarrollo
- Al desplegar LLM con distintos costos y capacidades, usar el modelo más potente para obtener respuestas de alta calidad resulta caro, mientras que usar un modelo barato puede reducir la calidad
- El enrutamiento de LLM ofrece una solución para reducir costos enviando las consultas simples a modelos más baratos sin sacrificar la calidad
- Cada solicitud está asociada con un cost threshold que determina el tradeoff entre costo y calidad
Servidor
- RouteLLM ofrece un servidor ligero compatible con OpenAI para enrutar solicitudes según distintas estrategias de enrutamiento
- Con
--routers se especifica la lista de routers disponibles y con --config la ruta del archivo de configuración del router
- En la mayoría de los casos se recomienda usar el router
mf, que es potente y liviano
- El cliente realiza la solicitud indicando en el campo
model el nombre del router y el threshold
Calibración del threshold
- El threshold usado en el enrutamiento controla el tradeoff entre costo y calidad
- Como el rango de threshold significativo varía según el tipo de router y las consultas recibidas, conviene calibrarlo usando consultas de muestra y la proporción de consultas que se enviarán al modelo fuerte
- Por defecto, se soporta la calibración del threshold basada en el dataset de Chatbot Arena
- Se recomienda calibrarlo con un dataset similar al tipo de consultas que realmente se reciben
Evaluación
- RouteLLM también incluye un framework de evaluación para medir el rendimiento de distintas estrategias de enrutamiento en benchmarks
- Con
--routers se especifica la lista de routers a evaluar y con --benchmark el benchmark específico a usar
- Los resultados de la evaluación se muestran en la consola y también se generan gráficas de rendimiento de los routers
- Por defecto, la pareja de modelos usada en la evaluación es GPT-4 y Mixtral, y puede modificarse con las flags
--strong-model y --weak-model
Routers
- RouteLLM ofrece 4 routers entrenados para la pareja de modelos
gpt-4-1106-preview y mixtral-8x7b-instruct-v0.1
- Lista de routers:
mf, sw_ranking, bert, causal_llm, random
- Estos routers generalizan bien a otras parejas de modelos fuerte/débil, por lo que no es necesario volver a entrenarlos al cambiar la pareja de modelos
Opinión de GN⁺
- RouteLLM parece ser un framework útil para usar distintos LLM de forma eficiente. Resulta especialmente atractivo que pueda reducir costos al enrutar consultas simples a modelos más baratos sin perder calidad
- También es positivo que los routers ofrecidos generalicen bien a diversas parejas de modelos. Tiene la ventaja de que el usuario no necesita entrenar su propio router
- La función de calibración de threshold también parece útil. Permite encontrar el threshold óptimo usando los datos reales de consultas del usuario
- Otra ventaja es que, mediante el framework de evaluación, se puede comparar fácilmente el rendimiento de distintos routers y benchmarks
- Sin embargo, para usar el framework se requiere preparación previa, como configurar API keys para el modelo fuerte y el modelo débil. Para principiantes, esto puede representar una barrera de entrada algo alta
- Otro proyecto con funciones similares es el open source Multi-model. Ofrece integración y enrutamiento de varios modelos de lenguaje mediante una API unificada
Aún no hay comentarios.