JetBrains ouvre Mellum2.1, un petit modèle qui modifie les dépôts

JetBrains a publié et ouvert en open source Mellum2.1, un petit modèle conçu pour les agents de programmation exécutés en local. Il reprend l'architecture à mélange d'experts (MoE) de Mellum2, avec 12B de paramètres au total dont 2,5B actifs, sous licence Apache 2.0. Les poids sont disponibles sur Hugging Face, et la fiche du modèle le présente comme un « modèle de réflexion » (thinking model).

Le blog officiel le décrit sans détour : il sait parcourir un dépôt de code, modifier des fichiers, puis vérifier ses propres changements. La génération précédente n'y parvenait pas, et JetBrains reconnaît dans son texte que Mellum2 n'atteignait pas le niveau souhaité pour travailler au sein de dépôts.

L'architecture ne bouge pas, c'est l'entraînement qui change

Mellum2.1 et Mellum2 partagent la même ossature : 28 couches, 64 experts dont 8 activés à chaque fois, attention GQA, fenêtre glissante de 1024 sur 3 couches sur 4, et une longueur de contexte de 131072. Tout le changement se situe dans le post-entraînement.

Selon JetBrains, l'apprentissage par renforcement, autrefois une courte phase en fin d'entraînement, en est devenu le cœur. Les tâches couvrent les mathématiques, la programmation de compétition, les sciences, l'appel d'outils et le génie logiciel. Les données mêlent des jeux de données publics d'apprentissage par renforcement et des tâches créées par l'équipe ; chaque source a été filtrée avant d'entrer dans l'entraînement, car les données publiques contiennent souvent des tests mal écrits, des réponses invérifiables et des niveaux de difficulté inadaptés.

La partie génie logiciel a été entraînée sur de vrais dépôts de code : le modèle reçoit un shell et des outils d'édition de fichiers, et n'obtient une récompense que si les tests passent. L'équipe a bâti pour cela sa propre infrastructure ; selon la formulation du blog, l'entraînement a lancé « millions of sandboxed runs across thousands of environments », soit des millions d'exécutions en bac à sable réparties sur des milliers d'environnements.

Où les scores progressent

La fiche du modèle propose un tableau comparatif établi par l'équipe elle-même, avec pour adversaires la génération précédente Mellum2 Thinking, Gemma 4 E4B et Qwen3.5 9B. La plus forte progression concerne les tâches d'agent :

BenchmarkMellum2.1Mellum2Qwen3.5 9B
SWE-bench Verified47,02,050,0
SWE-bench Pro28,00,038,0
Terminal-Bench 2.117,40,621,7
LiveCodeBench v682,069,475,4
BFCL v462,349,658,5

Les évaluations d'agent utilisent toutes le framework d'exécution open source Pi v0.73.1, avec des outils shell et fichiers, un contexte de 114K et au maximum 16K tokens par tour. Tous les scores ont été obtenus par JetBrains lui-même ; aucune reproduction par un tiers n'existe pour l'instant.

Face à Qwen3.5 9B

Comparé à Qwen3.5 9B, le modèle de taille équivalente le plus souvent cité en référence, Mellum2.1 présente des points forts et des points faibles très nets.

Écrire une fonction isolée, résoudre des problèmes de compétition, appeler des outils : Mellum2.1 mène, avec 6,6 points de plus sur LiveCodeBench, près de 10 points de plus sur MBPP+ et environ 4 points de plus sur BFCL. Travailler en continu dans un dépôt : il reste en retrait, avec 3 points de moins sur SWE-bench Verified, 10 de moins sur SWE-bench Pro et un peu plus de 4 de moins sur Terminal-Bench. L'écart en raisonnement général est plus grand : 64,6 contre 77,8 sur GPQA Diamond, 83,3 contre 86,7 sur AIME. Sur XSTest, le test de refus pour des raisons de sécurité, ses 88,8 points sont eux aussi inférieurs à ceux de Qwen et de Gemma.

JetBrains mise sur la vitesse. Le blog affirme que, lors d'un test à forte charge sur H200, Mellum2.1 était le plus rapide du groupe, servant par unité de temps environ deux fois plus de tokens que Qwen3.5 9B ; pour une requête unique, la prédiction multi-token peut l'accélérer d'environ 1,6 fois supplémentaire. La raison se devine aisément : un modèle dense de 9B calcule tous ses paramètres pour chaque token, alors que Mellum2.1 n'en sollicite que 2,5B à chaque fois. Au doigt mouillé, son coût de calcul par token représente environ trois dixièmes de celui de l'autre, en contrepartie de quoi les 12B de poids doivent tenir en mémoire vidéo, soit environ 24GB en bfloat16.

Cela détermine sa place : sur la machine du développeur ou dans le réseau interne de l'entreprise, où il absorbe un grand nombre de petites modifications répétitives et d'appels d'outils, tandis que les refactorisations complexes touchant plusieurs fichiers reviennent à des modèles plus grands. JetBrains souligne aussi dans son blog que le déploiement local laisse le code et les données entièrement entre les mains de l'utilisateur.

Comment l'utiliser dès maintenant

La fiche du modèle fournit la commande de déploiement avec vLLM, et Transformers comme SGLang fonctionnent aussi. Les versions GGUF pour llama.cpp, Ollama et LM Studio, ainsi que les têtes MTP pour le décodage spéculatif dans vLLM, sont annoncées officiellement comme « bientôt disponibles », sans date pour le moment. Pour la plupart de ceux qui voudraient l'essayer sur un portable, il faudra attendre la sortie du GGUF pour que ce soit pratique.

Sources : blog officiel de JetBrains, fiche du modèle sur Hugging Face (vérification des paramètres d'architecture et des scores), CocoLoop ; rapport technique de Mellum2 (vérification de l'architecture de la génération précédente).