Mistral AI s’associe à Nvidia pour entraîner Mistral NeMo 12B
Mistral AI et Nvidia ont développé conjointement Mistral NeMo 12B, un « remplaçant immédiat » à Mistral 7B conçu pour s’exécuter sur le système d’inférence conteneurisé Nvidia NIM.
Le même jour que la disponibilité de GPT-4o mini, Mistral AI et Nvidia ont annoncé la disponibilité de Mistral NeMo 12B. Comme son nom l’indique, ce grand modèle de langage de taille réduite a été conçu pour s’exécuter sur les GPU de Nvidia.
Le dixième LLM de Mistral AI (et le sixième sous licence Apache 2.0), doté de 12 milliards de paramètres, a été entraîné entre mai et juin 2024 sur l’architecture de référence Nvidia DGX Cloud.
Nvidia oblige, Mistral AI a exploité Megatron LM, une librairie PyTorch optimisée pour les GPU Nvidia. L’équipementier « fabless » précise que la startup française a eu accès à un cluster de 3 072 GPU H100 de 80 Go de VRAM HBM3e, le réseau associé et sa suite Nvidia AI Enterprise.
Mistral NeMo 12B : un modèle taillé pour certains GPU Nvidia
À l’inférence, Mistral NeMo 12B devait tenir dans un conteneur NIM (NeMo Inference Microservices), qui renferme une image optimisée du LLM pour s’exécuter à l’aide du framework TensorRT de Nvidia. Les deux partenaires assurent que cette image sera « bientôt disponible ».
Il peut également être déployé dans le cloud ou sur site avec deux autres frameworks, Mistral inference et transformers.
Nvidia souhaitait que le modèle s’exécute sur une seule Nvidia L40S (48 Go de VRAM GDDR6), une RTX 4500 Ada (24 Go de VRAM GDDR6) ou sur la carte haut de gamme, mais grand public, RTX 4090 (24 Go de VRAM GDDR6X). Le checkpoint consolidé du modèle pèse 24,5 Go au format FP16.
Habitué à ce type de cahier de charges, Mistral AI a par ailleurs optimisé le modèle pour la quantisation en FP8, un format de nombre en virgule flottante encodé sur 8 bits. Les deux sociétés auraient ainsi réduit l’espace occupé par le modèle en mémoire vive vidéo « sans perte de performance ». Cette compression semble nécessaire pour les GPU équipés de 24 Go de VRAM ou moins.
En matière d’objectif d’entraînement, Mistral AI et Nvidia se sont concentrés sur les cas d’usage multilingues. Mistral NeMo 12B a été entraîné pour répondre en anglais, en français, allemand, espagnol, italien, portugais, chinois, japonais, coréen, arabe et en hindi. Il comprend également les appels de fonction et serait idéal pour le traitement de conversations. Sa version « instruite » est optimisée pour les échanges multitour en anglais.
Résultat, Mistral NeMo 12B dépasse d’environ 10 points de pourcentage Llama 3-8B sur les versions multilingues des benchmarks HellaSwag, ARC C et MMLU.
Tekken, un tokenizer qui frappe fort
En ce sens, la startup introduit un « nouveau » tokenizer. Celui-ci est basé sur Tiktoken, un modèle de conversion des mots en tokens introduit par OpenAI. Tekken (sans nul doute une référence au célèbre jeu vidéo de combat Tekken 3 : c’est la troisième version du tokenizer de Mistral AI) a été entraîné sur plus de 100 langues différentes, dont plus de 80 langages de programmation. Sa limite de connaissances est datée au mois d’avril 2024.
Selon Mistral AI, tekken est « environ 30 % plus efficace pour compresser le code source, le chinois, l’italien, le français, l’allemand, l’espagnol et le russe » que SentencePiece. SentencePiece est un tokenizer développé par Google. « Il est également 2 fois plus efficace pour compresser le coréen et 3 fois plus pour les textes en arabe », ajoute le fournisseur français. « Comparé au tokenizer de Llama 3, Tekken s’est avéré plus efficace dans la compression de texte pour environ 85 % de toutes les langues ».
Quant à Mistral NeMo 12B, sa version de base affiche des scores légèrement supérieurs à Gemma 2-9B et Llama 3-8B face aux évaluations HellaSwag, Winogrande, Natural IQ, TriviaQA, OpenBookQA, CommonSenseQA et Thruthful QA. Gemma 2-9B le bat de 3,5 points de pourcentage au test MMLU. Il faut dire que les deux adversaires de Mistral NeMo 12B ont une fenêtre de contexte de 8 000 tokens quand lui peut ingérer 128 000 tokens en entrée.
La carte du modèle disponible sur HuggingFace permet de confirmer qu’il s’agit d’un modèle dense constitué sur la base de Mistral 7B, tout comme Mathstral. Du fait de la collaboration avec Nvidia et de la nature « open weight » du modèle, la documentation est plus fournie qu’à l’accoutumée. L’on y apprend que les équipes de recherche ont combiné la fonction d’activation SwiGLU, le mécanisme d’encodage rotatif des embeddings ROPE et d’attention groupée GQA. En résumé, ces différentes techniques permettent d’optimiser les traitements lors de l’entraînement et d’étendre la fenêtre de contexte.
Les deux déclinaisons de Mistral NeMo 12B sont disponibles depuis HuggingFace, La Plateforme, le catalogue d’API payantes de Mistral AI, et bientôt sur celui de Nvidia..