Des LLM apprennent à lire et écrire les poids des réseaux

Des chercheurs de MIT CSAIL décrivent une capacité inattendue des grands modèles de langage : lire, corriger et même écrire des poids de réseaux de neurones. L’idée ouvre des usages en interprétabilité et optimisation, mais reste fragile hors laboratoire.

Des chercheurs de MIT CSAIL décrivent une capacité nouvelle chez des LLM de pointe, baptisée Weight-Space Programming : lire et écrire directement les poids d’un réseau de neurones, sans passer par la descente de gradient. Selon leur papier publié le 2 novembre 2026, GPT-6 Astra peut identifier la tâche d’un modèle à partir de ses poids seuls, corriger un réseau défaillant et, dans certains cas, en écrire un de zéro. Pour l’interprétabilité comme pour l’optimisation, le sujet compte car il déplace une partie du travail de l’algorithme vers le raisonnement du modèle lui-même.

Quand un LLM lit les poids comme un humain lit un indice

Le résultat le plus simple à comprendre est aussi le plus déroutant. Dans plusieurs expériences, Astra reçoit les poids bruts d’un réseau, parfois sans couche d’entrée ni de sortie, et retrouve pourtant ce qu’il a appris à faire. Sur de petits jeux, il identifie la bonne tâche à partir de motifs dans les couches, sans exécuter le réseau. Les auteurs décrivent cela comme une lecture de la structure géométrique des poids plutôt qu’un calcul classique du comportement.

Le test le plus parlant concerne trois réseaux de jeu entraînés sur Breakout, Pong, Pac-Man et Freeway. Le modèle reçoit les 17 253 poids d’un réseau de politique, avec la même architecture pour chaque jeu, puis doit deviner lequel a été entraîné. Astra vise juste sur les quatre réseaux. Même logique sur des modèles de diffusion : à partir des poids seuls, il reconnaît des générateurs de cercle, triangle et carré, même s’il ne voit jamais un passage avant.

Les auteurs insistent sur un point qui fait la différence : le modèle ne se contente pas de lire les dernières couches. Sur trois petits modèles de langage entraînés sur Python, le romaji japonais et l’anglais, il identifie la langue d’entraînement en n’ayant accès qu’aux blocs centraux. Il retrouve aussi les copying heads, ces têtes d’attention qui recollent des morceaux de texte déjà vus. C’est le genre de détail qui donne à l’histoire un petit parfum de “les machines ont lu le mode d’emploi, et elles l’ont compris”.

Corriger un réseau sans entraînement, la partie la plus intrigante

La démonstration la plus utile pour l’industrie ne concerne pas seulement la lecture. Astra parvient aussi à modifier des poids pour réparer un comportement raté. Dans un environnement Kinetix, un agent censé faire reculer une voiture avant de franchir une rampe échoue systématiquement en allant droit au blocage. Avec les poids, la scène et une trajectoire enregistrée, Astra repère un minimum local et réécrit une petite fraction du réseau pour introduire une nouvelle voie de décision. Le résultat tient en une donnée : 1 024 épisodes réussis sur 1 024, après modification de 3,5 % des poids.

Le cas le plus spectaculaire concerne Qwen3.5-0.8B. Les chercheurs lui demandent d’améliorer son raisonnement mathématique sans gradients, avec un simple environnement Python qui lui permet d’inspecter les poids et de lancer quelques passes avant. Astra repère un problème bien précis : le modèle entre dans des boucles de raisonnement, un défaut signalé aussi dans sa fiche modèle. En retranchant une direction portée par les MLP des couches 15 et 19, il modifie 131 072 poids, soit 0,016 % du total, et fait monter MATH-500 de 7,9 % à 48,1 %. GSM8K passe de 13,8 % à 67,1 %, et IFEval grimpe de 21,0 % à 62,3 %.

Cette correction a une limite nette, et elle est importante. Quand le modèle de départ ne cache pas une capacité bloquée mais manque vraiment de compétence, l’édition ne suffit plus. Sur Gemma 3 270M, plus petite et moins sujette aux boucles, Astra n’améliore presque rien en mathématiques. Autrement dit, retirer un obstacle est plus simple que fabriquer une aptitude. Le réseau n’accepte pas la chirurgie cosmétique.

Écrire un réseau de zéro, puis viser le Go

Au-delà de la correction, les auteurs testent aussi la génération de poids à partir d’une consigne en langage naturel. Sur MinAtar, Astra doit écrire des réseaux pour Breakout, Seaquest et Asterix sans données d’entraînement, sans gradients et sans exécution préalable. Les modèles qu’il produit battent des PPO entraînés pendant 100 millions de pas dans les trois jeux. Face à des PPO entraînés 500 millions de pas, ils font mieux sur Breakout, se rapprochent sur Asterix et atteignent encore 60 % du score sur Seaquest.

Sur le Go, l’exercice monte d’un cran. Le réseau cible compte 1,48 million de poids, bien trop pour tenir dans le contexte d’un LLM de manière brute. Astra travaille alors avec un sandbox Python, peut relire les tenseurs et effectuer quelques passes avant, mais ne peut pas lancer d’entraînement ni faire de recherche arborescente. Même avec 0 passe avant, il gagne plus d’une partie sur deux contre deux petits réseaux PPO. Avec 50 passes, il dépasse même le réseau de taille égale entraîné sur 20 millions de parties. Les auteurs décrivent une méthode en couches : marquer les pierres, suivre les groupes en danger, puis convertir cela en score de coup. Le tout sans appel à une bibliothèque Go. Pas mal pour un modèle censé seulement “prédire du texte”.

Ce que cela change pour l’interprétabilité et l’optimisation

Le travail ne prouve pas qu’un LLM peut lire n’importe quel réseau à l’échelle industrielle. Les auteurs reconnaissent des limites de contexte, de harness et de généralisation. Mais la direction est claire : des modèles généralistes peuvent déjà servir d’interface entre langage naturel et espace des poids. Pour l’audit, cela pourrait aider à détecter des comportements cachés sans lancer systématiquement des tests complets. Pour l’optimisation, cela ouvre la porte à des corrections ciblées, moins coûteuses qu’un réentraînement complet.

Le revers est connu : plus une méthode promet des raccourcis, plus il faut vérifier qu’elle ne fabrique pas de belles erreurs convaincantes. Les auteurs disent vouloir construire un banc d’essai dédié à cette capacité. Ce sera probablement le vrai juge de paix, car le sujet touche à la fois l’interprétabilité mécaniste, la sûreté des modèles et la manière dont on les met à jour en production.

Points clés

  • Publication le 2 novembre 2026 par MIT CSAIL.
  • Astra lit 17 253 poids pour identifier un jeu.
  • Qwen3.5-0.8B : 7,9 % à 48,1 % sur MATH-500.
  • 131 072 poids modifiés, soit 0,016 % du modèle.
  • MinAtar : meilleurs scores que PPO 100 millions de pas.
  • Go : 1,48 million de poids édités sans entraînement.

En chiffres

  • 3,5 % — poids modifiés pour réparer l’agent Kinetix.
  • 48,1 % — score MATH-500 de Qwen3.5-0.8B après édition.
  • 62,3 % — score IFEval après édition sur Qwen3.5-0.8B.
  • 1 024 épisodes — réussite complète sur le test Kinetix.
  • 1,48 million — poids du réseau Go édité par Astra.

À lire