Upgrade to Pro — share decks privately, control downloads, hide ads and more …

論文紹介:Language Models Use Trigonometry to Do Add...

Avatar for Arai M Arai M
April 30, 2025

論文紹介:Language Models Use Trigonometry to Do Addition

Avatar for Arai M

Arai M

April 30, 2025

More Decks by Arai M

Other Decks in Research

Transcript

  1. 1. 導⼊ ~LLMの数学的推論能⼒と「解釈能⼒の探究」~ n 背景 • 近年LLMは⽂章⽣成だけでなく、数学的問題を解く能⼒が著しく向上 • どのようにして「⾜し算」のような単純計算を⾏なっているか、 内部メカニズムはブラックボックス

    n MI (Mechanistic Interpretability) : • ブラックボックスを開け、特定のタスクをどのように実⾏しているのかを、 ⼈間が理解できる部品(ニューロンやAttention head)とその相互作⽤のレベル で解明しようとする分野 • モデルの信頼性、安全性、能⼒の根源を理解するために不可⽋である 3
  2. n 背景 • 近年LLMは⽂章⽣成だけでなく、数学的問題を解く能⼒が著しく向上 • どのようにして「⾜し算」のような単純計算を⾏なっているか、 内部メカニズムはブラックボックス n MI (Mechanistic

    Interpretability) : • ブラックボックスを開け、特定のタスクをどのように実⾏しているのかを、 ⼈間が理解できる部品(ニューロンやAttension Head)とその相互作⽤のレベル で解明しようとする分野 • モデルの信頼性、安全性、能⼒の根源を理解するために不可⽋である 1. 導⼊ ~LLMの数学的推論能⼒と「解釈能⼒の探究」~ 4 n ⽬的 1. LLMが数を内部でどのように表現しているかを探る 2. その表現をどのように操作して⾜し算を実⾏しているか(アルゴリズム) を特定する 3. 因果的介⼊(Ac*va*on Patching, Path Patchingなど)と呼ばれる⼿法を⽤い て、特定された表現とアルゴリズムが実際に計算に必要不可⽋であること を実験的に証明する
  3. n 実験設定 Ø 対象モデル : 中規模 ⾃⼰回帰型Transformerモデル • GPT-J (6B):

    主な解析対象 (Simple MLPのため解釈容易) • Pythia-6.9B: ⽐較対象 • Llama3.1-8B: ⽐較対象 (Gated MLP採⽤) Ø タスク • 主タスク: 2桁の整数 a, b ∈ [0,99] の⾜し算 a+b ※答えがモデルにとって単⼀トークンで表現できる範囲に限定 Ø データセット • 100×100=10,000 通りの問題 (a+b= 形式) 5 1. 導⼊ ~LLMの数学的推論能⼒と「解釈能⼒の探究」~
  4. 2. 発⾒1 ~数は「Generalized Helix」で表現される~ n 既存の考え⽅と疑問 ~LLMが数をどのように表現しているか~ • 「線形仮説」が有⼒であった …LLMが概念を線形な⽅向ベクトルとして表現する

    単純な線形表現だけで数の持つ周期性を捉え、正確な計算ができるのか︖ (※先⾏研究︓実際に曜⽇は円環構造で表現される例も報告されていた) ⼀般化された螺旋 7
  5. 2. 発⾒1 ~数は「Generalized Helix」で表現される~ n 分析⼿法 • PCA (主成分分析): 隠れ状態の線形構造の特定、次元削減

    • フーリエ変換: 隠れ状態の周期性の特定 • フィッティング: 線形回帰: 隠れ状態を「螺旋モデル」にフィット ⼀般化された螺旋 8
  6. 2. 発⾒1 ~数は「Generalized Helix」で表現される~ ⼀般化された螺旋 9 PCA(主成分分析) ~表現の主要な軸を探る~ フーリエ変換 ~表現の周期性を⾒つける~

    フィッティング ~モデルの構造が必要不可⽋ なものか検証~ • データを最も表す主成分を ⾒つけ出す⼿法 • 次元削減やデータ可視化 • データに含まれる周期的なパターン を⾒つける⼿法 • どの程度螺旋に沿っているか LLMが数をどのように表現しているか、潜むパターンを探る 仮定に基づきフィッティング
  7. 2. 発⾒1 ~数は「Generalized Helix」で表現される~ n 前処理 GPT-Jで 𝒂 ∈ [𝟎,

    𝟑𝟔𝟎] を⼊⼒し、layer0の出⼒(隠れ状態ベクトル𝒉𝒂 𝟎)を取得 ⼀般化された螺旋 10 先⾏研究より
  8. 2. 発⾒1 ~数は「Generalized Helix」で表現される~ n PCA(主成分分析) 𝒉𝒂 𝟎に対してPCAをかける • 𝒂

    ∈ [𝟎, 𝟏𝟎𝟎]では線形性を確認 • 第⼀成分はa=100付近で不連続性 ⇨ 3桁で表現が変わると⽰唆 ⼀般化された螺旋 11
  9. 2. 発⾒1 ~数は「Generalized Helix」で表現される~ nフーリエ変換 𝒉𝒂 𝟎(𝒂 ∈ [𝟎, 𝟑𝟔𝟎])に対してフーリエ変換

    • T=[2, 5 10, 100]でピーク • 特定の周波数に顕著なピークが⾒られるため周期性 ⼀般化された螺旋 12
  10. 2. 発⾒1 ~数は「Generalized Helix」で表現される~ n PCA/フーリエ変換より… • PCA分析:数値 a (0-99)

    に対してほぼ線形の関係 線形性を捉えている • フーリエ変換分析: 特定の周期 (T=2, 5, 10, 100) で強いピークが観察された 周期性を捉えている。 ⼀般化された螺旋 13 (仮説) 線形性✖周期性≒螺旋構造
  11. 2. 発⾒1 ~数は「Generalized Helix」で表現される~ n 螺旋にフィッティング 1. 次元削減: 計算効率と過学習防⽌のため𝒉𝒂 𝒍

    をPCAで100次元に削減 2. 基底関数の選択: 𝑻 = [𝟐, 𝟓, 𝟏𝟎, 𝟏𝟎𝟎]から全ての組を試す 3. 線形回帰: 1.に対して2.の𝑩(𝒂)を使い線形回帰し、適切な𝑪𝑷𝑪𝑨 を求める 4. 次元復元: 𝐶'() に逆PCAをかけてCを得る ⼀般化された螺旋 14 a: 線形成分 Ti: 周期性分=2,5,10,100 B(a): 基底関数ベクトル C: 係数⾏列
  12. 2. 発⾒1 ~数は「Generalized Helix」で表現される~ n 螺旋にフィッティング n 周期的な要素に対応する2次元平⾯へ射影 • 数値が⼤きくなるにつれて線形成分の値も直線的に増加

    • 各周期に対して点が円環状に分布している ⼀般化された螺旋 15 提案した螺旋モデルがLLM内部の数値表現に含まれる 「線形的な要素(数の⼤⼩)」と「複数の周期的な要素(剰余など)」の 両⽅をうまく捉えていることを視覚的に裏付ける
  13. 2. 発⾒1 ~数は「Generalized Helix」で表現される~ ⼀般化された螺旋 16 n 螺旋にフィッティング 5. 適合度評価:

    Activation Patching …単にデータにフィットしているかだけでなく、 ⾜し算を⾏う上で必要不可⽋な役割であるか検証 …ある計算の途中結果(活性化値、隠れ状態𝒉)を別の値(別の⼊⼒での値) に置き換え、最終的な出⼒がどう変わるか調べる
  14. 2. 発⾒1 ~数は「Generalized Helix」で表現される~ ⼀般化された螺旋 17 n 螺旋にフィッティング 5. 適合度評価:

    Activation Patching --STEP2: Corrupted Run— 破損した⼊⼒ (a‘ + b) で計算を実⾏し、 妨害された状態での正解に対する確信度 𝑙𝑜𝑔𝑖𝑡!"##$%&'( を記録 --STEP1: Clean Run-- 正しい⼊⼒ (a + b) で計算を実⾏し、 正常な計算時の内部状態ℎ!)'*+ を記録 --STEP4: LD計算-- LD = 𝑙𝑜𝑔𝑖𝑡%*&!,-+. - 𝑙𝑜𝑔𝑖𝑡!"##$%&'()を計算 この LD値が⼤きいほど、注⼊した[螺旋]が 計算結果を改善する因果的な効果が⼤きい --STEP3: Patching Run-- 破損した⼊⼒ (a’ + b) 計算を実⾏するが、 途中でステップ1で記録した ℎ!)'*+ の代わりに 間違った計算時の内部状態 介⼊後の正解に対する確信度 𝑙𝑜𝑔𝑖𝑡%*&!,-+. を記録 螺旋情報が使えないor破損している場合 モデルがどれだけ正解から遠ざかるか 破損した状況で⼈⼯的に螺旋情報を 与えた場合モデルがどれだけ正解に 近づけるか
  15. 2. 発⾒1 ~数は「Generalized Helix」で表現される~ ⼀般化された螺旋 18 n 螺旋にフィッティング • 他のモデルと⽐較して

    螺旋モデルが⾼いLDを⽰した • 最終トークンの隠れ状態を 𝒉𝒆𝒍𝒊𝒙(𝒂 + 𝒃)でパッチングすると⾮常に⾼いLD →a+bに対応する構造を実際に 計算・利⽤している 提案した螺旋モデルが実際にLLMが数を表現し計算する上で、重要な役割を担っている
  16. 2. 発⾒1 ~数は「Generalized Helix」で表現される~ n 考察① • ⾮線形多様体: 螺旋構造は、LLMが数を⾮線形な多様体として 表現している。線形表現仮説への重要な⽰唆

    • タスク特異性: 螺旋表現は加減算に特に有効だが、他の演算ではPCA等に劣る場合 →⾜し算に特化した構造か︖ ⼀般化された螺旋 20
  17. 3. 発⾒2 ~計算は「Clockアルゴリズム」で⾏われる~ n ⾜し算アルゴリズムの提案 • Nandaら (2023) の研究 1層Transformerモデルが剰余算を解く際に、

    数の円環表現を操作する「Clockアルゴリズム」を発⾒ • このアイデアが多層のLLMにおける ⾜し算 (a+b, a,b ∈[0,99]) に適⽤可能かを検証 21
  18. 3. 発⾒2 ~計算は「Clockアルゴリズム」で⾏われる~ n Clock アルゴリズム STEP1: 数字を螺旋で表現する • a

    と b を螺旋に変換 • 単に数字の⼤きさだけでなく、時計の針の位置 STEP2: 螺旋情報を計算場所に集める • Attention Headが、a の螺旋情報と b の螺旋情報を、 答えを計算するための場所(=最終トークン位置)に集める STEP3 : 演算<時計の針を操作して答えの螺旋を作る> • 計算部⾨のMLP層 の前半(L14-18)が、集められた a と b の螺旋情報を操作 • 複数の時計の針を a の分と b の分だけそれぞれ進めて、最終的に a+b の位置を⽰す 新しい針の位置(=答えの螺旋 ℎ𝑒𝑙𝑖𝑥(𝑎 + 𝑏))を作り出すイメージ STEP4: 読み取り<答えの「らせん」を読み取って数字にする> • 計算部⾨のMLP層の後半(L19-27)が、出来上がった「答えの螺旋」を⾒て、最終的な答えの 数字として出⼒ 22
  19. 3. 発⾒2 ~計算は「Clockアルゴリズム」で⾏われる~ 25 n Clockアルゴリズム使⽤の証拠となる分析 1. 最終トークンへのℎ𝑒𝑙𝑖𝑥(𝑎 + 𝑏)

    Activation Patching • 仮定: 計算途中でℎ𝑒𝑙𝑖𝑥(𝑎 + 𝑏) を⽣成し、最終出⼒直前で使われる • 分析: 最終トークン位置の隠れ状態を𝒉𝒆𝒍𝒊𝒙(𝒂 + 𝒃)で置き換える • 結果: 𝑳𝑫(正解Logit)が⼤幅に回復 𝒉𝒆𝒍𝒊𝒙(𝒂 + 𝒃)は計算における 重要な中間⽬標で最終出⼒に 必要不可⽋ step3, step4の仮説を強く⽀持
  20. 3. 発⾒2 ~計算は「Clockアルゴリズム」で⾏われる~ 26 段階的な処理フローと部品の役割分担が裏付けられた n Clockアルゴリズム使⽤の証拠となる分析 2. Path patchingによりMLPとAttentionの役割分担解明

    • 仮定: 段階的な役割分担(情報伝達→演算→読み出し)がある • 分析: 層ごとのMLPとAttentionの直接効果(DE)と総効果(TE)を分析 • 結果: 中間層Attention (低DE) → 情報伝達 中間層MLP(⾼TE低DE)→演算…ℎ𝑒𝑙𝑖𝑥(𝑎 + 𝑏)⽣成 後期層Attention/MLP (⾼DE) → 読み出し DE:その部品が直接出⼒に与える影響 TE:他の部品を経由して間接的に与える 影響も含めた総効果
  21. n Clockアルゴリズム使⽤の証拠となる分析 3. ニューロン分析: • 仮定: MLP層がℎ𝑒𝑙𝑖𝑥(𝑎 + 𝑏)の⽣成(中間層)/読み出し(後期層)の役割を担う •

    分析: ⾜し算計算に重要と特定されたトップニューロンについて • 結果: 層が進むにつれて、ニューロンが ℎ𝑒𝑙𝑖𝑥(𝑎 + 𝑏) を読み取る割合と、 直接出⼒に貢献する割合の両⽅が⾼くなる 3. 発⾒2 ~計算は「Clockアルゴリズム」で⾏われる~ 29 X: 最終出⼒への貢献度 Y: ニューロンの事前活性化(=MLPへの⼊⼒の⼀部) の出⼒螺旋への依存度 MLP層の役割分担を⽰唆 アルゴリズムの流れを裏付ける
  22. 3. 発⾒2 ~計算は「Clockアルゴリズム」で⾏われる~ 30 n Clockアルゴリズム使⽤の証拠となる分析 4. Logit Lens分析: •

    仮定: 読み出しまで計算された内部表現 (𝒉𝒆𝒍𝒊𝒙(𝒂 + 𝒃)) の周期性を維持する • 分析: 1. ニューロンを主な⼊⼒周期 𝑻𝒊𝒏 ごとにグループ化。 2. 各ニューロンのLogit Lens出⼒パターンを計算 3. Logit Lensパターンをフーリエ分解し、主要な出⼒周期 𝑻𝒐𝒖𝒕 を特定 4. グループごとに 𝑻𝒐𝒖𝒕 の分布をヒストグラム化
  23. 3. 発⾒2 ~計算は「Clockアルゴリズム」で⾏われる~ 33 n Clockアルゴリズム使⽤の証拠となる分析 4. Logit Lens分析: •

    結果: 𝑻𝒊𝒏 グループのヒストグラムで、ピークは 𝑻𝒐𝒖𝒕 = 𝑻𝒊𝒏 の位置に強く現れた ニューロンの⼊⼒周期と出⼒影響の 周期には強い⼀貫性が⾒られた 𝒉𝒆𝒍𝒊𝒙(𝒂 + 𝒃) の構造的特徴が、 最終的な答えの⽣成に正しく 利⽤・反映されている ニューロンは特定の周期性を維持する 役割を担っている可能性がある
  24. 4. モデル間の⽐較と考察 34 (先⾏︓Llamaの算術関連ニューロンの複雑さを指摘 ( Nikankin et al. 2024 ))

    n モデル間の⽐較 1. モデル間の共通性: • 分析対象の3つのモデルは「らせん表現」と 「Clockアルゴリズム」を共有している 2. Llama3.1-8Bの特徴: • 他モデルと⽐較して𝒉𝒆𝒍𝒊𝒙(𝒂 + 𝒃)による 最終トークン隠れ状態のモデル化精度やLDが低め • Llamaが採⽤しているGated MLPは単純な MLPよりも表現⼒が⾼く、複雑な計算が可能 • よってClockアルゴリズムに加えて別の補助的な 計算メカニズムを獲得している可能性
  25. 4. モデル間の⽐較と考察 n 考察と研究の限界 3. トークン化の影響 • 本研究の限定条件: 分析は、数値(⼊⼒ a,b

    および答え a+b)が モデル内部で単⼀のトークンとして扱われるケースに限定 • 他のトークン化⽅式への影響: • Gemmaのように数値を桁ごとにトークン化するモデルも存在する • 本研究で特定されたメカニズムだけでは⾜し算(特に桁上がり処理)を 完遂できず、複数の桁トークン情報を統合するための追加のメカニズム が必要になる • 本研究の発⾒が全てのモデルや状況に直接適⽤できるわけではない 35
  26. 5. 本研究の意義と結論 n LLMの能⼒理解への貢献: • LLMは表⾯的なパターンや記憶に依存しているだけではない • 訓練データから内部的に数学的構造を捉え、 • それを操作するアルゴリズムを獲得・実⾏している証拠を提供

    n エラー分析への応⽤可能性 • なぜ⾜し算で特定の間違いを犯しやすいのか(特に±10の誤差が多い理由) を説明することが可能になる • モデルの挙動予測や改善に繋がる可能性がある 37
  27. 6. 懸念と今後の課題 n 懸念 • Clockアルゴリズムにおける螺旋演算ステップは謎 ※𝒉𝒆𝒍𝒊𝒙(𝒂) と 𝒉𝒆𝒍𝒊𝒙(𝒃) から

    𝒉𝒆𝒍𝒊𝒙(𝒂 + 𝒃) を⽣成する具体的な計算プロセス • 複雑な数学的推論タスクへどの程度⼀般化できるか不明 • Clockアルゴリズムが全てのLLMに共通のメカニズムであるか不明 n 今後の課題 • なぜ「螺旋」表現が線形表現よりも有利なのか︖ • LLMが内部的にエラー訂正のメカニズムを持っているか︖ 38