LLMは「226-68=」のようなプロンプトを与えると「158」と計算してくれますが、この計算は我々が想像するよりも奇妙な方法で行っていることを紹介します [Nikankin+ ICLR 2025]。
まずは前提条件を確認します。思考の連鎖は使わず、「226-68=」のようなプロンプトに対して「158」のように答えを直接出力する場合を考えます。
一例として Llama3-8B を考えます。Llama3 のトークナイザは 0 から 1000 までの数に 1 つのトークンを割り当てるので、「226-68=」を入力すると、次のトークン「158」が「0」「1」...「157」「158」「159」...「1000」などのトークンの中から、最も確率が高いものとして選ばれます。
ヤニフ・ニカンキンらの発見 [Nikankin+ ICLR 2025] は、Llama3-8B は答えや入力についての粗い条件を多数評価し、その積み重ねでこのような四則演算を解いているということです。
例えば、「{op1} - {op2}」というプロンプトテンプレート({op1} と {op2} は具体的な数で埋めます)を入力したとき
- 第 24 層の 12439 番目のニューロンは、{op1} - {op2} の評価結果が 150 から 180 の間にあるときに発火する → 発火するとトークン「150」「151」「152」...「179」「180」の出力確率が増える
- 第 30 層の 1582 番目のニューロンは、{op1} - {op2} の評価結果が mod 10 で 8 のときに発火する → 発火するとトークン「8」「18」「28」...「998」の出力確率が増える
などが観察されています。
例えば「226-68=」を入力すると、評価結果 158 は 150 から 180 の間にあるので第 24 層の 12439 番目のニューロンが発火しトークン「150」「151」「152」...「179」「180」の出力確率が上昇、評価結果 158 は mod 10 で 8 なので第 30 層の 1582 番目のニューロンが発火しトークン「8」「18」「28」...「998」の出力確率が上昇します。
このとき、「150」や「998」などのトークンの確率も同時に増えますがそれらが積み上がる回数は僅かなのに対して、真の答え「158」は毎回積み上がるので、全てのニューロンの累積でトークン「158」が傑出して確率が高くなります。

それぞれのニューロンは四則演算を厳密に解いておらず、粗い条件を評価しているに過ぎませんが、粗い条件が無数に積み重なり、真の回答が浮き彫りになります。著者らはこのメカニズムをヒューリスティックの束 (bag of heuristics) と呼んでいます。
一般に、{op1}、{op2}、または評価結果が特定のパターンに当てはまるときのみ発火するニューロンをヒューリスティックニューロンと呼びます。ヒューリスティックニューロンの種類としては以下のものを考えています。
- 範囲ヒューリスティック:値が [a, b] の範囲に含まれる。
- 剰余ヒューリスティック:値 mod n = m が成り立つ。
- パターンヒューリスティック:値が
1.2のように特定の正規表現にマッチする。 - オペランド一致ヒューリスティック:{op1} = {op2} が成り立つ。
- 複数結果ヒューリスティック(割り算のときのみ使用):値が集合 S に含まれる。S は要素数 2 ~ 4 の集合。
特定のニューロンがヒューリスティックニューロンかどうかを調べるには、「{op1} - {op2}」の形の様々なプロンプトを入力し、どのような場合にそのニューロンが強く発火したかを記録し、パターンの候補との一致度を測ればよいです。

各ニューロンによる出力への寄与はロジットレンズ (logit lens) [nostalgebraist 2020] という方法で算出できます。

トランスフォーマーは注意機構と多層パーセプトロン (MLP) が残差接続で積み重なっています。つまり、トランスフォーマーの最終線形層への入力 は各層の注意機構と MLP の出力の総和
であり、最終線形層はこれに語彙サイズ
の行列
を掛けて各トークンのロジットを計算します。通常の計算では、全ての層を足し合わせてからトークンの確率を計算しますが、見方を変えると、各層の出力
は、その都度、トークンのロジットを
だけ押し上げていると解釈できます。特に、2 層 MLP の中間ニューロン
は、2 層目のパラメータ行列の
列目
に接続されており、このニューロンが発火するとトークンのロジットは
だけ押し上げられることが分かります。これにより、各ニューロンによる出力への寄与が具体的に分かります。
このフレームワークにより、LLM が計算を間違うことの原因も分析できます。Llama3-8B はたまに計算を間違います。正解したときのニューロンの発火パターンと、間違えたときのニューロンの発火パターンを分析してみると、間違えたときには、ヒューリスティックニューロンが押し上げた正解トークンのロジットが少ないことが分かりました。

これにより、正答トークンが浮き彫りになり切らず、計算を間違ってしまったと考えられます。
四則演算は自明なタスクと思いがちですが、このような単純なタスクでも LLM は思いもよらない方法で解いており、調べてみると様々なことが分かります。
おわりに
この論文では、推論タスクの代表例として四則演算タスクを対象に分析していますが、一般の推論タスクについても LLM は同様の方法で推論している可能性があります。
あなたと ChatGPT の会話が説得力のある結論に見えても、AI は裏ではこのようなキモい方法で結論を出しているかもしれません。
本稿が LLM の推論能力について考えるきっかけになれば幸いです。
著者情報
この記事がためになった・面白かったと思った方は SNS などで感想いただけると嬉しいです。
新着記事やスライドは @joisino_ (Twitter) にて発信しています。ぜひフォローしてくださいね。
佐藤 竜馬(さとう りょうま)
京都大学情報学研究科博士課程修了。博士(情報学)。現在、国立情報学研究所助教。著書に『深層ニューラルネットワークの高速化』『グラフニューラルネットワーク』『最適輸送の理論とアルゴリズム』がある。