Codestral : Mistral AI lance un modèle de code haut de gamme mais limite son utilisation
Le concurrent français d'OpenAI publie, ce mercredi 29 mai, son modèle de génération de code. Une IA lancée à des fins de recherche et de testing uniquement.
Après avoir bousculé le monde du LLM généraliste, Mistral s'attaque aux modèles spécialisés en génération de code. Annoncé ce mercredi 29 mai, Codestral est le premier modèle libre dédié à la génération de code du laboratoire français. Le modèle est, selon les benchmarks, à l'état de l'art dans le domaine. Pour l'occasion, Mistral AI introduit également une nouvelle licence d'utilisation "non-production", qui prohibe de fait une utilisation autre que pour du testing ou de la recherche.
Un très bon modèle pour Python
De Python à Java, en passant par C ou C++, Codestral a été entraîné sur un dataset de plus de 80 langages de programmation. Il performerait également sur des langages plus rares comme Swift ou Fortran. Doté de seulement 22 milliards de paramètres, Codestral surpasse l'ensemble des modèles de code du marché sur la plupart des benchmarks. Fait notable, le modèle fait mieux que CodeLlama qui dispose de 70 milliards de paramètres. Avec un score HumanEval de 91,6%, il surpasse la plupart des autres modèles évalués, ce qui en fait un outil particulièrement performant pour interroger du code en langage naturel.
Mistral a comparé les performances à plusieurs modèles de langage de pointe, dont CodeLlama 70B, DeepSeek Coder 33B et Llama 3 70B, sur une série de tests de génération de code dans divers langages de programmation. Les résultats montrent que Codestral 22B se démarque avec une précision moyenne de 61,5% sur l'ensemble des langages évalués, grâce notamment à d'excellentes performances en Python où il atteint 81,1% d'accuracy. Codestral 22B devance ainsi ses concurrents dans la plupart des langages, même si DeepSeek Coder 33B le talonne en C++++ et Java, et que Llama 3 70B s'illustre en TypeScript. Les scores varient sensiblement d'un langage à l'autre, avec des baisses notables pour tous les modèles sur des langages comme Bash ou C#.
Dôté d'un contexte de 32 000 tokens, le modèle est idéal pour l'analyse d'une petite portion de code.
Un code simple et robuste
Nous avons pu tester le modèle depuis l'interface "Le Chat" de Mistral AI. Nous demandons au modèle de générer le code C++ d'un générateur de mot de passe aléatoire et sécurisé. Première remarque : le modèle génère le code avec une latence ultra-réduite. Le code produit est robuste, simple et répond parfaitement à la demande initiale. Quelques itérations supplémentaires pourraient être exigées pour renforcer encore la sécurité du générateur, mais le résultat est globalement très bon. Par défaut le modèle ne génère pas de commentaires autour du code, il suffit de lui en donner la consigne dans le prompt.
Une nouvelle licence d'utilisation
A l'occasion de la publication de Codestral, Mistral AI lance une nouvelle licence. La Mistral AI non-production license ou MNPL autorise l'utilisation des modèles pour un usage non-commercial et pour la recherche. En clair, les modèles concernés sont, dans la théorie, utilisables uniquement à des fins de recherche et de testing. Officiellement la start-up parisienne justifie l'arrivée de cette nouvelle licence pour assurer la viabilité et la croissance de son activité, dans un contexte où l'ouverture est selon elle menacée et instrumentalisée par certains acteurs dominants de l'industrie de l'IA pour renforcer leur position. Codestral est ainsi publié sous les termes de cette licence. Pour autant Mistral AI assure qu'il continuera de publier des modèles sous licence Apache 2.0.
Codestral est disponible depuis l'API de Mistral (La Plateforme), l'interface grand public (Le Chat). Le modèle est également publié sur Hugging Face et intégré dans les Framework LlamaIndex et LangChain. De même, Codestral est mis à disposition sur Continue.dev et Tabnine, deux extensions pour les IDE VSCode et JetBrains.