この記事は後半です。前半は Qiita にあります: AIが8時間かけた重みの手術を、線形計画法なら1分で──Qwen3.5の思考ループを直した「8列の編集」の正体
画像: github.com より
前半では、Qwen3.5-0.8B の思考ループ修正が、ほぼ一本の方向 u に沿った編集として書けることを見た。残る問いは、なぜその編集が 8 列程度まで削れても効くのか、という点だ。
答えは、効いているのが個々の列ではなく、ループ方向 u への押しの総量だからだ。各列 w_j が u にどれだけ成分を持つかは、実質的にそのニューロンがループへどれだけ寄与するかを表す。L1 ノルムを最小化する LP にすると、解は自然に疎になる。強く効く列だけが残り、他はゼロに落ちる。記事では、最終的に各層 8 列を選び直しても、Astra の編集にかなり近い性能が出た。
ここで大事なのは、8 列が特別に神秘的な数字ではないことだ。実際、LP が選んだ 8 列は Astra の 64 列とほとんど重ならない(layer 15 で 3 列、layer 19 で 1 列だけ)。効く疎な解はいくつもあり、大事なのは u 方向へどれだけ押すかのほうだ。
ベンチマークでは、LP 版は Astra の編集とかなり近い。Astra の方向 u を使った LP は、GSM8K で 69.6%、MATH-500 で 51.7%、IFEval で 59.7% だった。元の Astra 編集はそれぞれ 68.2%、50.9%、61.9%。誤差の範囲で並ぶ。
一方、自動検出したループ痕跡から作った heuristic direction では少し落ちる。MATH-500 は 47.8%、IFEval は 60.4%。それでもベースモデルより大きく改善するので、致命傷ではない。ここから読めるのは、列の選定や強さの最適化よりも、まず方向の良し悪しが効いていることだ。LP は「どう触るか」を詰める道具であって、「どこへ押すべきか」までは魔法のようには生めない。
この差は steering vector の結果でも裏づけられる。LP が見つけた平均的な押しを、そのまま定数ベクトルとして足しただけでも MATH-500 は 50.8% に達した。つまり、編集の多くは重みの書き換えでなくても再現できる。重み編集は、推論時の振る舞いをパラメータに焼き付けているだけ、とも言える。
前半で触れた broad / selective の比較は、この問題の性質をかなり露骨に示している。ε を小さくして「生産的なトークンにはほとんど触らない」ようにすると、LP は慎重になる。だがこのタスクでは、慎重さが必ずしも得ではなかった。productive token にも少し触る broad な設定と比べて、ループらしいトークンだけを押す selective な設定にしても、dev set の成績は良くならなかった。
理由は単純で、ループはかなり後半でようやく目に見えるからだ。最初から「ここがループだ」と見抜くのは難しい。ならば、早い段階のトークンに対しても軽く押しをかけ、ループの芽が育つ前に傾きを変えたほうがよい。これは直感に反するが、実際の実装ではよくある。局所的な禁止より、少し広めの矯正のほうが効く場面がある。
この方法は、モデルに足りない能力を作るものではない。Gemma 3 270M のように、もともとループが目立たないモデルでは、同じ手法で数学能力を大きく押し上げられなかった。編集で消せるのは、能力を隠している障害までだ。
だから実務での使いどころは限定される。出力が同じ文を延々と繰り返す、途中で推論が詰まって終わらない、そんな失敗モードに向く。逆に、知識不足や表現力不足の穴を埋める用途には弱い。壊れているのが「経路」なのか「中身」なのかを見分ける必要がある。
自分なら、まずデバッグ用途で使う。再現性の高い失敗があるとき、LP で少数列の編集候補を出し、steering vector で同じ効果が出るかを見る。両方が近いなら、その失敗はかなり単純な方向性の問題だと判断できる。逆に、LP だけが効いて steering では崩れるなら、重みの配置そのものに依存している。そういう切り分けに価値がある。
LP が 1 分で済むと言っても、何でも即座に直せるわけではない。loop-labeled activations を集める必要があり、どの層を見るか、どの制約を置くか、どの ε にするかも先に決めなければならない。しかもこの実験では、Astra の方向を使う版と、自動検出の方向を使う版を分けて評価している。見かけの速度だけを見て、完全自動化と誤解すると危ない。
それでも、この仕事の面白さは残る。探索を「試行錯誤」ではなく「制約付き最適化」として書き直したことで、何が編集を支配しているかが急に見通しよくなったからだ。Astra の 8 時間は、実質的には列選びと強さ選びだった。ならばそれを LP に置き換えるのは自然だし、置き換えたことで、修正の本体が「方向に沿った疎な押し」だと確認できた。前半の問いへの答えはそこにある。直したのは複雑な知能ではなく、考えが同じところへ戻る向きだった。