Recursive entraîne un modèle de code avec une IA qui participe à sa propre conception

Recursive publie Flint, un modèle IA de programmation de 40 milliards de paramètres conçu avec Eureka Machine pour fonctionner rapidement en local.

Un modèle d'intelligence artificielle conçu avec l'aide d'un autre système chargé d'améliorer les méthodes d'entraînement, les architectures et les performances de calcul. C'est le principe défendu par Recursive, l'entreprise de recherche fondée par Richard Socher, qui présente son premier modèle de programmation, Flint. Développé en moins de quatre mois par une petite équipe associant chercheurs et agents IA, il compte près de 40 milliards de paramètres, mais n'en mobilise qu'environ 2,5 milliards pour traiter chaque token. Recursive annonce une vitesse supérieure à 125 tokens par seconde sur un MacBook Pro M4 Pro et des performances de programmation comparables à celles de modèles beaucoup plus coûteux à exécuter. Les poids sont disponibles sous licence Apache 2.0, avec un moteur d'inférence optimisé pour les ordinateurs personnels. Un modèle de programmation conçu pour rester sur l'ordinateur

Les assistants de développement les plus avancés s'appuient généralement sur des modèles hébergés dans des centres de données. Ils peuvent parcourir un dépôt, corriger des erreurs et exécuter des outils, mais nécessitent souvent une connexion réseau et impliquent l'envoi de code vers une infrastructure distante. Pour les développeurs travaillant sur des projets confidentiels ou souhaitant éviter une facturation à l'usage, l'exécution locale représente une alternative, à condition de disposer d'un modèle suffisamment compétent et rapide.

Flint a été conçu pour ce compromis. Il prend en charge l'analyse de dépôts, la correction de bugs, l'implémentation de fonctionnalités et la rédaction de tests, avec la possibilité d'appeler des outils sur plusieurs tours de conversation. L'objectif n'est pas de proposer un simple modèle d'autocomplétion, mais un système capable de participer à des tâches de développement impliquant plusieurs étapes.

Son architecture repose sur un Mixture-of-Experts (MoE). Contrairement à un modèle dense qui mobilise l'ensemble de ses paramètres lors de chaque passage, Flint sélectionne une petite partie de ses experts pour traiter chaque token. Il possède exactement 39,8 milliards de paramètres, dont environ 2,5 milliards actifs par token, couche de sortie comprise. Cette organisation réduit la quantité de calcul nécessaire à chaque étape, même si l'ensemble des poids doit rester disponible en mémoire.

Le modèle comprend 49 couches, dont deux couches denses et 47 couches MoE. Chaque couche à experts dispose de 256 experts sélectionnables, parmi lesquels six sont activés pour chaque token, en complément d'un expert partagé. Recursive combine également des mécanismes d'attention locale et globale afin de limiter le coût du traitement des contextes étendus. Jusqu'à 150 tokens par seconde sur du matériel personnel

Pour améliorer la vitesse de génération, Recursive a travaillé sur l'ensemble de la chaîne d'inférence, depuis la représentation des poids jusqu'aux opérations exécutées par les processeurs. Avec son moteur optimisé, l'entreprise annonce plus de 125 tokens par seconde sur un MacBook Pro M4 Pro et plus de 150 tokens par seconde sur une NVIDIA RTX Spark équipée de 64 Go de mémoire, dans des conditions de contexte court.

Selon ses mesures, Flint peut fonctionner jusqu'à deux fois plus rapidement que certains modèles de taille comparable. Recursive revendique également une génération plus de cinq fois plus rapide que celle de modèles denses de 25 à 40 milliards de paramètres affichant des résultats similaires en programmation. Ces comparaisons dépendent toutefois des modèles retenus, de leur quantification, des moteurs d'inférence et du matériel utilisé.

L'entreprise propose un moteur dédié, rec, développé pour exploiter Flint sur les puces Apple M4 Pro et M5 Pro ou Max. Disponible sur GitHub sous licence Apache 2.0, il complète les possibilités d'exécution avec llama.cpp, Ollama, LM Studio, Unsloth, vLLM et SGLang.

L'exécution locale permet de conserver les fichiers sur l'appareil et d'éviter les coûts associés aux appels d'API distants. Elle ne supprime pas pour autant les contraintes matérielles : le modèle complet en BF16 représente environ 80 Go, tandis que les variantes quantifiées abaissent sensiblement la mémoire nécessaire. L'utilisation de certaines fonctions dépend aussi du moteur choisi et de sa prise en charge des appels d'outils. Des résultats élevés en programmation agentique

Recursive a évalué Flint sur plusieurs benchmarks combinant programmation, résolution de problèmes et utilisation d'outils. La fiche du modèle publiée sur Hugging Face indique 54,9 % sur Terminal-Bench 2.1, 89,7 % sur SWE-bench Pro v2 et 74,2 % sur SWE-bench Verified.

Ces évaluations examinent des capacités différentes. Terminal-Bench mesure notamment l'exécution de tâches dans un environnement terminal, tandis que les variantes de SWE-bench portent sur la résolution de problèmes issus de dépôts logiciels. Recursive a également utilisé LiveCodeBench v6, IFBench et IFEval pour mesurer les performances du modèle sur la programmation et le respect des instructions.

L'entreprise affirme que Flint arrive en tête des modèles MoE comptant moins de 50 milliards de paramètres sur ses évaluations de programmation agentique. Elle le positionne également face à des modèles denses plus volumineux, dont certains obtiennent des résultats similaires avec une vitesse d'exécution inférieure.

Ces chiffres demandent néanmoins plusieurs précautions. Les scores de Flint proviennent des évaluations de Recursive et n'ont pas encore fait l'objet d'une reproduction indépendante complète. Les protocoles ne sont pas nécessairement identiques à ceux utilisés pour les résultats publiés par les autres développeurs. Sur Terminal-Bench, par exemple, les solutions obtenues directement par recherche sur Internet sont comptabilisées comme des échecs, ce qui peut modifier les comparaisons.

Les tests agentiques reposent sur au moins cinq tentatives, avec des délais d'exécution pouvant atteindre cinq heures. Ils mesurent donc la capacité