AI・機械学習
上級

Activation Patching(アクティベーションパッチング)

ニューラルネットワークの特定レイヤー・特定位置の活性化ベクトルを別の入力から得た活性化で置換(パッチ)することで、その活性化が出力に与える因果的影響を測定する解釈可能性の実験手法。

0 回閲覧
0 いいね

Activation Patchingとは

Activation Patching(活性化パッチング)は、トランスフォーマーモデルの内部で特定のレイヤー・トークン位置の活性化ベクトルを、異なる入力から得た活性化で「差し替え(パッチ)」することで、その活性化が最終出力にどの程度因果的に寄与しているかを測定する実験手法である。2022年にKevin Mengらによる知識ニューロン(ROME)の研究で広く知られるようになった。

因果的介入としてのパッチング

観察と介入の違い

単に活性化を観察(Representation Reading)するだけでは、相関関係しか分からない。Activation Patchingは実験的に活性化を操作するため、「この活性化がなければ出力は変わるか?」という因果関係を直接検証できる。これは科学実験における対照実験に相当する。

基本プロトコル

  1. Clean Run: 元の入力Aをモデルに通し、全レイヤーの活性化と最終出力を記録
  2. Corrupted Run: 改変した入力Bをモデルに通し、全レイヤーの活性化を記録
  3. Patched Run: 入力Bを処理中に、特定の(レイヤー, トークン位置)の活性化をClean Runの値で置換
  4. 効果測定: Patched Runの出力がClean Runの出力にどれだけ回復したかを測定

回復度が高いほど、その位置の活性化が出力にとって因果的に重要であることを意味する。

パッチングの種類

手法置換元置換先目的
Activation PatchingClean → Corrupted正しい活性化で修復因果的重要性の発見
Denoising PatchingClean → Corrupted同上(ノイズ除去的)ノイズ耐性の測定
Path Patching特定パス上のみ特定の回路経路回路レベルの因果分析
Zero Ablationゼロベクトル活性化を消去必要性の測定
Mean Ablation平均活性化活性化を平均で置換特異性の測定

機械的解釈可能性との関係

Activation PatchingはMechanistic Interpretability(機械的解釈可能性)の中核的ツールである。モデル内部で「どの回路がどの計算を担当しているか」を特定するために、体系的にパッチングを行い、各コンポーネントの因果的役割をマッピングする。

回路発見の具体例

間接的目的語識別(Indirect Object Identification: IOI)タスクでは、「AがBにボールを渡した。そのボールを受け取ったのは」→「B」という推論において、特定のAttention Headが「A」と「B」の位置情報を伝搬する回路が、Activation Patchingによって特定された。

実践上の注意点

パッチングは計算コストが高い。全レイヤー×全トークン位置の組み合わせを網羅的に検証すると、1入力あたり数千回の推論が必要になる。このため、まず粗い粒度(レイヤー単位)でスクリーニングし、重要レイヤーのみ細かい粒度(ヘッド単位・ニューロン単位)で深掘りする二段階アプローチが一般的である。

FAQ

Q: Activation PatchingとActivation Additionの違いは何ですか?

A: Activation Patchingは「分析手法」で、活性化を置換して因果関係を測定します。Activation Additionは「制御手法」で、活性化にベクトルを加算してモデルの振る舞いを変更します。前者は理解のため、後者は操作のための技術です。

Q: 小規模モデルでも有効ですか?

A: はい。むしろ小規模モデル(GPT-2、Pythiaなど)で手法が発展しました。計算コストが低く、回路構造が比較的単純なため、手法の検証や教育目的に適しています。大規模モデルへの適用は計算リソースの確保が課題です。

Q: パッチングの結果はどう解釈すべきですか?

A: 回復度(recovery rate)で判断します。パッチ後の出力がClean Runと同じなら回復度100%で、その位置が因果的に必要十分であることを示します。0%なら無関係。部分的な回復は、その位置が出力に寄与しているが、他の位置も同じ情報を冗長に保持している可能性を示唆します。