AI・機械学習
上級
Attention Head分析(アテンションヘッドぶんせき)
Transformerの各Attention Headが担う役割(コピー・検索・位置参照など)をアクティベーション解析で特定する解釈手法。Anthropic・EleutherAIの研究が先行。
0 回閲覧
0 いいね
2026/6/1 更新
関連タグ
mechanistic-interpretability
transformer
attention
circuits
LLM解析
Attention Head分析とは
Transformerモデルは複数の「Attention Head(注意ヘッド)」を並列で持つ。各ヘッドは理論上、異なる種類のパターンに注目できるが、実際に何を学習しているかは長らく不明だった。Attention Head分析はこの問いに答えるメカニスティック解釈可能性の中核技術だ。
なぜ重要か
- 安全性向上: 有害コンテンツ生成に関与するヘッドを特定し抑制できる
- デバッグ: モデルが特定の誤りを犯す原因ヘッドを突き止められる
- 効率化: 不要なヘッドを刈り取り(pruning)してモデルを軽量化できる
- 信頼性: 推論過程の透明化でエンタープライズ利用のハードルが下がる
主要な解析手法
| 手法 | 概要 | 主なツール |
|---|---|---|
| 注意パターン可視化 | Attention Weightをヒートマップ表示 | BertViz, CircuitsVis |
| アクティベーションパッチング | 特定ヘッドの出力を他の入力で置換し影響測定 | TransformerLens |
| 因果媒介分析 | ヘッド→残差ストリームへの因果寄与を定量化 | CausalTracer |
| Head Ablation | ヘッドをゼロアウトしてタスク性能変化を確認 | nnsight |
主要な発見(実例)
GPT-2での重要ヘッド一覧(Anthropic研究 2022):
- Head 4-4: 直前トークンへの強い注意(Previous Token Head)
- Head 5-5 / 5-8: Induction Head(後述)
- Head 10-7: S-Inhibition Head(主語の重複を抑制)
GPT-J-6BのMath Heads: 数値計算タスクで活性化する専用ヘッドが5-6個存在(Mechanistic Interpretability研究 2023)。
Llama-2-7Bの言語切り替えヘッド: 多言語入力に対してlanguage IDを決定する専用ヘッドが同定された(2024)。
代表的ツール
TransformerLens
from transformer_lens import HookedTransformer
model = HookedTransformer.from_pretrained("gpt2")
# 特定ヘッドのアクティベーションを取得
logits, cache = model.run_with_cache("The Eiffel Tower is in Paris")
attn_pattern = cache["pattern", 4] # Layer 4のAttentionパターン
print(attn_pattern.shape) # [batch, heads, seq, seq]
CircuitsVis
JavaScriptライブラリ。ブラウザ上でAttention Weightを直接可視化できる。
nnsight
from nnsight import LanguageModel
llm = LanguageModel("meta-llama/Llama-2-7b-hf")
with llm.trace("Hello world") as tracer:
# Head 3-0のアクティベーションをゼロに設定(Ablation)
llm.model.layers[3].self_attn.o_proj.input[:, 0, :] = 0
研究の限界
- 多義的なヘッド: 1つのヘッドが複数の役割(ポリセマンティシティ)を担うケースが多い
- スケール問題: GPT-4クラス(数百のヘッド×数十億パラメータ)では全体像把握が困難
- 相互依存: ヘッド間の複雑な相互作用を単独ヘッド解析では捉えられない
最新動向(2025〜2026)
- Sparse Autoencoder(SAE)との組み合わせ: ヘッド出力をSAEで分解し解釈性を向上
- AutoInterp: Claude/GPT-4がヘッドの役割を自動記述するフレームワーク(Anthropic 2024)
- Universal Circuits: 異なるアーキテクチャ(LlamaとMistral)で同一回路構造が発見される汎用性
FAQ
Q: 何ヘッドあればモデルを理解できる? GPT-2 Small(144ヘッド)でも「重要な」ヘッドは20-30個程度。大型モデルは研究進行中。
Q: Attention重みを見れば役割がわかる? Attention重みは必ずしも情報の流れを反映しない(「注意の重みは因果でない」問題)。アクティベーションパッチングとの組み合わせが必要。
Q: 商用利用できるツールはある? TransformerLensはApache 2.0。EleutherAIのSAEライブラリもMIT。商用利用可能。