FINE-TUNING & LoRA

巨大モデルを、安く自分好みに

プロンプトで足りないなら、モデルの重みそのものを少し書き換える——それが微調整。 でも数十億の重みを全部学習し直すのは高すぎます。そこでの大発見が 「変化は低ランク(細い2枚の行列)で足りる」という LoRA。 行列の分解を実際に計算しながら、5ステップで体感します。

はじめる ↓
SCROLL
STEP 01

重みを、少し書き換えるFULL FINE-TUNING

プロンプトは「言い方」を変えるだけで、モデル本体は不変でした。 ファインチューニングは重み(パラメータ)そのものを手本データで更新し、 口調・形式・専門知識をモデルに焼き付けます。 ただし素直にやると全部の重みを更新することになり、巨大なコストがかかります。

FULL FINE-TUNING — 全部の重みを更新するコスト

モデル規模

STEP 02

変化は、低ランクだったTHE LOW-RANK INSIGHT

カギは「重みの変化量 ΔW」を見ること。 研究で分かったのは、微調整による ΔW はほとんど数本の方向に集中している= 低ランクだということ。つまり大きな行列 ΔW も、 細い2枚の行列の積で近似できます。ランクを動かして、復元される様子を見てください。

LOW-RANK APPROXIMATION — ΔW をランク r で近似する(実計算)

ランク r
本物の ΔW
ランク r 近似
残差(捨てる分)

STEP 03

凍った本体に、小さな付け足しTHE LoRA ADAPTER

LoRAのアイデアはこう: 巨大な本体 W は凍結(❄️ 更新しない)したまま、 その隣に細い2枚 A と B だけを置いて学習します。 出力は W·x + (B·A)·x。学習するのは A・B のみ—— 更新するパラメータが劇的に減ります。数字で確かめましょう。

PARAMETER COUNT — 本体は凍結、A・B だけ学習

行列サイズ d
ランク r

STEP 04

ランクは、質とコストのダイヤルQUALITY VS COST

ランク r を上げれば復元は良くなるが、パラメータは増える。 下げれば軽いが、粗くなる。うれしいことに、誤差は最初の数本で急激に下がり、 あるところからほとんど平ら(収穫逓減)になります。 この曲線の「ひじ」が、実用的なランクの目安です。

THE TRADE-OFF CURVE — 誤差とコストの両にらみ(実計算)

ランク r

STEP 05

アダプタを、付け替えるSWAPPABLE ADAPTERS

いちばんの旨味はここ。本体は1つ凍結したまま、 用途ごとの小さなアダプタを差し替えるだけで別人格になります。 敬語・関西弁・箇条書き・英訳——それぞれ数MB。 「タスクの数だけ巨大モデルを持つ」必要がなくなります。チップを切り替えてみてください。

ADAPTER SWAP — 凍結した本体 + 差し替えるアダプタ

入力: 「明日の会議、10分遅れます」を書き直して

RECAP

5つのステップ、ふりかえり

STEP 01フル微調整全パラメータ更新は強力だが、本体まるごと分の重さ。
STEP 02低ランク変化 ΔW は数本の方向に集中=細い2枚で近似できる。
STEP 03LoRA本体は凍結、小さな A・B だけ学習。更新量が激減。
STEP 04ランク選び誤差は数本で急落。小さな r で十分なことが多い。
STEP 05付け替え1つの本体+差し替えアダプタで、多人格を安く運用。
SERIES

LoRA量子化と組めばQLoRAに。 「安く・軽く・自分好みに」——道具箱は、ぜんぶつながっています。

量子化・高速化編へ →