はじめに
AIの思考プロセスを可視化できるツール「Neuronpedia Circuit Tracer」をご紹介します。このツールを使えば、従来ブラックボックスとされていたAIの判断過程を、グラフとして直感的に理解することができます。
Neuronpediaとは?
Neuronpediaは、AIモデルの内部構造を解明するためのオープンプラットフォームです。「このモデルの内部表現(ニューロンや特徴)は何を意味しているのか?」という問いに答えることを目的として開発されています。
Circuit Tracerの役割
NeuronpediaでホストされているCircuit Tracerは、Anthropicが開発したオープンソースツールをベースに、AIモデルの思考回路を「アトリビューショングラフ」として視覚的に表現します。これにより、従来ブラックボックスとされていたAIの判断プロセスが、直感的に理解できるようになります。
Attribution Graphの読み方
まずCircuit Tracerのページを開いて大きく表示されているグラフが「Attribution Graph」です。このグラフは、AIモデルがどのように考えて答えを導き出したかの「思考プロセス」を可視化したものです。この場合は、中央上の「Fact: The capital of the state containing Dallas is」というプロンプトに対しての思考プロセスを表しています。
グラフの構成要素
1. X軸(横軸):入力トークン
入力したプロンプト(質問文)が、モデルが処理できる最小単位である「トークン」に分解されて並んでいます。
2. Y軸(縦軸):レイヤー
左側にEmb
, L0
からL25
, Lgt
まで並んでいるのがレイヤーです。これはモデルの「深さ」を表しており、情報は一番下の入力層(Emb)から始まり、上に向かって層を一つずつ通過しながら処理されていきます。
3. 右上:出力ノード
San
, Oklahoma
, Dallas
, Houston
, Texas
などと書かれている部分です。これは、入力された文章に続いて、モデルが「次に来る単語はこれだろう」と予測した確率の高い候補の一覧です。
4. グラフの中間部分:ノードと線
-
●特徴ノード(Features):モデルが内部で学習した様々な「概念」を表します。例えば「地名」「法律用語」「テキサス州に関連すること」といった抽象的な概念が、これら一つ一つのノードに対応します。
-
◆エラーノード(Error Nodes):この可視化ツールでも捉えきれなかった、計算上の「欠けている部分」や誤差を示します。モデルの思考の全てを完璧に可視化するのは難しいため、このような形で表現されます。
-
線(Edges):ノード同士を結ぶ無数の灰色の線は、影響の流れを示します。あるノードが活性化することで、次にどのノードに、どれくらいの強さで影響を与えたかを表しています。
Node Connectionsの読み方
右上のセクション「Node Connections」では、AIモデルの中のある一つの特徴(Feature)が、他のどの特徴と、どのように関連し合っているのかを詳細に確認できます。
入力特徴(INPUT FEATURES)
例えば、レイヤー20の「Texas」特徴をクリックした場合:
Emb: "Dallas" (+43.26)
これが最も強い影響元です。意味は「最初のPromptでDallasという単語が入力されると、このレイヤー20のTexas特徴が+43.26という非常に強い影響を受けて活性化する」ということです。モデルが「DallasはTexasにある」という関係を学習していることが分かります。
[Texas] mentions of Texas and the surrounding area (+14.25 L14)
「レイヤー14で『テキサスとその周辺地域』に関する特徴が活性化すると、このTexas特徴も活性化する」という、より抽象的な概念のつながりを示しています。
出力特徴(OUTPUT FEATURES)
逆に「Texas」特徴が活性化した結果、次に影響を与える先の特徴も確認できます:
Texas/Dallas (+18.59 L22)
「レイヤー20のTexas特徴が活性化すると、その結果として、より後の層であるレイヤー22のTexas/Dallasという特徴が+18.59の強さで活性化されやすくなる」という意味です。
このように、出力されたAustin
に強い影響を与えた特徴は、Layer20のTexasであることが明確に可視化されます。
Feature Detailsの読み方
右下のセクション「Feature Details」では、選択した特徴のより詳細な情報を確認できます。
Logitについて
Logitは、モデルが特定の単語を出力するように「どれだけ強く押しているか」を示す数値です。
- Positive Logits(プラスのロジット):「この単語を選ぼう!」という強い肯定的な影響力
- Negative Logits(マイナスのロジット):「この単語は選ばないでおこう」という否定的な影響力
層の深さによる役割の違い
重要なのは、層の深さによってロジットの意味が変わることです:
- 前の層:単語の形や品詞などの低レベル特徴を処理。ロジットはまだ文脈を反映しておらず、最終出力の予測には直結しない
- 後ろの層:文脈や意味を統合し、高レベルの意図を形成。ロジットは次の単語予測と強く結びつき、モデルの「考え」が見える
要するに、浅い層は素材作り、深い層は実際の発話準備を担っているイメージです。
例えば、「countries」特徴では、positive logitsがIreland
やCanada
など国に関するものになっており、Texas
などの都市名と近い概念を出力しようとしていることが分かります。
Top Activationsとは
Top Activationsは、現在注目している特徴(feature)を最も強く「活性化」させた文章の具体例リストです。
例えば、以下のような文章がTexas関連の特徴を強く活性化させています:
calm that only nature can provide. Upon easily accessing this North-Central community from Blanco, Borgfeld, and Canyon Golf roads, its easy to see why
この文章では、Blanco
, Borgfeld
, Canyon Golf roads
などテキサス州の特定の地域を強く示唆しています。from
やand
, in
などのトークンが最も緑色が濃くなっていますが、これらが単なる前置詞以上の「地理的な関係性を示すマーカー」としてモデルに認識され、貢献度が高いと判断されていることが分かります。
まとめ
今回の実験では、「Fact: The capital of the state containing Dallas is」というプロンプトに対して、Gemma-2-2Bモデルがなぜ「Austin」という結果を予想したのかを可視化しました。
Circuit Tracerを用いることで、以下のことが可能になります:
- 思考プロセスの可視化:AIがなぜその答えに至ったかの論理的な流れを追跡
- 知識の活性化要因:特定の知識がなぜ活性化されたのかの原因を特定
- 学習データの影響:その判断の根拠となった学習データの具体例を確認
今までブラックボックスとされていたAIの思考過程が可視化され、理解できるのは非常に興味深い点です。ぜひ、Gemma-2-2Bだけでなく、HaikuやQwen3-4Bといった他のモデルとの思考比較や、プロンプトを変えた場合の違いも試してみてください。
(この記事は研究室インターンで取り組みました:https://kojima-r.github.io/kojima/)