Claude Media
Crosscoderとは — モデルを機構レベルで比較する解釈手法

Crosscoderとは — モデルを機構レベルで比較する解釈手法

Anthropicが公開したcrosscoderは、複数レイヤーや複数モデルをまたいで特徴を取り出す解釈手法です。Claude 3 Sonnetのファインチューニング前後を比較した実験結果を読み解きます。

Anthropicの解釈可能性(Interpretability)チームは2024年10月25日、Transformer Circuits Threadで「Sparse Crosscoders for Cross-Layer Features and Model Diffing」を公開しました。crosscoderとは、1つのレイヤーだけでなく複数のレイヤー、さらには複数のモデルをまたいで共通の特徴を取り出せるように設計されたsparse coderの一種です。従来のsparse autoencoder(SAE)が1レイヤーの活性化だけを再構成していたのに対し、crosscoderは層をまたいで読み書きすることで、モデルの中で何が変わったかを直接比較できるようになります(SAEが特徴を取り出す辞書学習の仕組み自体はMonosemanticity論文の辞書学習でニューロンを分解するで扱っています)。

著者はJack Lindsey、Adly Templeton、Jonathan Marcus、Thomas Conerlyを中心とするAnthropicの研究チームです。本稿は査読前の予備的なノートという位置づけで公開されており、著者ら自身も「ラボミーティングで同僚が語る予備実験として扱ってほしい」と断っています。

SAEとの違い — なぜ複数レイヤーを一度に扱うのか

crosscoderの核心は、特徴が1つのレイヤーに閉じずレイヤーをまたいで存在しうるという発想です。トランスフォーマーの残差ストリーム(residual stream)は層を通じて線形に足し込まれるため、ある特徴が層Lで形成され、層L+4までそのまま残り続けるということが起きます。これを層ごとのSAEで捉えると、同じ特徴が複数レイヤーに重複して現れ、回路図が実際より複雑に見えてしまいます。

crosscoderは、複数レイヤーの活性化を同時に入力し、それぞれのレイヤーへの再構成を1つの特徴セットで担う設計にすることで、この重複を解消します。研究チームの実験では、18層のモデルの残差ストリーム全層に対して学習させたcrosscoderを、層ごとに個別学習した18個のSAEと比較しました。特徴数を揃えた条件では、crosscoderはモデル全体の活性化を再構成する精度(reconstruction error)でSAE群を明確に上回りました。一方、学習に必要な計算量(FLOPS)で見ると、同じ再構成精度に到達するのにSAE群よりおよそ2倍のコストがかかることも分かっています。つまりcrosscoderは「特徴1つあたりの表現力」では優位ですが、「学習コストの効率」では既存手法に軍配が上がるというトレードオフです。

crosscoderにはもう1つ、モデル間で特徴を比較する用途があります。これがモデル差分(model diffing)と呼ばれる応用です。

crosscoderには因果性(causality)の扱いが異なる複数のバリエーションがあります。基本形は「acausalなcrosscoder」で、どのレイヤーの活性化を使ってどのレイヤーを再構成してもよい設計です。これに対し、早いレイヤーの活性化だけを使って後のレイヤーを予測する「causalなcrosscoder」もあり、transcoderに近い性質を持ちます。研究チームは回路(circuit)の単純化にはこの因果版が役立つとしつつ、注意機構(attention)が行う計算までは因果版のcrosscoderでは捉えきれないという制約も認めています。

Claude 3 Sonnetのファインチューニング前後で何が変わったか

研究チームはClaude 3 Sonnetのベースモデルと、そこからファインチューニングされた後のモデルの中間レイヤーの残差ストリーム活性化に対して、100万特徴のcrosscoderを学習させました。狙いは、2つのモデルの活性化を共有特徴とモデル固有特徴に分解できるかどうかを確かめることです。

特徴のデコーダー重みのノルムを両モデルで比較したところ、特徴は明確に3グループへ分かれました。ベースモデル固有の特徴、ファインチューニング後モデル固有の特徴、そして両方に共有される特徴です。100万特徴のうち、モデル固有の特徴はそれぞれ4,000〜5,000個程度でした。

グループ具体例意味
ファインチューニング後固有具体例危険な依頼(爆弾の作り方など)への拒否特徴意味安全対応がファインチューニングで新たに学習された可能性
ファインチューニング後固有具体例コードレビューへのフィードバックを求める依頼に反応する特徴意味Assistant用途特有の振る舞い
ファインチューニング後固有具体例「あなたであることはどう感じますか」のような自己に関する質問に反応する特徴意味対話アシスタントとしての人格形成
ベースモデル固有具体例LLMがキャラクターを演じる(ロールプレイ)場面に反応する特徴意味事前学習コーパスに残る痕跡
ベースモデル固有具体例人間とスマートフォンアシスタントの対話に反応する特徴意味Assistant調ではない会話パターンの名残

