Avec Codestral, Mistral AI tient son LLM pour développeurs
Le 29 mai, Mistral a dévoilé Codestral, une paire de modèles dédiés à la génération de code. Ils sont accessibles via ses API payantes et sur Hugging Face, sous une licence propriétaire permissive qui limite les usages commerciaux et en production.
Codestral base et Codestral Instruct tous deux dotés de 22 milliards de paramètres sont entraînés sur « divers jeux de données » concernant plus de 80 langages de programmation, dont Python, C, C++, JavaScript, Bash, Fortran, et Swift.
Codestral Instruct est capable de répondre à des questions ou de générer de la documentation en anglais. En clair, Mistral AI continue de positionner son offre de modèles en direction des développeurs. La startup aurait d’ailleurs une arme de choix pour les convaincre.
Un modèle légèrement au-dessus de Llama 3-70B et de DeepSeek 33B
Codestral serait meilleur que Code Llama 70B, Llama 3-70B et DeepSeek 33B – l’un des LLM « open weight » les plus performants consacrés à la génération de code –, quand il est confronté à des tâches de complétion et de type « fill in the middle » liées au langage Python, PHP, Java, SQL et JavaScript des benchmarks HumanEval, HumanEval FIM et MBPP.
Il serait également performant pour accomplir des tâches liées à la production de code Kotlin.
« Nous avons utilisé Codestral pour effectuer un test sur notre benchmark Kotlin-HumanEval et nous avons été impressionnés par les résultats », affirme Mikhail Evtikhiev, chercheur chez JetBrains, dans le billet de blog publié par Mistral AI. « Par exemple, dans le cas du taux de réussite pour T=0.2, Codestral a obtenu un score de 73,75, surpassant le score de GPT-4-Turbo (72,05) et le score de GPT-3.5-Turbo (54,66) ».
Le modèle serait également meilleur que ses compétiteurs plus gourmands en puissance, une fois confrontés au benchmark RepoBench. Mistral AI explique ces performances par la longueur de la fenêtre de contexte de Codestral. Celle-ci atteint 32 000 tokens, contre 4, 8 ou 16 000 tokens pour les modèles mis en compétition.
Comme à son habitude, Mistral AI est peu prolixe quant aux méthodes d’entraînement et l’architecture de ce modèle. Selon les informations disponibles sur le dépôt Hugging Face, il présente un nombre de couches et de têtes d’attention similaire au LLM « Sparse Mixture of Experts » Mixtral 8x22B. En revanche, le nom du modèle et l’absence du nombre d’experts dans ce même dossier laissent à penser que Codestral est un modèle « dense », à l’instar de Mistral 7B.
Codestral est disponible via une API dédiée. Pour l’instant, l’accès à ce point de terminaison est soumis à une liste d’attente. Son accès sera gratuit pendant deux mois.
Le LLM est directement disponible cette fois-ci moyennant paiement depuis « La Plateforme », la suite de services mise à disposition par Mistral AI auprès des développeurs. Codestral peut être testé gratuitement en passant par Le Chat, l’assistant conversationnel de la startup.
Le LLM dispose d’intégrations pour les frameworks d’IA générative LlamaIndex et LangChain, en sus des outils Continue.dev et Tabnine via un plugin VScode ou Jetbrains.
« Open…wait » : Mistral AI lance une licence propriétaire permissive
Sur Hugging Face, les poids de Codestral sont accessibles, mais il est difficile de parler de modèle ouvert au vu de la licence appliquée par Mistral AI. Au lieu de l’habituel Apache 2.0, la startup a créé sa propre licence nommée Mistral AI Non-Production License (MNPL).
Cette licence propriétaire permissive empêche, comme son nom l’indique, l’exploitation commerciale de Codestral ou dans un environnement de production.
« Vous n’utiliserez les modèles et produits dérivés de Mistral (qu’ils soient ou non créés par Mistral AI) qu’à des fins de test, de recherche, personnelles ou d’évaluation dans des environnements non productifs », précise le texte de la licence.
« Sous réserve de ce qui précède, vous ne fournirez pas les Modèles Mistral ou les produits dérivés dans le cadre d’une activité commerciale, que ce soit à titre onéreux ou gratuit, sur quelque support ou sous quelque forme que ce soit, y compris, mais sans s’y limiter, par le biais d’un service hébergé ou géré (par exemple, SaaS, instances en cloud, etc.), ou derrière une couche logicielle », lit-on par la suite.
Pour Mistral AI, un environnement hors production « désigne tout cadre, cas d’usage ou application des modèles Mistral ou des produits dérivés qui exclut expressément les conditions réelles, les opérations commerciales, les activités génératrices de revenus ou les interactions directes avec les utilisateurs finaux (tels que, par exemple, vos employés ou vos clients) ou l’impact sur ces derniers ».
Codestral peut donc être utilisé « pour la recherche, le développement, les tests, l’assurance qualité, la formation, l’évaluation interne (autre que toute utilisation interne par les employés dans le contexte des activités commerciales de l’entreprise) et à des fins de démonstration ».
Dans un même temps, la startup ne réclame aucun droit sur les résultats (« outputs ») du modèle concerné par la MNPL.
Mistral AI n’applique pas la même licence pour l’accès à Codestral depuis La Plateforme et l’API dédié. En payant la startup, les usages en production sont bien évidemment permis.
La startup ne fait aucun secret de la raison pour laquelle elle met en place cette licence.
« Nous sommes heureux de voir notre communauté et nos partenaires construire des produits à forte marge avec nos modèles. Bien qu’il s’agisse d’une excellente nouvelle pour les utilisateurs finaux, cela ne contribue pas toujours à notre succès, à notre recherche et à notre indépendance », écrit l’équipe de Mistral AI dans un billet de blog dédié. Au vu de la quantité de fonds qu’elle a collectés, la jeune société est attendue au tournant par ses investisseurs.
Elle considère que cette nouvelle licence « établit un juste équilibre entre [son] engagement en faveur des principes d’ouverture et [sa] responsabilité de développer [son] activité ».
Et de préciser quelle « continuera de publier des modèles et du code sous Apache 2.0 alors [qu’elle consolide] progressivement deux familles de produits publiés sous Apache 2.0 et la MNPL ».