XYZNOT

Articles · arXiv 2401.04088

Mixtral of Experts

Publié le cs.LGcs.CL arXivPDF

Lire avec traduction et IA

Résumé en trois lignes

  1. 🎯 Augmenter la capacité et les performances du transformer sans entraîner de latence d'inférence ni de coûts de calcul prohibitifs.
  2. 🔧 Une architecture décodeur seul en Sparse Mixture of Experts (SMoE) remplaçant les blocs feedforward standards par 8 experts SwiGLU, sélectionnant 2 experts par jeton via un routeur appris.
  3. 📈 Accède à 47B de paramètres totaux avec seulement 13B actifs par jeton, surpassant Llama 2 70B sur MMLU (70,6 % contre 69,9 %) et GSM8K (74,4 % contre 69,6 %).

Résumé

Nous présentons Mixtral 8x7B, un modèle de langue de type Sparse Mixture of Experts (SMoE). Mixtral partage la même architecture que Mistral 7B, à la différence que chaque couche est composée de 8 blocs feedforward (c'est-à-dire d'experts). Pour chaque jeton, à chaque couche, un réseau routeur sélectionne deux experts pour traiter l'état courant et combiner leurs sorties. Même si chaque jeton ne voit que deux experts, les experts sélectionnés peuvent différer à chaque pas temporel. En conséquence, chaque jeton a accès à 47B de paramètres, mais n'utilise que 13B de paramètres actifs lors de l'inférence. Mixtral a été entraîné avec une taille de contexte de 32k jetons et surpasse ou égale Llama 2 70B et GPT-3.5 sur l'ensemble des benchmarks évalués. En particulier, Mixtral surpasse largement Llama 2 70B en mathématiques, en génération de code et sur les benchmarks multilingues. Nous fournissons également un modèle ajusté pour suivre des instructions, Mixtral 8x7B - Instruct, qui surpasse GPT-3.5 Turbo, Claude-2.1, Gemini Pro et le modèle Llama 2 70B - chat sur les benchmarks humains. Les modèles de base et instruct sont tous deux publiés sous licence Apache 2.0.

Résumé original (anglais)

We introduce Mixtral 8x7B, a Sparse Mixture of Experts (SMoE) language model. Mixtral has the same architecture as Mistral 7B, with the difference that each layer is composed of 8 feedforward blocks (i.e. experts). For every token, at each layer, a router network selects two experts to process the current state and combine their outputs. Even though each token only sees two experts, the selected experts can be different at each timestep. As a result, each token has access to 47B parameters, but only uses 13B active parameters during inference. Mixtral was trained with a context size of 32k tokens and it outperforms or matches Llama 2 70B and GPT-3.5 across all evaluated benchmarks. In particular, Mixtral vastly outperforms Llama 2 70B on mathematics, code generation, and multilingual benchmarks. We also provide a model fine-tuned to follow instructions, Mixtral 8x7B - Instruct, that surpasses GPT-3.5 Turbo, Claude-2.1, Gemini Pro, and Llama 2 70B - chat model on human benchmarks. Both the base and instruct models are released under the Apache 2.0 license.

Guide de lecture

Problème et motivation

Les modèles de langue autorégressifs denses engendrent des coûts de calcul directement proportionnels à leur nombre total de paramètres pour chaque jeton traité. À mesure que les modèles atteignent 70B de paramètres et au-delà, leur déploiement avec une faible latence et un débit élevé devient extrêmement coûteux sur le plan informatique. Les auteurs visent à augmenter la capacité du modèle tout en maintenant un coût d'inférence par jeton comparable à celui de modèles beaucoup plus petits, créant ainsi un modèle aux poids ouverts capable d'égaler ou de surpasser Llama 2 70B et des modèles propriétaires de référence comme GPT-3.5.

Idées clés

  • Sparse Mixture of Experts (SMoE) : Remplacement des blocs de réseaux feedforward (FFN) denses sur l'ensemble des 32 couches du transformer par 8 réseaux experts distincts, en routant chaque jeton uniquement vers les 2 meilleurs experts (top-2).
  • Découplage du nombre de paramètres : L'architecture contient 47B de paramètres au total à travers ses couches, mais n'exécute que 13B de paramètres actifs par passe avant pour un jeton donné, égalant l'empreinte de calcul d'un modèle dense de taille intermédiaire.
  • Fenêtre de contexte complète de 32k : Prise en charge native de séquences d'une longueur de 32 768 jetons avec une précision de récupération de 100 % sur les benchmarks de passkey.
  • Routage syntaxique plutôt que thématique : L'analyse empirique du routage des jetons révèle que la sélection des experts est principalement guidée par la fonction syntaxique et la localité temporelle plutôt que par des domaines thématiques de haut niveau.

Méthode (avec les équations clés)

Mixtral modifie l'architecture de Mistral 7B ( couches, dimension cachée de , têtes d'attention, têtes clé-valeur) en remplaçant chaque sous-bloc FFN par un module MoE composé de experts (), chacun étant implémenté sous forme de réseau SwiGLU avec une dimension intermédiaire de .

Pour la représentation d'un jeton d'entrée , un réseau routeur calcule une distribution de routage parcimonieuse sur les experts à l'aide des logits du top- () : où l'opérateur Top-K assigne à toutes les coordonnées en dehors des plus grandes valeurs des logits :

La sortie globale de la couche est calculée comme la somme des sorties des experts pondérée par le mécanisme de routage : Une exécution efficace est obtenue grâce à des noyaux tels que MegaBlocks, qui représentent le calcul MoE sous forme de multiplications de matrices creuses, parallèlement à l'usage de l'Expert Parallelism sur plusieurs GPU.

