Mixtral-8x7B de Mistral AI: SMoE open source que iguala a GPT-3.5

Mistral AI publicó a mediados de diciembre de 2023 Mixtral-8x7B, un modelo de lenguaje de código abierto bajo licencia Apache 2.0 que usa una arquitectura de mezcla dispersa de expertos (Sparse Mixture of Experts, SMoE). Con 46.700 millones de parámetros en total pero solo 12.900 millones activos por token, el modelo logra resultados comparables a GPT-3.5 con un coste de inferencia considerablemente menor que el de modelos densos del mismo tamaño nominal.

El lanzamiento se produjo pocos días después de que Google incorporara Gemini Pro a Vertex AI, en un diciembre de 2023 especialmente activo para los modelos de lenguaje. La diferencia clave: Gemini es un modelo propietario de una gran compañía; Mixtral se descarga, se ejecuta localmente y se puede usar sin restricciones de acceso ni facturación por token.

Cómo funciona la arquitectura SMoE

En un modelo de red neuronal densa clásico, cada capa de transformers procesa cada token usando todos los parámetros disponibles. En un SMoE como Mixtral, la capa de avance (feed-forward) divide sus parámetros en ocho grupos independientes llamados expertos. Para cada token, el modelo selecciona solo dos de esos ocho expertos y los combina. El resultado es que el modelo tiene 46.700 millones de parámetros en total, pero en cada paso de inferencia solo activa 12.900 millones. Esto reduce la memoria de trabajo necesaria y acelera la inferencia respecto a un modelo denso equivalente con 46.700 millones de parámetros activos.

La longitud de contexto es de 32.000 tokens, suficiente para manejar documentos largos o conversaciones extensas en una sola ventana. El modelo soporta inglés, francés, italiano, alemán y español de forma fluida, lo que lo convierte en una opción práctica para aplicaciones multilingues en Europa sin depender de modelos comerciales.

Benchmarks: supera a Llama 2 70B e iguala a GPT-3.5

Mistral AI publicó los resultados comparativos del modelo en varios benchmarks:

  • TruthfulQA: Mixtral-8x7B obtiene un 73,9%, frente al 50,2% de Llama 2 70B. La diferencia es sustancial en una prueba que mide la tendencia del modelo a generar afirmaciones incorrectas pero que suenan plausibles.
  • BBQ (Bias Benchmark for QA): Mixtral muestra menos sesgos que Llama 2 en este conjunto de pruebas, aunque sin cifras tan detalladas como en TruthfulQA.
  • MT-Bench (modelo instruido): Mixtral-8x7B Instruct alcanza 8,30 puntos sobre 10, lo que le sitúa como el mejor modelo open source en ese ranking en el momento del lanzamiento y equiparable a GPT-3.5 Turbo.

Los resultados en generación de código también son competitivos respecto a Llama 2 70B, aunque Mistral no publicó cifras en HumanEval en ese momento. Hay que tener en cuenta que los benchmarks los publica la propia empresa y deben interpretarse con la comparación directa con los modelos de referencia, no como valores absolutos.

Mixtral-8x7B Instruct: el modelo afinado para instrucciones

Junto al modelo base, Mistral AI lanzó Mixtral-8x7B Instruct, una versión afinada (fine-tuned) para seguir instrucciones en formato chat. Es este modelo instruido el que alcanza los 8,30 puntos en MT-Bench. Su licencia es igualmente Apache 2.0, lo que permite usarlo en aplicaciones comerciales sin restricciones de royalties.

Cómo desplegarlo: vLLM, Skypilot y mistral-small

Para facilitar el despliegue en produccion, Mistral AI contribuyó al proyecto vLLM con los núcleos CUDA de Megablocks que permiten ejecutar SMoE de forma eficiente en GPU. Skypilot añade una capa de abstracción que facilita levantar endpoints vLLM en cualquier instancia cloud (AWS, GCP, Azure). Para quienes no quieran gestionar su propia infraestructura, el endpoint mistral-small de la propia compañía, disponible en beta, usa Mixtral-8x7B como modelo subyacente.

La reacción de la comunidad fue inmediata. DotCSV, uno de los divulgadores de IA más seguidos en español, lo resumió así en X:

Preguntas frecuentes sobre Mixtral-8x7B

¿Qué es un modelo SMoE?
Sparse Mixture of Experts (SMoE) es una arquitectura en la que la capa feed-forward de un transformer se divide en varios grupos de parámetros independientes (expertos). Para cada token, solo se activan unos pocos expertos en lugar de todos, lo que reduce el coste de inferencia respecto a un modelo denso del mismo tamaño total.

¿Cuántos parámetros activa Mixtral-8x7B por token?
12.900 millones de un total de 46.700 millones. El modelo tiene ocho expertos por capa y selecciona dos de ellos para cada token. Esto le da la calidad de un modelo de 46.700M pero con el coste de inferencia de uno de aproximadamente 13.000M.

¿En qué idiomas funciona bien?
El modelo tiene rendimiento fluido en inglés, francés, italiano, alemán y español. Su contexto de 32.000 tokens lo hace adecuado para documentos largos en estos idiomas.

¿Se puede usar comercialmente?
Sí. Mixtral-8x7B se publica bajo licencia Apache 2.0, que permite uso comercial sin restricciones de royalties ni obligación de liberar el código de las aplicaciones que lo integren.

¿Qué diferencia hay entre Mixtral-8x7B y Mixtral-8x7B Instruct?
El modelo base está entrenado en datos textuales generales. La versión Instruct ha sido afinada para seguir instrucciones en formato conversacional (chat). Para usar el modelo como asistente interactivo se recomienda la versión Instruct.

Referencias: Mistral.AI | Leaderboard en Hugging Face

Scroll al inicio