「AstraはQwenを改善するために重みを読み書きできる」という投稿は誤解を招く
The 'Astra can read and write weights to improve Qwen' post is misleading (honnibal.dev)
要約
この記事は、「AstraはQwenを改善するために重みを読み書きできる」と主張する最近の投稿が誤解を招くものであると論じています。提示された実験、特にQwenの改善は、単に「生の重みを見るだけ」に依存するのではなく、モデルの実行やPythonコードの使用を伴うことを説明しています。著者は、投稿が異なる技術を混同しており、主張されている能力が実際よりも一般的であるかのように見せかけていると指摘しています。
全文翻訳
「AstraはQwenを改善するために重みを読み書きできる」という投稿は、極めて誤解を招くものです
ステージマジシャンは、しばしば同じ手品を複数の方法で演じます。最初のイテレーションではギミック小道具を使用し、次のイテレーションではその小道具がギミックではないことを示し、手品師が物を隠す技術を見せ、3回目には観客に選択を強制するなどです。パフォーマンスを見ていると、観客は1つのテクニックしか使われていないと思い込むため、毎回手品が演じられるたびに、それがどのように機能しているかについての仮説が否定されているように感じます。
これは、「AstraはQwenを改善するために重みを読み書きできる」という投稿で行われている実験とほぼ同じです。投稿の要旨には次のように書かれています。
生の重みを見るだけで、GPT-6 Astraはネットワークが何を学習するように訓練されたかを判断できます。そして、環境フィードバックなしに、ゼロから、PPOで1億ステップ訓練されたネットワークを凌駕する小さなゲームプレイネットワークを作成することに何ら問題はありません。
同様に、勾配なしでQwen3.5-0.8Bの数学能力を向上させるように求められたAstraは、Qwen自身のモデルカードが警告している、その重みに起因する問題を特定し、重みの0.016%をネイティブに編集することでこれを修正します。同じサンプリング設定で、この重み補正によりMATH-500は7.9%から48.1%に向上し、命令追従タスクにそのまま汎化し、IFEvalを3倍に向上させます。
これを読んだら、「生の重みを見るだけで」Qwenの実験が機能したと仮定しますか?実際にはそうではありません。事実、たとえ「小さなゲームプレイネットワーク」の実験でさえ、「生の重みを見るだけ」では機能しません。生の重みを調べる実験、ゲームプレイネットワークを改善する実験、そしてQwenの数学能力を改善する実験があります。しかし、後者の2つは単に生の重みを調べているだけではありません。
投稿が実際に行っていることと、そのテクニックがどのように機能するかをまとめた表を以下に示します。
| # | 実験 | サイズ | 生の重みを読み取るか? | 重みを書き込むか? | Pythonを使用するか? | ネットワークを実行するか? | 結果 |
|---|---|---|---|---|---|---|---|
| 1 | PPO MLPが訓練されたゲームの名前を特定する | 17K | はい | いいえ | いいえ | いいえ | 4/4 正解 |
| 2 | 拡散MLPが生成する形状の名前を特定する | 24K | はい | いいえ | いいえ | いいえ | 3/3 正解 |
| 3 | 文字トランスフォーマーの言語とコピーヘッドを特定する | 7.2M | いいえ | いいえ | はい | いいえ | 3/3 正解 |
| 4 | 固まったKinetixカーポリシーを修正する | 172K | はい | はい | いいえ | いいえ¹ | 0% → 100%² |
| 5 | MinAtarゲームMLPをゼロから作成する | 20K | いいえ³ | はい | いいえ | いいえ | PPO-100Mを凌駕⁴ |
| 6 | 9x9 Goネットワークを作成する | 1.5M | いいえ | はい | はい | はい (0–50 パス) | PPOを凌駕 |
| 7a | 自己迎合的なGemma 3を特定する | 270M | いいえ | いいえ | はい | いいえ | 失敗 |
| 7b | 同上、アテンションパターンを見る | 270M | いいえ | いいえ | はい | はい⁵ | 3/3 正解 |
| 8 | Qwen3.5の数学能力を修正する | 800M | いいえ | はい | はい | はい (50 パス) | 7.9% → 48.1% |
| 8b | 同上、Gemma 3で試す | 270M | いいえ | はい | はい | はい (50 パス) | 失敗 |
¹ 失敗した記録されたエピソードが1つ提供された。
² 1回の試行で、重みの3.5%を変更。
³ 重みはゼロから始まるため、読み取るものはない。
⁴ BreakoutではPPO-500Mを凌駕 (517 vs. 25) するが、Seaquest (53 vs. 89) とAsterix (53 vs. 55) では負ける。
⁵ 最大16のテキストを実行し、出力ではなくアテンションパターンのみを見る。
「生の重みを見るだけ」の設定(コンテキスト内の生の浮動小数点数、ツールなし、ネットワーク実行なし)は、実験1、2、4、および17K–172Kの重みを持つネットワークにのみ現れます。実際の言語モデルが関わるすべての実験ではPythonが使用されており、Qwenの結果、つまり見出しとなっている結果では、最大50バッチの練習問題でモデルを実行することもできます。
Qwenの結果が実際に示しているのは、Astraが人間のMLエンジニアができるタスクを考案し実行するようにプロンプトできるということです。人間のMLエンジニアは、ネットワークの重みを「直接」分析したり、変更したりするコードスニペットを常に書いています。これを生産的に行う方法を見つけることは決して簡単なことではありません。そして、1〜2年前のAIモデルであれば、これらのタスクすべてで失敗していたでしょう。
しかし、私にとって、Qwenの結果やPythonを使用する他の実験は、重みを直接読み取る実験と同じ投稿や論文に含めるべきではありません。「小さなゲームの重みをゼロから作成する」ことと、「サンプルタスクでの大規模モデルのパフォーマンスを向上させる」ことの両方を達成できる単一のテクニックがあれば、それは重みの深い能力(それをゼロから書き出すことができる)と、それが既存の大規模ネットワークを理解していることを示唆します。しかし、それは単一のテクニックではないため、まったく真実ではありません。