L’équipe de Mistral AI est fière de publier Mistral 7B, le modèle de langage le plus puissant à ce jour pour sa taille.
Mistral 7B en bref
Mistral 7B est un modèle de 7,3 milliards de paramètres qui :
Surpasse Llama 2 13B sur tous les benchmarks
Surpasse Llama 1 34B sur de nombreux benchmarks
Se rapproche des performances de CodeLlama 7B sur le code, tout en restant performant sur les tâches en anglais
Utilise l’attention à requêtes groupées (GQA) pour accélérer l’inférence
Utilise l’attention à fenêtre glissante (SWA) pour traiter des séquences plus longues à moindre coût
Nous publions Mistral 7B sous licence Apache 2.0. Il peut être utilisé sans restriction.
Téléchargez-le et utilisez-le partout, y compris en local, avec notre implémentation de référence,
Déployez-le sur n’importe quel cloud (AWS/GCP/Azure), avec vLLM inference server et skypilot,
Utilisez-le sur HuggingFace.
Mistral 7B se prête facilement au fine-tuning pour toute tâche. À titre de démonstration, nous fournissons un modèle fine-tuné pour la conversation, qui surpasse Llama 2 13B chat.
Performance en détail
Nous avons comparé Mistral 7B à la famille Llama 2, et nous avons réexécuté toutes les évaluations de modèles nous-mêmes pour garantir une comparaison équitable.

Les benchmarks sont classés par thème :
Raisonnement de sens commun : moyenne 0-shot de Hellaswag, Winogrande, PIQA, SIQA, OpenbookQA, ARC-Easy, ARC-Challenge et CommonsenseQA.
Connaissance du monde : moyenne 5-shot de NaturalQuestions et TriviaQA.
Compréhension de lecture : moyenne 0-shot de BoolQ et QuAC.
Mathématiques : moyenne de GSM8K en 8-shot avec maj@8 et de MATH en 4-shot avec maj@4
Code : moyenne de Humaneval en 0-shot et de MBPP en 3-shot
Résultats agrégés populaires : MMLU en 5-shot, BBH en 3-shot et AGI Eval en 3-5-shot (questions à choix multiples en anglais uniquement)

Une métrique intéressante pour comparer les modèles sur le plan coût/performance consiste à calculer des « tailles de modèle équivalentes ». En raisonnement, en compréhension et en raisonnement STEM (MMLU), Mistral 7B atteint des performances équivalentes à celles d'un Llama 2 qui ferait plus de 3 fois sa taille. Autant de mémoire économisée et de débit gagné.
Note : différences importantes entre notre évaluation et l'article LLaMA2 :
Pour MBPP, nous utilisons le sous-ensemble vérifié manuellement
Pour TriviaQA, nous ne fournissons pas de contextes Wikipedia
Flash and Furious : dérive de l'attention
Mistral 7B utilise un mécanisme d'attention à fenêtre glissante (sliding window attention, SWA) (Child et al., Beltagy et al.), dans lequel chaque couche prête attention aux 4 096 états cachés précédents. La principale amélioration, et la raison pour laquelle cette approche a d'abord été étudiée, est un coût de calcul linéaire de O(sliding_window.seq_len). En pratique, les modifications apportées à FlashAttention et xFormers donnent une amélioration de vitesse de 2× pour une longueur de séquence de 16k avec une fenêtre de 4k. Merci à Tri Dao et Daniel Haziza pour leur aide dans l'intégration de ces changements dans des délais serrés.
L'attention à fenêtre glissante utilise les couches empilées d'un transformer pour prêter attention au passé au-delà de la taille de la fenêtre : un token i à la couche k prête attention aux tokens [i-sliding_window, i] à la couche k-1. Ces tokens ont prêté attention aux tokens [i-2*sliding_window, i]. Les couches supérieures ont accès à des informations plus éloignées dans le passé que ce que les schémas d'attention semblent indiquer.

Enfin, une portée d'attention fixe signifie que nous pouvons limiter notre cache à une taille de sliding_window tokens, au moyen de tampons rotatifs (plus d'informations dans notre dépôt de l'implémentation de référence). Cela économise la moitié de la mémoire cache pour l'inférence sur une longueur de séquence de 8192, sans affecter la qualité du modèle.
Fine-tuning de Mistral 7B pour le chat
Pour montrer les capacités de généralisation de Mistral 7B, nous l'avons fine-tuné sur des jeux de données d'instructions publiquement disponibles sur HuggingFace. Aucun artifice, aucune donnée propriétaire. Le modèle obtenu, Mistral 7B Instruct, surpasse tous les modèles 7B sur MT-Bench et est comparable aux modèles chat 13B.

Le modèle Mistral 7B Instruct montre rapidement que le modèle de base peut être fine-tuné pour obtenir des performances convaincantes. Il ne dispose d'aucun mécanisme de modération. Nous souhaitons échanger avec la communauté sur les façons d'amener le modèle à respecter finement des garde-fous, afin de permettre son déploiement dans des environnements qui exigent des sorties modérées.
Remerciements
Nous remercions CoreWeave pour son aide 24 h/24 et 7 j/7 dans la gestion de notre cluster. Nous remercions l'équipe CINECA/EuroHPC, et en particulier les opérateurs de Leonardo, pour leurs ressources et leur aide. Nous remercions les mainteneurs de FlashAttention, vLLM, xFormers et Skypilot pour leur aide précieuse dans l'implémentation de nouvelles fonctionnalités et l'intégration de leurs solutions aux nôtres. Nous remercions les équipes de HuggingFace, AWS, GCP et Azure ML pour leur aide intensive afin de rendre notre modèle compatible partout.





