【ローラ】

LoRA(ローラ) とは?

💡 巨大AIに「ちょこっと追加レッスン」で新しい技を覚えさせる裏ワザ
📌 このページのポイント
LoRA(Low-Rank Adaptation) 従来のファインチューニング 全パラメータを更新 巨大・高コスト・時間大 💰💰💰 LoRA A B 元モデル: 凍結(更新なし) 小さなアダプターのみ学習 軽量・低コスト・高速 💰
LoRAのイメージ
ひよこ ひよこ

LoRAってなに?普通のファインチューニングと何が違うの?

ペンギン先生 ペンギン先生

普通のファインチューニングはモデルの全パラメータを更新するから、ものすごい計算資源が必要なんだ。LoRAは「小さな追加パーツ」だけを学習させるから、メモリも時間もグッと節約できるんだよ。

ひよこ ひよこ

なんでそれで上手くいくの?全部更新しないと性能落ちそうだけど…

ペンギン先生 ペンギン先生

実は、モデルの重みの変化って低ランクの行列で十分表現できることが多いんだ。だから小さな行列を追加するだけでも、全パラメータを更新したときと同じくらいの性能が出せるんだよ。

ひよこ ひよこ

画像生成AIでLoRAってよく聞くけど、あれもこれ?

ペンギン先生 ペンギン先生

そうだよ!Stable Diffusionで特定の画風やキャラクターを学習させるときにLoRAがよく使われているんだ。数MBの小さなファイルで画風をガラッと変えられるのは、まさにLoRAの効率の良さのおかげだね。

ひよこ ひよこ

LoRAの「低ランク」って何のこと?

ペンギン先生 ペンギン先生

行列のランク(階数)のことだよ。元のモデルの重み行列が1000×1000だとしたら、LoRAはそれを1000×4と4×1000の2つの小さな行列の積で近似するんだ。この「4」がランクで、小さいほどパラメータが少なくて済む。驚くことに、ランク4〜16程度でも十分な性能が出ることが多いんだよ。

ひよこ ひよこ

QLoRAってLoRAとどう違うの?

ペンギン先生 ペンギン先生

QLoRAは量子化(Quantization)とLoRAを組み合わせた手法だよ。元のモデルの重みを4bitに量子化して大幅にメモリを削減し、その上でLoRAの追加パラメータだけを通常精度で学習する。これにより65Bパラメータの巨大モデルでも1枚のGPU(48GB VRAM)でファインチューニングできるようになったんだ。個人でも大規模モデルのカスタマイズが可能になった革命的な技術だよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「LoRA」って出てきたら「大きなAIモデルを少ない資源でカスタマイズする効率的な方法」と思えればだいたいOK!
📖 おまけ:英語の意味
「Low-Rank Adaptation」 = 低ランク適応
💬 「Low-Rank(低ランク)」な小さい行列を「Adaptation(適応)」させるという意味。巨大なモデル全部をいじらなくても、ちょっとした追加パーツで新しい能力を足せるんだ
← 用語集にもどる