共有特徴については、ほとんどのケースでデコーダーの方向(ベクトルの向き)が両モデル間で強く揃っていました。これは同じ概念が両モデルで同じ機能を果たしていることを示唆します。ただし数千個の特徴では相関が非常に低い、あるいは負の値を示すケースも見つかっており、研究チームはこれを「ベースモデルに存在した概念を、ファインチューニング後のモデルが新しい形で使い回している」可能性があると推測しています。

「モデル差分」という発想の来歴と広がり

ソフトウェアのdiffツールに例えるなら、crosscoderは「変更された行だけを見せてくれる」ツールに相当します。ニューラルネットワークを差分の視点で比較しようという発想自体は新しくありません。研究チームの整理によれば、この「model diffing」という問題設定は2018年のOpenAI Clarity Teamの議論で最初に言語化され、2019年にはChris OlahがIcelandの安全性ワークショップで安全戦略の1つとして紹介しています。近年ではデータセット変換に基づく手法や、Roger Grossseによる未発表の関連研究も進んでいます。

crosscoderが特に有望とされるのは、ファインチューニング前後の比較に限らず、次のような幅広い比較に応用できる点です。

  • 学習中のスナップショット同士の比較(特徴がいつ・どう形成されるか)
  • 異なる乱数シードで学習した2つのモデルの比較
  • 学習データセットを変えたときの影響
  • モデル規模を変えたときの影響
  • 異なるアーキテクチャ間の比較
  • 敵対的学習(adversarial training)を施したモデルとの比較

実際に研究チームは、規模の異なる3つのモデルの10層分の活性化に対してcrosscoderを学習させる追加実験も行っています。非負値の行列を因子分解する手法(NMF)で特徴の分布を分析した結果、初期レイヤーと後期レイヤーは3モデル共通の構造を共有する一方、中間レイヤーでは最小モデルと、より大きい2モデルとで別々の構造が現れました。モデルの規模が大きくなるにつれて、中間レイヤーに質的に新しい表現が生まれている可能性を示す結果です。

この手法が開く問いと、まだ答えの出ていない問い

著者らは、crosscoderによるモデル差分が有望なのは、既存の基本的な疑問に新しい切り口で取り組めるからだと述べています。学習の過程で特徴はいつ、どのように形成されるのか。突然現れるのか、徐々に育つのか。同じモデルを2回学習させたとき、同じ特徴が得られるのか。モデルを幅方向に大きくすると、単に特徴の数が増えるだけなのか、それとも一部の特徴は淘汰され、より大きなモデルだけが持てる特徴に置き換わるのか。こうした問いはどれも、crosscoderによるモデル差分の精度が上がって初めて本格的に検証できるようになります。

crosscoderの限界 — 「わからない特徴」がまだ多く残る

crosscoderは万能ではありません。著者らが率直に認めている限界が2つあります。1つは、crosscoderの再構成誤差(モデル本来の活性化とcrosscoderが説明できなかった残差)そのものが大きくなりうる点です。この誤差は元の活性化そのものより解釈が難しいことが多く、無視できません。

もう1つは、crosscoderが導く因果構造が、モデルが実際に使っている計算メカニズムと一致するとは限らない点です。crosscoderは1トークン位置の活性化だけを見て学習するため、層をまたいだ相関をすべて「クロスレイヤー特徴」として説明しようとします。しかし実際のモデルでは、同じ情報が複数の層で別々に再計算されているだけかもしれません。この「機構的な忠実性(mechanistic faithfulness)」をどう定式化するかは、まだ開かれた課題だと著者らは述べています。

まとめ

crosscoderは、ファインチューニングや学習過程でモデルの中身がどう変わったかを、レイヤーやモデルをまたいで機構レベルで比較するための解釈手法です。Claude 3 Sonnetでの実験では、100万特徴のうち4,000〜5,000個程度がモデル固有の特徴として分離でき、拒否行動や自己言及への反応といった具体的な振る舞いに対応する例も見つかりました。一方で大半のモデル固有特徴はまだ解釈できておらず、crosscoderが示す因果構造が実際のモデルの計算と一致する保証もありません。この技術は、新しいバージョンのモデルが公開されるたびに「何が変わったか」を機構レベルで追跡できる可能性を持つ、発展途上の監査ツールという位置づけです。Anthropicの解釈可能性研究がどのようにClaude製品の安全性実務へつながっているかは、Anthropicの安全性研究がClaude製品のどこに入っているかで扱っています。crosscoderと並ぶ別の解釈アプローチとして、活性化を自然言語に直接書き出す手法はNatural Language Autoencodersで紹介しています。

この記事を共有:XはてブLinkedIn