Contexte de l'édition de poids
MIT CSAIL a montré que le modèle GPT‑6 Astra pouvait identifier le jeu d’entraînement d’un petit réseau à partir de ses poids bruts, puis générer de nouveaux poids capables de battre des agents PPO entraînés pendant 100 millions d’étapes. Dans un second test, Astra a modifié 0,016 % des poids de Qwen3.5‑0.8B, faisant passer la précision MATH‑500 de 7,9 % à 48,1 %. L’auteur de cet article a observé que la plupart du temps de recherche (≈ 8 h, 28 passes avant) correspondait à une résolution itérative d’un problème linéaire.
Formulation du problème comme programme linéaire
Le modèle utilise des connexions résiduelles : chaque couche ajoute un vecteur de 1 024 dimensions au flux résiduel. Lors d’une boucle de pensée, ce flux se déplace de façon constante le long d’un vecteur direction u. Astra a déterminé u en comparant les résidus moyens de textes productifs et de textes bloqués, puis a projeté chaque colonne w_j de la matrice de sortie W (dimensions 3 584 × 1 024) sur u :
w_j \to w_j - \alpha \,(u^\top w_j) \; u
Le paramètre \alpha contrôle la suppression ou l’inversion du composant le long de u. L’ensemble des modifications forme un changement de rang 1, ΔW = u v^\top, où v_j = -\alpha (u^\top w_j). Le vecteur v doit sélectionner les colonnes à éditer et fixer la valeur de \alpha. Cette sélection a été traduite en programme linéaire :
min_v \sum_j |v_j|
subject to:
v \cdot h_t \le -\delta for t \in R (tokens en boucle)
|v \cdot h_t| \le \varepsilon for t \in P (tokens productifs)
Chaque contrainte provient d’une activation h_t enregistrée aux couches 15 et 19. Le problème utilise la norme L1 pour favoriser la parcimonie, ce qui conduit à une solution où la plupart des coordonnées de v sont nulles. L’auteur a ensuite fixé les 8 colonnes les plus impactantes par couche et a résolu à nouveau le LP.
Résultats et comparaison de performances
Un solveur commercial (HiGHS) a résolu chaque instance en ≈ 20 minutes. Un solveur GPU basé sur PDHG a atteint 0,2 % de l’optimum en ≈ 1 minute. Deux variantes d’édition ont été testées : l’une utilise la direction u fournie par Astra, l’autre utilise une direction heuristique obtenue par simple différence de résidus moyens. Sur le jeu de validation de 128 problèmes, les deux approches ont réduit le taux de boucles de 93 % à moins de 30 % et ont fait passer la précision GSM8K de 9 % à 33 % (α = 1) puis à 48 % (α = 6) pour les colonnes sélectionnées.
Limites et perspectives
Le LP ne satisfait pas toujours toutes les contraintes ; des variables de relâchement sont introduites, ce qui rend la solution dépendante du choix de \delta et \varepsilon. L’édition ne crée pas de nouvelles capacités : sur Gemma 3 270 M, qui boucle peu, la précision n’a pas changé, confirmant que le poids ne peut que débloquer une fonction déjà présente. Enfin, la méthode repose sur l’accès direct aux poids et aux activations, ce qui reste rare pour les modèles de grande taille. Des recherches futures pourraient explorer des approximations de u à partir de traces de génération uniquement, ou l’extension du cadre à des architectures non résiduelles.