最近の生成AIニュースで、「個人が自分の絵柄で Stable Diffusion をカスタマイズ」みたいな話題、見たことある?
あれを支えているのが今日のテーマLoRAよ。
あ、あたしも妹のためにやろうとしてた!
でも全パラメータ更新だと GPU メモリが足りなくて諦めたんだよね。
まさに LoRA が解決する問題。
ファインチューニングは効果的だけど、フル FT は全パラメータを更新するため膨大な計算コストと GPU メモリが必要だったの。
LoRA(Low-Rank Adaptation、低ランク適応)は、モデルの重み行列に小さな低ランク行列を追加して、その部分だけを学習する手法ですよね。
元のパラメータは凍結(固定)したまま。
うそっ!?
元のモデルは触らないの?
すご〜い、それなら壊滅的忘却も防げるじゃん!
鋭い連想ね。
追加するパラメータは元のモデルの0.1%〜1%程度で済むことが多く、計算コストも GPU メモリも大幅に削減されるの。
うぅ〜ん…0.1%だけで性能が出るって不思議なのぉ?
補足すると、LoRA の理論的背景には「ファインチューニングで実際に変化する『情報量』は、モデルの重み行列の低ランク成分に集中している」という仮説があります。
マイクロソフトが2021年に発表した論文で実証されました。
さらにメリットがあって、LoRA の追加パラメータはアダプタとして着脱可能なの。
用途ごとに異なる LoRA を差し替えれば、1つのベースモデルで多用途に使えるわ。
わぁ、お洋服の着せ替えみたいっ!
基本の体はそのままで、服だけ変えれば色んなキャラに変身できるんだぁ。
ましろのたとえ、今日も的確!
じゃああたし、「妹の好きなアニメキャラ風絵柄 LoRA」と「ポーズ固定 LoRA」を組み合わせれば、推しキャラの絵が量産できるじゃん!
そう、現場では複数 LoRA を合成する技法も発達していて、作品の表現力が飛躍的に高まっているの。
ふふ、ジャスミンちゃん、妹さん思いね。
類似の手法としてQLoRA(量子化+LoRA)、プロンプトチューニング、Prefix Tuningなどがあり、これらを総称してPEFT(Parameter-Efficient Fine-Tuning)と呼びます。
最近 Hugging Face に LoRA が何千個も公開されていて、無料で使える時代です。
時事ネタだけど、個人クリエイター強すぎじゃん!
あたし詳しくはわかんないけど、なんかやる気でてきた!
そう、コミュニティの力が技術を加速させているのよ。
試験的には「LoRA=低ランク行列追加で効率 FT」「元モデルは固定」「PEFT の代表例」の3点を押さえれば十分。
カスタマイズがこんなに身近になる時代、面白いでしょ?
確認クイズ
LoRA の特徴として最も適切なものはどれか。
- 全パラメータを更新して高精度にする
- 元のパラメータを固定し小さな追加パラメータのみ学習する
- モデルのサイズを10倍にする
- 事前学習を省略できる
こたえを見る
正解: 2. 元のパラメータを固定し小さな追加パラメータのみ学習する
LoRA は元のモデルパラメータを固定したまま、小さな低ランク行列(追加パラメータ)のみを学習する効率的な手法です。全パラメータ更新・サイズ拡大・事前学習省略はいずれも LoRA の特徴と逆または無関係です。