Résultats (avec les chiffres les plus importants)

  • Benchmarks généraux et de raisonnement : Sur MMLU (5-shot), Mixtral 8x7B atteint 70,6 % contre 69,9 % pour Llama 2 70B et 70,0 % pour GPT-3.5. Sur GSM8K (8-shot, maj@8), il atteint 74,4 % contre 69,6 % pour Llama 2 70B. Sur le benchmark MATH (4-shot, maj@4), Mixtral obtient 28,4 % contre 13,8 % pour Llama 2 70B.
  • Génération de code : Mixtral surpasse nettement Llama 2 70B sur HumanEval (40,2 % contre 29,3 %) et MBPP (60,7 % contre 49,8 %).
  • Tâches multilingues : Le suréchantillonnage de données multilingues permet à Mixtral de surpasser Llama 2 70B en français, allemand, espagnol et italien sur ARC-Challenge, HellaSwag et MMLU (par exemple, MMLU en français : 70,9 % contre 64,3 %).
  • Ajustement pour instructions et Arena Elo : Mixtral 8x7B – Instruct (entraîné avec SFT et Direct Preference Optimization) obtient un score de 8,30 sur MT-Bench et atteint un Elo de 1121 sur LMSys Chatbot Arena, surpassant Claude-2.1 (1117), GPT-3.5-Turbo (1117) et Llama-2-70b-chat (1077).
  • Récupération en contexte long : Atteint une précision de récupération de 100 % sur la tâche synthétique de récupération de passkey sur l'ensemble de la fenêtre de contexte de 32k jetons.

Limites et questions ouvertes

  • Empreinte mémoire versus calcul : Bien que le coût de calcul dépende des 13B de paramètres actifs, le déploiement nécessite suffisamment de VRAM pour charger l'ensemble des 47B de paramètres, exigeant des configurations multi-GPU ou des techniques de déchargement (offloading).
  • Goulots d'étranglement de l'Expert Parallelism : L'article met en évidence une forte localité temporelle : des jetons consécutifs se voient assigner les mêmes experts bien plus souvent que par hasard (jusqu'à 28,4 % de répétition du premier choix à la couche 15 contre 12,5 % pour une distribution aléatoire). Cela peut causer un déséquilibre de charge et une sur-sollicitation de certains GPU sous Expert Parallelism.
  • Absence de spécialisation thématique : La sélection du routeur ne segmente pas naturellement par domaine conceptuel (par exemple, biologie contre philosophie), laissant ouverte la question de la structuration du routage si une spécialisation explicite des experts par domaine est recherchée.

Termes clés

Sparse Mixture of Experts (SMoE)
Une architecture de réseau de neurones où le calcul conditionnel achemine chaque jeton d'entrée vers un sous-ensemble restreint de sous-réseaux feedforward (experts) plutôt que d'activer tous les paramètres.
Active Parameter Count
Le nombre de paramètres réellement chargés et calculés lors de l'inférence pour un seul jeton, soit 13B dans Mixtral par rapport à ses 47B de paramètres parcimonieux totaux.
SwiGLU
Une variante d'activation par unité linéaire à porte combinant Swish et multiplication élément par élément, utilisée comme architecture interne de chaque bloc feedforward expert.
TopK Gating
Un mécanisme de routage qui applique une projection linéaire à la représentation du jeton, conserve les K valeurs les plus élevées tout en masquant le reste à l'infini négatif, et les normalise via softmax.
Expert Parallelism (EP)
Une stratégie de partitionnement distribué qui fait correspondre différents experts à des GPU distincts et achemine les activations des jetons d'un appareil à l'autre vers l'expert qui leur a été attribué.
Direct Preference Optimization (DPO)
Un algorithme d'alignement qui optimise directement les paramètres du modèle de langue sur des paires de préférences sans nécessiter l'entraînement d'un modèle de récompense explicite par apprentissage par renforcement.
Passkey Retrieval
Un test d'évaluation synthétique mesurant la capacité d'un modèle à localiser et restituer une courte clé secrète positionnée aléatoirement au sein de longs contextes d'entrée pouvant atteindre 32k jetons.
Positional Locality
La tendance observée selon laquelle des jetons consécutifs dans une séquence se voient attribuer de manière répétée le même expert, à une fréquence bien supérieure à une probabilité uniforme aléatoire.

Questions

Pourquoi Mixtral est-il appelé 8x7B s'il ne possède que 47B de paramètres au lieu de 56B ?

Bien qu'il y ait 8 experts par couche et que l'architecture soit dérivée de Mistral 7B, les poids d'auto-attention et les couches d'embedding sont partagés entre tous les experts. Seuls les sous-blocs feedforward sont répliqués 8 fois, ce qui donne un total de 47B de paramètres plutôt que 8 × 7B = 56B.

Combien d'experts sont activés pour chaque jeton pendant l'inférence ?

Le routeur sélectionne exactement 2 experts () parmi les 8 experts disponibles à chaque couche pour chaque jeton, ce qui représente 13B de paramètres actifs par passe avant.

Différents experts se spécialisent-ils dans des disciplines ou domaines académiques distincts ?

Aucune spécialisation évidente par domaine n'a été constatée. L'analyse sur The Pile a montré des distributions d'attribution d'experts pratiquement identiques à travers des sujets comme ArXiv, PubMed et PhilPapers ; les décisions de routage sont en réalité fortement corrélées à la syntaxe, à l'identité du jeton et à la localité positionnelle.

Sous quelle licence logicielle les modèles Mixtral 8x7B sont-ils distribués ?

Le modèle de base Mixtral 8x7B et Mixtral 8x7B – Instruct sont tous deux publiés sous la licence permissive Apache 2.0 pour un usage académique et commercial.

La présentation de cette page a été rédigée par une IA à partir de l'article et peut contenir des erreurs. Consultez l'article pour les détails.

Lire avec traduction et IA