Gemcook Tech Blog
🔬

【論文深掘り】LLM ファインチューニングの"内部動作"を探る

に公開

はじめに

皆さん、こんにちは!

最近、大規模言語モデル (LLM) の基礎的な部分を改めて学ぼうと思い、関連する論文を読み漁っていました。特にファインチューニングそのものに強い関心があったわけではないのですが、そんな中で偶然にも興味深い論文に出会いました。

それが、今回ご紹介する Learning Dynamics of LLM Finetuningです。

この論文が扱っているのは、LLM ファインチューニング中のモデル内部の動き、つまり「学習ダイナミクス」です。

LLM のファインチューニング、例えば SFT (Supervised Finetuning) や DPO (Direct Preference Optimization) は、LLM の能力を最大限に引き出す上で非常に重要な技術として注目されています。しかし、これらの手法を用いていると時折、

「SFT を行うと、以前よりおかしな応答が増えることがある(幻覚の悪化)」
「DPO を継続すると、かえって良い応答が出にくくなることがある(信頼度の低下)」
といった、まるで LLM が気まぐれを起こしているかのような、不思議な現象が報告されているのを目にすることがあります。

この論文を読んで「おや?」と思ったのは、まさにこうした現象の裏側にある「なぜだろう?」という根本的な疑問に対して、何かヒントを与えてくれそうだと感じたからでした。

この記事では、LLM の基礎を復習する中で偶然出会ったこの論文のエッセンスを紐解きながら、LLM ファインチューニングの奥深くに潜む理論の世界を一緒に探検していきましょう!

LLM ファインチューニングにおける"解けない謎"

理論に入る前に、まずはファインチューニングの文脈でしばしば議論される「謎」について、おさらいしておきましょう。

謎 1: SFT のパラドックス:良かれと思った学習が裏目に?

SFT は、単純な「模範解答を学習させる」という教師あり学習です。特定の知識や応答形式を教えるのに効果的ですが、一方で、

  • 幻覚の悪化: 学習データに含まれない事実や、文脈に合わない情報を生成しやすくなる。
  • リピータ現象: 特定のフレーズや定型文を不自然に繰り返すようになる。

といった副作用が報告されています。なぜ、正しい答えを教えるだけのシンプルな学習が、このような意図しない結果を招くことがあるのでしょうか?

謎 2: DPO の壁:なぜ改善が止まり、時に悪化するのか?

DPO は、好ましい応答 (y+) と好ましくない応答 (y-) を比較学習させることで、より人間に好まれる応答を生成させようとする強力な手法です。しかし、

  • 信頼度の全体的低下: 学習を進めると、y+ の相対的な順位は上がっても、y+ を含む全ての応答の生成確率(モデルの「自信」のようなもの)が軒並み低下してしまう。
  • 性能の頭打ち/悪化: ある程度学習を進めると、改善が止まったり、場合によっては望ましい応答すら出にくくなったりする。

という現象が観測されます。なぜ、良し悪しを教える学習が、モデルを全体的に「自信喪失」させてしまうことがあるのでしょうか?

これらの「謎」の答えの鍵は、学習中のモデル内部の「動き方」にあるのかもしれません。

論文の"レンズ":学習ダイナミクスを捉える「3 因子分解」

この論文が提供してくれるのは、ファインチューニング中のモデルの動きを観察するための新しい「レンズ」です。それは、1 ステップの勾配更新がモデルの出力確率に与える影響を、3 つの主要な因子の掛け算として捉える考え方です。

複雑な変化をシンプルに:3 つの力の相互作用

ある入力 x_o に対する特定の応答 y_o の対数確率 \log \pi(y_o|x_o) が、学習データ (x_u, y_u) による 1 ステップの更新でどれくらい変化するか(\Delta \log \pi)。論文によれば、これは近似的に次のように書けます。

\Delta \log \pi(y_o|x_o) \approx -\eta \sum_{x_u, y_u} A(x_o, y_o) \cdot K_e(x_o, x_u) \cdot G(x_u, y_u)
  • A(x_o, y_o) : 現在の確率(Amplitude)
  • K_e(x_o, x_u) : eNTK(類似度, empirical Neural Tangent Kernel)
  • G(x_u, y_u) : 損失残差(Gradient)

一見難しそうですが、それぞれの因子の意味を掴めば、直感的なイメージが見えてくるので簡単です!!!

因子 A (現在の確率 / Amplitude)

  • 意味: 今、モデルが y_o をどれくらいの確率で生成しているか。Softmax 関数の性質から来ています。
  • 役割: 「勢い」や「影響の受けやすさ」。現在確率が高い応答ほど、更新の影響を強く受けやすい(良くも悪くも変化しやすい)。

因子 K (eNTK / Kernel)

  • 意味: 経験的神経接線カーネル (empirical Neural Tangent Kernel)。入力 x_o と学習に使った入力 x_u が、モデルのパラメータ空間でどれくらい「似ている」かを示す指標。
  • 役割: 「影響の伝播度」。x_ox_u が似ているほど、x_u での学習が x_o の出力に強く影響する。

