ファインチューニングとRLHF — 「続きを書く機械」を対話AIへ

事前学習を終えた言語モデルは、まだ「インターネットの続きを書く機械」にすぎません。それを人の意図に沿うアシスタントへ仕立てる調整の技術 — SFT・報酬モデル・RLHF・LoRA — を、動くパイプラインで追いかけます。

1. 4つの段階 — モデルの「性格」ができるまで

事前学習の目的関数は次トークン予測だけ。だから「フランスの首都は?」と入力すると、「という問題は試験によく出る。」と続きを書いてしまうかもしれません。知識は大量に持っているのに、「質問には答えるものだ」という意図を知らないのです。

そこで事前学習のあとに、SFT(教師ありファインチューニング)→ 報酬モデル学習 → RLHF(人間のフィードバックによる強化学習)という3段の調整(アラインメント)を重ねます。まず全体像をツアーしましょう。各段階でモデルの「性格メーター」がどう動くかに注目してください。

LLM 育成パイプライン — 4段階ツアー
自動再生では約7秒ごとに次の段階へ進みます。①で知識だけが伸び、②のお手本学習で従順さが跳ね上がり、③では(モデル本体は変わらず)採点係が育ち、④のループで従順さと安全さが仕上がる — 段階ごとに目的関数が違うことが性格の変化に表れます。
POINT — 4段階は「目的関数のリレー」 ①事前学習=コーパスの尤度最大化、②SFT=お手本対話の尤度最大化、③報酬モデル=比較の分類問題、④RLHF=報酬の最大化。同じネットワークに違う目的関数を順に当てることで、知識→型→好み、の順に能力を積み上げる。

2. 人の好みを数にする — 報酬モデル

RLHF の肝は、「人の好み」という曖昧なものを微分可能な関数 rφ(x, y) に変換することです。学習のたびに人間へ聞きに行くわけにはいかないので、まず人間の判断を数万件集めて採点係(報酬モデル)を学習し、以後はこの採点係に人間の代理をさせます。

ここで重要な設計判断があります。人間に「この回答は100点満点で何点?」と聞く(絶対評価)のではなく、「AとBどちらが良い?」と比較だけを聞くのです。下のデモでは、比較データが貯まるにつれて、でたらめだった報酬カーブが「隠れた本当の好み」に吸い付いていきます。

報酬モデルの学習 — 比較の蓄積がカーブを形づくる
下段に回答ペアが流れ、人間の好み(緑の✓)が付きます。緑の目盛=選ばれた回答の特徴位置、暗い目盛=選ばれなかった位置。絶対評価は人や日によってブレるが、「どちらが良いか」は一貫しやすい — だから比較で集める。カーブの右端が下がるのは「詳しすぎ・くどい回答は逆に嫌われる」ため。
LRM = −log σ( rφ(x, y勝) − rφ(x, y負) ) Bradley–Terry モデル。選ばれた回答 y勝 の点数が y負 より高くなるほど損失が下がる — 比較データだけからスカラーの採点関数が学べる
POINT — なぜ比較なのか 「良い文章に点を付けよ」は専門家でも基準がブレるが、「2つ並べてどちらが良いか」は素早く・安定して答えられる。順序(相対評価)の情報だけでも、ロジスティック損失を通せばスカラーの報酬関数が復元できる、というのが Bradley–Terry の教え。

3. RLHF — 報酬を追いつつ、離れすぎない

採点係ができたら、いよいよポリシー(=言語モデル本体)を強化学習(実務では PPO が定番)で更新します。「生成 → 採点 → 勾配で更新」のループです。ただし報酬モデルは人間の好みの不完全な近似にすぎません。素朴に報酬だけを最大化すると、モデルは採点係の穴を突く出力 — 過剰な断言、無意味な世辞、絵文字の乱打 — に収束してしまいます。

そこで目的関数に「基準モデル πref(SFT直後のモデル)から離れすぎたら罰金」という項を足します。これが KL 制約です。

maxθ   Ey∼πθ[ rφ(x, y) ] − β · KL( πθ ‖ πref ) 第1項=採点係からの報酬をできるだけ稼ぐ。第2項=基準モデルとの分布のズレ(KLダイバージェンス)に係数 β の罰金。β が綱引きの力加減を決める
KL制約の意味 — βで綱引きの力加減を変える
水色の等高線=基準モデルの応答スタイル分布、オレンジ=最適化中のポリシー。緑矢印=報酬の引力、赤矢印=KLの引き戻し。β=0 にすると赤い「報酬の裂け目」へ吸い込まれて出力が崩壊(報酬ハッキング)、β≥0.8 ではほぼ動けず、β=0.2〜0.4 で「報酬もそこそこ・分布も近い」均衡点に落ち着きます。βを動かして往復させてみてください。
注意 — 報酬ハッキング(グッドハートの法則) 「指標が目標になると、良い指標ではなくなる」。報酬モデルが「長い回答を好む」傾向を持てば無限に冗長になり、「自信のある口調を好む」なら誤りでも断言するようになる。報酬が上がり続けているのに実際の品質が崩壊するのが典型症状で、KL制約・報酬モデルの定期的な再学習・複数報酬の併用がその防波堤になる。

なお、この目的関数の最適解は解析的に書けることが知られており、それを逆手に取ると報酬モデルも強化学習も省略して、比較データから直接ポリシーを学習できます。これが DPO(Direct Preference Optimization)で、実装が単純で学習が安定するため、RLHF の代替として広く使われています。

4. 全部は学習し直さない — LoRA

数十億〜数千億パラメータのモデルをフルにファインチューニングするのは高くつきます。勾配とオプティマイザ状態まで含めると、必要な GPU メモリは重み本体の数倍。そこで登場するのが LoRA(Low-Rank Adaptation)です。

鍵となる観察は、「ファインチューニングによる重みの変化 ΔW は実質的に低ランク」ということ。ならば ΔW を丸ごと持たず、細長い2枚の行列の積 B×A で表せばいい。元の W は凍結し、この小さな2枚だけを学習します。Attention の Q/K/V 射影など主要な行列に差し込むのが定番です。

LoRA の直感 — 巨大行列の差分を「細長い2枚」で持つ
学習パラメータ比:
青の巨大行列 W は凍結したまま、緑の B(縦長)とオレンジの A(横長)だけを学習する。r を上げると表現力と引き換えにパラメータが増えるが、r=64 でも全体の 3% 程度。実務では r=4〜64 あたりが定番で、タスクごとに数MBの「差分ファイル」を差し替えるだけで済む。
W′ = W + ΔW = W + B A,    B ∈ ℝd×r,  A ∈ ℝr×d 学習するのは 2dr 個だけ。r ≪ d なら d² に比べて圧倒的に少ない(d=4096, r=8 で全体の約 0.39%)

5. まとめ — 調整という仕上げ工程

一歩先へ — 好み学習の現在地 報酬モデルとRLを省く DPO 系(IPO・KTO など)、人間の代わりにAIがフィードバックする RLAIF、原則の文章に照らしてモデル自身が出力を批評・修正する Constitutional AI と、選択肢は急速に増えている。共通の課題は「アラインメント税」— 従順さ・安全さを上げる調整が知識や多様性をわずかに削る綱引きは、この分野の中心テーマであり続けている。