
2026/11/11 21:30
線形計画で重み空間計画はできるか?
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
概要:
MIT CSAIL は「Sparks of Weight-Space Programming」と題した論文を発表し、GPT-6 Astra が小規模なネットワークでトレーニングされたゲームを検出でき、さらに特に、勾配や学習ループを用いず推論のみにより PPO によってトレーニングされたモデルを破るための重み从头生成が可能であることを示した。本研究は、大規模言語モデル(例:Qwen3.5)が内部重みの極めて少ない部分を編集することで自身の推論ミスを是正できるという画期的成果を浮き彫りにしている。例えば、Astra ツールを Qwen3.5 に適用すると、0.016% の重みを edits だけで思考ループの無限反復を解消し、MATH-500 の精度を 7.9% から 48.1% に向上させた。同時に IFEval スコアも 21% から 62% に改善され、トークン制限違反は 93% から 33.1% に減少した。
この手法は、残差ストリームをループへ導く特定の重みパターンに焦点を当てている。具体的には、Astra は状態を是正方向へ押し込むために第 15 および第 19 の層を編集した。当初の試行錯誤探索では約 8 時間かかったが、新しい線形計画(LP)アプローチを用いると、使用される変更された重みの数が 8 倍少なくても同様の結果を約 1 分間で達成できる。LP はループ方向に沿って最も書き込んだ上位 64 カラムの層のみを対象とし、L1 ノーメルの変化を最小化することで、全カラムを編集する場合と比較して精度低下を大幅に抑制する。今後の研究では、単一方向のステアリングによるこの効率的な重み操作を用いて、拒絶反応や盲目従順といった持続的な問題をエネルギー集約的な再トレーニングサイクルなしに解決することも可能であると示唆されている。
本文
重み空間プログラミング:線形計画問題でニューラルネットワークを制御する技術の解説
MIT CSAIL から公開された論文「Can a Linear Program Do Weight-Space Programming? (重み空間プログラミングを行うには線形計画問題を解けばよいか)」について、重要な知見をまとめました。
主要な発見と成果
- Astra モデルによる識別能力
- 小規模ニューラルネットワークの重み配列のみを与えられます。
- そのネットワークが何種のパラダイムで訓練されたゲームをプレイするかを、生成モデルなしに正確に識別できます。
- ゼロショットでの性能向上
- ゲームのルールだけを与えることで、小規模ネットワークの重みをゼロから構築します。
- 既存の PPO(Proximal Policy Optimization)で 1 億ステップ以上訓練されたネットワークよりも高い性能を発揮します。
- 重要: 勾配 descend の計算や訓練ループの実行は不要です。重みが実質的に計算している内容への推論だけで実現されます。
- 数学能力の劇的改善 (Qwen3.5-0.8B 版)
- Qwen3.5-0.8B モデルの重みを編集し、MATH-500 ベンチマークの精度向上を依頼しました。
- わずか 0.016% の重みを修正するだけで、スコアは 7.9% から 48.1% へと劇的に向上しました。
「思考ループ(Thinking Loops)」の問題と解決
- 小規模推論モデルの課題
- 特定の状況で「思考ループに陥り」、結論に至らずに同じ数式の列を繰り返し出力してしまう失敗パターンがあります。
- Qwen3.5-0.8B モデルでは、ベースモデル回答の 93% が正解に達する前にトークン制限 (32,768 トークン) に達して中断していました。
- Astra の編集による改善効果
- これらのループを解消し、指示従順性のタスク(IFEval)でもスコアを 21% から 62% へと向上させました。
| モデル | MATH-500 | GSM8K | IFEval | トークン制限到達率 |
|---|---|---|---|---|
| Qwen3.5-0.8B ベース | 7.9% | 13.8% | 21.0% | 93.0% |
| Astra の編集版 | 48.1% | 67.1% | 62.3% | 33.1% |
- 重要な限界
- ループに陥りにくい Gemma 3 270M モデルに対しては、数学的能力を有意義に向上させることができませんでした。
- 著者の指摘:重み編集で障害を取り除くことは可能だが、本来持っていない新しい能力を加えることはできない。
Astra がループを修正する仕組み
トランスフォーマーの残差ストリーム
- トランスフォーマーはリカレント結合(residual connections)を使用し、各レイヤーの出力が入力に追加されます。
- トークンのパスを追跡すると、「残差ストリーム(residual stream)」という単一のベクトルが得られます(このモデルでは次元数 1,024)。
- モデルがループに陥ると、この残差ストリームは一貫した方向へとシフトします。
ループ方向の特定 ($u$)
- Astra は「生産的な推論」と「ループ状態」の短テキストを生成し、各トークンのレイヤーにおける残差ストリームのベクトルを記録しました。
- 両者の平均の差を正規化したものが**「ループ方向 $u$」**です。
- これこそが、モデルがループに陥る際に残差ストリームが移動する方向を表します。
重みの編集と線形計画 (Linear Program)
- MLP の構造: 行列 $W$(ダウンプロジェクション)で出力 $Wh$ を計算し、これが残差ストリーム $x$ に追加されます ($x \leftarrow x + Wh$)。
- 編集の目的: 各列ベクトル $w_j$ から、方向 $u$ への成分 $u^\top w_j$ を引き算します。
- $\alpha = 1$: 方向 $u$ への成分を消去。
- $\alpha = 6$: 成分を反転(モデルをループから遠ざける)。
- ランク 1 の変更: 編集は全体として一つの方向 $u$ と、各列ごとの係数 $v_j$ から成り立ちます ($\Delta W = u,v^\top$)。
最適化の定式化
Astra は以下の条件を満たすように $v$ を探索しました:
- ループに陥るトークン ($R$): 方向 $u$ から少なくとも $\delta$ 離れる。
- 生産的なトークン ($P$): 最大で $\varepsilon$ の範囲内の変化のみ許容。
これはL1 ノルム最小化問題として解きました:
# 線形計画問題の定式化 (LP) min_v sum(|v_j|) s.t. v · h_t <= -δ for t in R # ループ状態からの距離を確保 |v · h_t| <= ε for t in P # 正常なトークンへの影響を最小化
- L1 最小化の効果: 解がスパース(疎)になるため、変更が必要な列の数自体も同時に決定されます。
- 計算効率: 約 8 時間かかった試行錯誤は、数回の線形計画求解器の実行に置き換えられました。
実験結果:編集方法の比較
| 編集方法 | GSM8K | MATH-500 |
|---|---|---|
| ベースモデル | 〜9% | 14.1% |
| すべての列 $\alpha=1$ | 33% | - |
| すべての列 $\alpha=2$ | 43% | - |
| すべての列 $\alpha=3$ | 48% | - |
| トップ 64 列のみ、$\alpha=6$ | 55% | - |
- ランダムな方向の変更は効果なし。
- 最終的な戦略: ループに陥るテキストにおいて $u$ の成分を最も大きく出力する層ごとのトップ 64 列に対してのみ $\alpha=6$ を適用。
検証結果とスティアクベクトル (Steering Vector)
編集結果の詳細比較
本研究では、Astra が導出した方向 ($u_{Astra}$) と、ヒューリスティックな方法で求めた方向 ($u_{heuristic}$) の両方を検証しました。
| 変更された重み数 | GSM8K テスト | MATH-500 | IFEval |
|---|---|---|---|
| ベースモデル | - | 14.1% | 7.0% (22.9%) 注1 |
| Astra の編集版 | - | 68.2% | 50.9% (61.9%) 注1 |
| LP(Astra の方向) | - | 69.6% | 51.7% (59.7%) 注1 |
| LP(ヒューリスティック方向) | - | 65.4% | 47.8% (60.4%) 注1 |
\n注:表の IFEval と MATH-500 は、ベースモデルと比べて大幅に改善。括弧内の値は前回のセクションで言及された開発セットや他のコンテキストにおけるスコアです。ここではテストデータでの主要な向上が示されています。*
重要な考察
- 探索の重要性: LP が置換した試行錯誤により、開発セットでのスコアが改善されました (44.5 → 54.7)。
- スパース性の効果: LP は A の 64 列のうち必要な8 列だけを選びました。多くの異なる解法が存在し、重要なのは総推力であることが示唆されます。
- ランダム方向の無効性: ランダムな $u$ ではスコアは改善されませんでした (10.2 vs ベースモデル 10.9)。
スティアクベクトルによる簡易実装
- LP 編集がもたらす推力は、トークンごとの活性化を通じてほぼ一定の方向へ働くことが分かりました。
- この固定された推力を重み編集に置き換える代わりに、**「スティアク(steering)ベクトル」**として直接残差ストリームに追加することも可能です。
| スティアク強度 (LP 編集平均推力の倍数) | 開発セット (Dev set) | MATH-500 |
|---|---|---|
| 0.5 倍 | 51.6% | - |
| 1 倍 | 57.8% | 50.8% |
| 2 倍 | 31.2% | - |
- 1 倍の強度では、スティアクベクトル単体でほぼ完全な修正効果が回復します。
- この窓は非常に狭いです:
- 0.5 倍:ループが再帰し始めます。
- 2 倍:推論自体が崩壊してしまいます。
- 実装の違い: LP 編集は通常ファイルとして保存できますが、スティアクベクトルを使用するには推論時に追加のコードが必要です。
限界と今後の展望
- モデル依存性: 依然としてレイヤーや方向 $u$ の特定において Astra に依存しています。
- トークンごとの制約の重要性: 一定の推力(constant push)でループを修正できるため、LP のようなトークンごとの複雑な制約は最終的には必須ではない可能性があります。しかし、「一部のトークンのみを変更する」挙動のテスト課題としては重要です。
- 他の行動への拡張: 拒絶や奉仕的振る舞い(sycophancy)なども残差ストリーム内の単一方向で制御可能です。これらを重みにどう組み込むかも同様の線形計画問題として定式化できる可能性があります。
引用情報
本作品を以下のように引用してください:
Barry, Nathan. "Can a Linear Program Do Weight-Space Programming?" nathan.rs (2026 年 11 月)。 https://nathan.rs/posts/weight-space-lp
BibTeX 形式:
@article{barry2026wslp, title = "Can a Linear Program Do Weight-Space Programming?", author = "Barry, Nathan", journal = "nathan.rs", year = "2026", month = "Nov", url = "https://nathan.rs/posts/weight-space-lp" }