Weight-Space Programming:GPT-6 Astra が Qwen の重みを直接修正
MIT の Weight-Space Programming:GPT-6 Astra が重みを自ら編集し、Qwen3.5-0.8B の MATH-500 は 7.9% から 48.1% に。
この記事の他の言語版:العربيةDeutschEnglishEspañolFrançaisItalianoPolski简体中文
この記事の内容
11月2日、MIT CSAIL の4人の研究者(Rikiya Takehi、Jayden Teoh、Alex Zhang、Omar Khattab)が 「Sparks of Weight-Space Programming」という記事を公開しました。OpenAI の GPT-6 Astra がニューラルネットワークの生の重みを読み、何のために学習されたかを見抜き、勾配も学習ループも使わずに手作業で修正できることを示しています。記事は1時間で Hacker News で650ポイントを超えました。
Weight-Space Programming とは?
著者たちがこう呼ぶのは、汎用の言語モデルを「そのまま」使い、普通の言葉で書かれた目標に沿って別のネットワークの重みを直接読み書きさせるやり方です。Adam のようなオプティマイザも勾配降下も使わず、一部の実験では環境からのフィードバックすらありません。
研究者によると、Astra は「推論を使って、ネットワークの各部分が何を計算しているか、あるいは何を計算すべきかを突き止め」、それに合わせて重みを変更します。チームは8つの実験を3つのグループに分けて紹介しています。重みを読む、重みを直す、重みをゼロから書く、の3つです。
Astra は重みだけから何を読み取ったのか?
- 17,253個の数値からゲームを特定しました。 研究者は PPO を使い、同じ構造の4つのネットワークを Breakout、Pong、Pac-Man、Freeway 風のゲームで学習させました。Astra にはゲームのリストを渡さず、重みをテキストとして渡しただけでしたが、4つすべてのネットワークで正しいゲームを言い当てました。
- 拡散モデルから図形を読み取りました。 ネットワークを実行せずに、モデルが円・正方形・三角形のどれを描くかを答えました。面白いことに、モデル自体は塗りつぶした図形を生成するのに、Astra は輪郭線で描きました。著者によれば、これは出力を計算したのではなく、重みの幾何構造を読んでいた証拠だそうです。
- 小さな言語モデル(パラメータ720万)の言語を特定しました。 入力層と出力層を除いた、transformer の中間ブロックだけからです。Python、ローマ字、英語をすべての試行で当て、直前のテキストをコピーするアテンションヘッド(いわゆる「induction heads」)も正確に指摘しました。
GPT-6 Astra はどうやって Qwen を直したのか?
いちばん話題になっているのがこの部分です。Astra は、Qwen3.5-0.8B の重みが入った Python セッション(GPU なし)と、GSM8K と MATH の学習用問題、そして10回・25回・50回のモデル実行上限を与えられました。目標は、学習なしで数学の性能を上げることです。
Astra は、Qwen のモデルカード自体が警告している問題に気づきました。モデルが思考のループにはまり、答えにたどり着かないという問題です。Astra はループの原因を MLP 層15と19が書き込む1つの方向に突き止め、各層の64個の出力列からその方向を差し引きました。8億個の重みのうち131,072個、つまり0.016%です。
| Qwen3.5-0.8B | MATH-500 | GSM8K | IFEval |
|---|---|---|---|
| ベース | 7.9% | 13.8% | 21.0% |
| 編集後(50回実行) | 48.1% | 67.1% | 62.3% |
MATH-500 で32,768トークンの上限に達した回答の割合は、93%から33.1%に下がりました。10回と25回の実行では改善はずっと小さく、MATH-500 はそれぞれ12.3%と14.1%でした。
Astra はネットワークをゼロから書けるのか?
記事によれば、少なくとも小さなものなら書けます。MinAtar のゲームでは、Astra にルール、ゲームのソースコード、ネットワークの構造(重みはすべてゼロ)を渡し、Astra は1回の回答で重みをテキストとして書き出しました。データもツールも使わず、評価前に1回もプレイしていません。
- Breakout では Astra のネットワークが 517.4点。5億ステップ学習した PPO は25.3点でした。
- Asterix では53.2点。5億ステップ後の PPO は55.2点です。
- Seaquest では53.1点。PPO は88.9点でした。
Breakout では、Astra は1層目でボールの落下地点を計算し、2層目でパドルをそこへ動かすようにプログラムしました。同じ方法で、重み148万個の9×9盤の囲碁ネットワークも作りました。50回の実行で、2,000万局で学習した同じ大きさの PPO ネットワークに勝っています。
注意すべき点は?
1つ目は、著者自身が書いている失敗です。重みだけでは、Astra は Gemma 3 270M の「迎合する」バージョンと正直なバージョンを見分けられませんでした(アテンションパターンにアクセスできて初めて成功)。また、ループにあまり陥らない Gemma 3 270M は、編集後も MATH-500 がほとんど改善しませんでした(編集前6.8%、編集後は最高でも7.7%)。研究者の言葉を借りれば、重みの編集は能力を隠していた障害を取り除くことはできても、モデルが持っていなかった能力を加えたわけではありません。
2つ目は規模です。非常に大きなモデルが8億パラメータのネットワークを直したわけで、HN のコメントでは、重みから1つの方向を取り除くのは既知の手法(いわゆる「abliteration」)だと指摘されています。結果を独立して再現した人はまだいませんが、すべての実験の完全なログが公開されています。
3つ目は方向性です。著者は再帰的な自己改善をはっきり挙げています。自分の重みや、より新しいモデルの重みを改善するモデルです。今のところは構想にすぎませんが、AI が研究作業をますます担うようになった Recursive Flint や OpenAI の内部モデルによる証明 を強く思わせます。
よくある質問
Weight-Space Programming とは何ですか?
言語モデルが、言葉で書かれた目標に沿って別のニューラルネットワークの重みを直接読み書きするアプローチです。勾配降下も学習ループも使いません。この名前は、2026年11月2日の記事で MIT CSAIL の研究者が提案しました。
GPT-6 Astra は使えますか?
はい。GPT-6 Astra は OpenAI のモデルファミリーの最上位です(Luna から Terra、Sol を経て Astra まで)。実験で使ったツールは完成した製品としては公開されていません。著者は、Weight-Space Programming のためのベンチマークとハーネスをこれから作るところだと書いています。
大きなモデルもこの方法で改善できますか?
まだわかりません。編集された最大のモデルは8億パラメータで、著者自身も能力は「まだ限られている」と書いています。主な制約はコンテキスト長とハーネスの設計です。