FIG-126

ファインチューニング・LoRA・RLHF — 全部書き直すか、付箋を貼るか、褒めて育てるか

AI 2026.10.13 公開 読了 約11分

ChatGPTのようなLLMは、まず大量の文章で事前学習をしてから、用途に合わせて追加の学習をしています。この追加学習にはいくつかの方法があり、名前がよく似ていて混乱しがちです。ここでは代表的な3つを、たとえで整理します。

フルファインチューニングは、教科書を全ページ書き直す。LoRAは、教科書はそのままに付箋を貼る。RLHFは、2つの答えのうち良いほうを人が選び、褒めて育てる。下の図1で、モデルの中身(重み)がどこまで書き換わるかを見比べてください。

FINE-TUNING / LoRA / RLHF — 全部書き直すか、付箋を貼るか、褒めて育てるか
モデルの重み(1層ぶん・32×32) 学習で書き換わったマスが光る
モデルに聞いてみる
おすすめの昼ごはんは?
付箋の太さ(ランク r) r = 2
付ける付箋:
どちらの答えが良い? クリックで選ぶ
報酬モデル(人の好みを覚えた採点係)
モデルがその答え方をする確率
書き換えた重み(図の上) —
実物(70億パラメータ)なら —
保存に必要な容量 —
FULL FINE-TUNING
教科書を、全ページ書き直す
図1 — フルFTはすべての重みを書き換え、用途ごとに丸ごと1体が要る。LoRAは元の重みを凍結し、細い2枚の行列(付箋)だけを学習する。RLHFは人の「こっちが良い」を採点係に覚えさせ、答え方の確率を動かす

フルファインチューニング — 全ページ書き直す

いちばん素直なのは、用途に合ったデータ(図1では関西弁の会話)で、モデルのすべての重みを少しずつ動かす方法です。図1で学習すると、32×32のマスが全部光ります。効果は大きいものの、70億パラメータのモデルなら70億個すべてを動かすので、学習には大きなGPUが要ります。

もっと困るのは保存です。書き直した結果はまるごと別のモデルなので、関西弁用、敬語用、と用途を増やすたびに14GBのモデルが1体ずつ増えていきます。

LoRA — 教科書はそのまま、付箋だけ貼る

LoRA(Low-Rank Adaptation)は、元の重みを凍結して一切触りません。代わりに、細長い2枚の行列 B と Aを横に置き、これだけを学習します。B×A を計算すると元の重みと同じ大きさの「差分」になり、それを足して使う、という仕組みです。

ポイントは、B と A がとても細いこと。図1のランク r が細さで、r=2 なら学習するのは 2×32×2 = 128個だけ。実物のモデルでは全体の0.1%にも満たない数で済みます。差分は縦じま×横じまのような単純な模様にしかなりませんが、口調や形式を変える程度ならそれで十分なことが多いのです。付箋なので貼り替えも自由で、本体1体に関西弁・敬語のアダプタを何枚でも用意できます。

RLHF — 正解を教えず、良いほうを選ぶ

フルFTもLoRAも「この質問にはこう答える」というお手本から学びます。でも「感じの良い答え」「ウソをつかない答え」のお手本を大量に書くのは大変です。そこでRLHF(人間のフィードバックによる強化学習)では、モデルが出した2つの答えを人が見比べて、良いほうを選ぶだけにします。

集めた「こっちが良い」から、まず人の好みを真似る採点係(報酬モデル)を作ります。次に、モデルがたくさん答えを出しては採点係に点をもらい、点が高い答え方をしやすくなるよう重みを動かします。図1で何回か選ぶと、丁寧で役に立つ答えの確率が上がり、自信満々のウソは出にくくなっていくはずです。

用語ミニ辞書
重み(パラメータ)
モデルの中にある、学習で調整される数値。70億パラメータのモデルには70億個ある。
ファインチューニング
学習済みのモデルを、特定の用途のデータで追加学習すること。
LoRA
元の重みを凍結し、細い2枚の行列の積で表した差分だけを学習する方法。軽くて貼り替えられる。
ランク(r)
LoRAの行列の細さ。大きいほど表せる差分が複雑になるが、学習する数も増える。
RLHF / 報酬モデル
人が選んだ「良い答え」から採点係(報酬モデル)を作り、その点数が高くなるようにモデルを学習させる方法。

まとめ

3つの違いは、どこを書き換えるかと何から学ぶかです。フルFTは全部の重みをお手本から書き直し、LoRAは付箋(差分)だけをお手本から学ぶ。RLHFはお手本ではなく人の好みから学びます。実際のLLMでは、お手本で答え方を教え(ファインチューニング)、そのあと人の好みで磨く(RLHF)、と組み合わせて使われています。