因子 G (損失残差 / Gradient)

  • 意味: 学習データ (x_u, y_u) における損失関数の勾配。学習アルゴリズム (SFT/DPO) とデータ (正例/負例) によって決まる。
  • 役割: 「学習の方向と強さ」。モデルをどちらの方向に、どれくらいの力で引っ張るかを決めるエンジン。

図: 現在確率(A) × 類似度(K) × 損失勾配(G) = 確率変化(Δlogπ)

ざっくり言えば、「ある応答の確率変化(Δlogπ)は、その応答の現在の勢い(A)× 学習データとの類似度(K)× 学習の引っ張る力(G)で決まる」ということです。

この"レンズ"で何が見えるようになるのか?

この 3 因子分解の強力な点は、SFT や DPO といった異なるファインチューニング手法の違いを、主に因子 G(損失勾配)の違いとして整理できることです。因子 A と K は、ある程度モデルと学習状況に依存する共通部分とみなせるため、G の違いがダイナミクスにどう影響するかを比較・分析しやすくなります。

さあ、この「レンズ」を使って、先ほどの「謎」を解き明かしていきましょう...
とその前に、個人的に感じた謎についても語らせてください。

個人的謎

さっきの式って神経科学の「三因子学習則 (three‑factor learning rule)」にそっくりだと思いませんか? 僕がこの論文を読んで一番ゾクっとした瞬間がここでした。

Amplitude \times Kernel \times Gradient = post‑activity \times eligibility \ trace \times neuromodulatory \ error

という置き換えがそのまま成立するんじゃないか――という妄想(?) が頭をよぎりました。

ざっくり対応表

LLM 学習ダイナミクス 神経科学 (三因子則) カップ麺に例えてみる
Amplitude A post-synaptic firing ジュワッと注ぐ熱湯
eNTK K eligibility trace フタを閉じて待つ 3 分
Gradient G \delta(t) = reward prediction error フタを開けて味見 → 薄ければ粉末スープを追加

もしこの対応が本当に機能しているとしたら、、、

eligibility \ trace \approx eNTK

トークン列間の「似ている/似ていない」という情報を、Transformer はパラメータ空間の接線方向で"しおり"のように保持しているのか?

ドーパミン \delta \approx 損失残差 G

SFT も DPO も、所詮は「ごほうびの種類が違うだけ」なのかも??

などなど、妄想が止まりません。

ここから先はほぼ妄想タイム

メタプラスチシティっぽい何か

生物では「ごほうびベル」が強すぎると可塑性が飽和する現象が知られています。 DPO の Squeezing Effect って、その人工版じゃない?

シナプス前後 vs トークン前後

トークン列での前後関係と、スパイク列での前後関係が数学的には STDP と同型になるかも。

ニューラトランスミッタを実装する

たとえば global reward head を Transformer に追加して、\delta(t) を直接最適化したらどうなる――?

とかとか個人的にめっちゃおもろいなーって思ってます。
もし関連研究をご存じの方がいれば、ぜひコメントで教えて欲しいです。

ってことでそろそろ本題の謎を解き明かしていきましょう!!

謎を解き明かす:理論で読み解くファインチューニング現象

SFT ダイナミクス解析:幻覚・リピータ現象の根源を探る

SFT では、因子 G は単純に「正解 y^+ の確率を上げろ」という信号です。では、なぜ幻覚やリピータが起きるのか?

ここで効いてくるのが因子 K (eNTK) です。eNTK は入力間の「類似度」を測ります。もし、あるプロンプト x_A の正解 y_A^+ を学習させているとき、別のプロンプト x_Bx_A と(モデルにとって)似ていると判断されると、x_A での学習が x_B の出力にも影響を与えます(因子 K の値が大きい)。

さらに、もし x_B に対する応答として、x_A の学習で使われたフレーズ y_A^+(またはそれに似たもの)が生成されると、その確率も意図せず上昇してしまう可能性があります。これが繰り返されると、特定のフレーズが過剰に強化されたり(リピータ)、関係ないプロンプトの応答が混入したり(幻覚)する一因となりうる、と論文は示唆しています。

DPO の核心的課題:「Squeezing Effect」の発見とそのメカニズム

DPO の場合、因子 G は「y^+ の確率を上げ、y^- の確率を下げろ」という、より複雑な信号になります。特に問題となるのが「y^- の確率を下げる」という部分です。

もし y^- の確率が既に非常に低い場合、そこにさらに強い負の勾配(確率を下げる力)をかけると何が起こるか?Softmax 関数の性質上、その影響は y^- だけに留まりません。他の多くの低確率トークンも道連れにして、確率が全体的に引き下げられてしまうのです。

そして、行き場を失った確率質量は、元々最も確率の高かったトップトークンに集中します。結果として、確率分布全体が「絞り込まれた」ように、よりシャープでピーキーな形になってしまう。論文はこの現象を "Squeezing Effect (絞り込み効果)" と名付けました。

この Squeezing Effect こそが、DPO 学習中に y^+ を含む多くの応答の信頼度(絶対確率)が低下してしまう現象の有力な説明となります。

y^+ の相対的な順位は y^- より高くなるかもしれませんが、分布全体が「痩せて」しまうため、絶対的な確率は下がってしまう、というわけです。これが DPO の「壁」や「自信喪失」の正体かも??しれません。

理論は現実を説明できるか?:実験による検証

理論がどれだけエレガントでも、現実のモデルで確認できなければ意味がありません。論文では、Pythia や Qwen といった様々なサイズの LLM を用い、Anthropic HH-RLHF などのデータセットで SFT と DPO を行い、学習中のモデルの挙動を詳細に追跡しました。

実験デザイン:どのように理論をテストしたか

彼らは、学習の各ステップで、特定のプロンプトに対する複数の応答(正解 y^+、不正解 y^-、その他の無関係な応答など)の対数尤度 \log \pi(y|x) を計測しました。これにより、3 因子分解や Squeezing Effect が予測するような確率の変化が、実際に観測されるかを確認しました。

主要な結果:グラフが語るダイナミクスの証拠

  • 図: 論文 Figure 3 や Figure 4 (の模式図)。横軸に学習ステップ、縦軸に応答の対数尤度をとったグラフ。
  • (a) SFT の場合: y^+ は急上昇後飽和。他の応答は初期に少し上がるものもあるが、後半で低下。
  • (b) DPO の場合: y^+y^- の差(マージン)は開いていくが、y^+ を含む多くの応答の対数尤度が学習後半で同期して低下していく様子。

実験結果は、理論の予測とよく一致しました。

  • SFT では、学習が進むにつれて y^+ 以外の応答の確率が低下する傾向が見られました。
  • DPO では、まさに Squeezing Effect が示唆するように、y^+y^- の相対的な差は開いていくものの、多くの応答の絶対的な対数尤度が、学習が進むにつれて同時に低下していく様子が明確に観測されました。

これらの実験結果は、3 因子分解という「レンズ」と、そこから導かれる Squeezing Effect という概念が、実際の LLM ファインチューニングの複雑な挙動を理解する上で有効であることを強く支持しています。

この論文は何が新しいのか?

では、この研究は LLM コミュニティに何をもたらしたのでしょうか?

LLM チューニング研究への貢献

  • 統一的なフレームワーク: SFT, DPO, さらには他の RL-free な手法 (SLiC, SPIN など) を、「3 因子分解」という共通の視点から分析・比較することを可能にしました。これにより、各手法の長所・短所や相互作用を、より体系的に理解できるようになります。
  • "Squeezing Effect" の発見と定式化: DPO における信頼度低下という経験的に知られていた問題に対し、そのメカニズムを理論的に説明し、「Squeezing Effect」として定式化しました。これは、今後の Alignment 技術の改善に向けた重要な知見です。
  • 理論に基づく改善策の示唆: Squeezing Effect の理解から、「DPO 前に SFT で y^- の確率を少し上げておく」というシンプルな対策が有効である可能性を示しました(論文では実際に効果を確認しています)。

理論の限界と注意点

一方で、この理論にも限界や注意点があります。

  • eNTK の静的仮定: 解析の中心となる eNTK (因子 K) は、学習中あまり変化しないと仮定されています。しかし、現実の学習、特に初期段階や大きな学習率では eNTK も変化するため、これはあくまで近似です。
  • 一次近似: 理論は基本的に、勾配更新の影響を一次のテイラー展開で近似しています。更新ステップが大きい場合には、高次の項の影響も無視できなくなる可能性があります。
  • モデル・データ依存性: 実験結果は特定のモデルとデータセットに基づいています。理論の普遍性や効果の程度は、他の設定では異なる可能性があります。

これらの限界を理解した上で、この論文が提供する「学習ダイナミクス」という視点を活用することが重要です。

まとめ

今回は、LLM ファインチューニングの裏側で何が起こっているのかを探る論文 Learning Dynamics of LLM Finetuning を深掘りしてみました。

一見複雑で予測不可能に見える LLM の挙動も、「3 因子分解」というレンズを通して見ると、そこには一定の法則性やメカニズムが働いていることが分かります。特に「Squeezing Effect」の発見は、DPO をはじめとする選好学習の難しさの一端を明らかにしてくれました。

もちろん、これで LLM の全てが分かったわけではありません。理論には限界があり、モデルの内部は依然として多くの謎に満ちています。しかし、こうした理論的な探求は、私たちが LLM という強力なツールをより深く理解し、より賢く使いこなしていくための重要な一歩となるはずです。

LLM の学習ダイナミクスという深淵を覗く旅は、まだ始まったばかり。今後の研究の進展が、さらにどんな驚きを見せてくれるのか、楽しみですね!

この記事が、LLM ファインチューニングの理論的な側面に興味を持つ皆さんの、知的好奇心を少しでも満たすことができれば幸いです。

参考論文

Gemcook Tech Blog
Gemcook Tech Blog

Discussion