LoRA(ローラ/Low-Rank Adaptation)とは、学習済みAIの大部分をそのままにして、少数の追加パラメータを学習する技術です。AIを一から作り直すのではなく、目的に合う「追加の部品」を用意します。この部品はLoRAアダプターと呼ばれます。

大きなAIモデルを丸ごと調整する方法より、学習する数値や保存する差分を少なくできるのが特徴です。ただし、「LoRAを入れれば必ず高品質になる」「どのAIにも付けられる」「学習にお金がかからない」という意味ではありません。

この記事では、「専門書と付箋」の例えを使って、仕組み、ファインチューニングとの違い、画像・文章での利用例、注意点を説明します。技術的な説明は2026年10月15日に原著論文とHugging Faceなどの一次資料で再確認しました。

ざっくり言うと

知りたいこと答え
LoRAとは?元のモデルの重みを基本的に固定し、少数の追加パラメータを学習する方法
何のために使う?画像の作風や文章の書式など、特定の目的に合わせてモデルを調整するため
追加する部品は?LoRAアダプター。通常は対応するベースモデルと組み合わせて使う
ファインチューニングとの関係は?ファインチューニングが広い概念。LoRAはその効率化手法の一つ
文章のAI専用?いいえ。画像生成モデルなどにも使われる
LoRAだけで画像や文章を生成できる?通常はできない。対応するベースモデルが必要
いつも軽く・速くなる?学習量を減らせる場合が多いが、必要な機器や推論速度は条件による

大切なのは、「元のAI全部を学び直す」のではなく、「必要な変化を小さな差分として学習する」という点です。

イメージ

1. 専門書と付箋でイメージする

分厚い専門書を思い浮かべてください。ある仕事に合わせて使いたいからといって、本を最初から全部書き直すのは大変です。

そこで、必要なページに付箋を貼り、その仕事に役立つ補足を書き込むとします。

  • 専門書
    学習済みのAI本体(ベースモデル)
  • 付箋
    追加して使うLoRAアダプター
  • 付箋に書き込む
    追加部分を学習させる
  • 別の付箋へ替える
    用途に応じてアダプターを切り替える

この例えは、LoRAの基本を理解するのに役立ちます。たとえば、同じ土台の画像生成モデルに「自分で制作したキャラクターの特徴を学ばせたアダプター」と「特定の画風を学ばせたアダプター」を用意する使い方が考えられます。

ただし、付箋は専門書そのものではありません。通常、アダプターのファイルだけを持っていても画像や文章は作れず、想定されたベースモデルと、そのアダプターを読み込める環境が必要です。

付箋を貼り替える使い方と、本文へ書き写す使い方

学習中のLoRAは、元のモデルの重みを固定します。しかし、利用時にも必ず別ファイルのままというわけではありません。

学習済みの差分を元の重みに合体させる「マージ」という方法もあります。付箋の内容を本へ書き写すイメージです。マージ後のモデルの重みは、元のベースモデルと同一ではなくなります。

正確には

2. 仕組み:なぜ小さな追加部分だけ学習するの?

AIの中には、答え方や画像の作り方に関わる大量の数値があります。これがパラメータ(重み)と呼ばれるものです。

通常のフルファインチューニングでは、多数の重みそのものを更新します。一方LoRAでは、主に「元の重みへ足す変化」だけを、少ない数値で表して学習します。元の重みは学習中、基本的に動かしません。

低ランクとは?

LoRAの「Low-Rank(低ランク)」は、重みの変化を小さな二つの行列(数値を並べた表)の積として表す考え方です。

元の重みを W₀、追加する変化を ΔW とすると、基本的な形は次のとおりです。

使う重み = W₀ + ΔW
ΔW = B×A

A と B が学習する小さな行列です。ランク r は、その小ささを決める主な設定の一つです。式は覚える必要はありません。「大きな変更表をそのまま学習せず、小さな表二つで表す」と理解できれば十分です。

たとえば、1,000×1,000の重み行列をすべて学習するなら、対象は100万個の数値です。同じ大きさの変化をランク r=8 のLoRAで表すと、二つの行列の数値は8,000 + 8,000 = 16,000個になります。

これは一つの重み行列についての仕組みを示す計算例です。モデル全体の学習パラメータ数やGPUメモリが必ず同じ割合で減る、という意味ではありません。

どこにLoRAを付けるかも選ぶ

LoRAを入れる場所は、モデルの構造や設定によって変わります。Transformerでは、文章のどこに注目するかを計算するAttentionに関わる層などが代表的です。対応ツールでは、この場所を target_modules などの設定で指定します。

r を大きくしたり、対象とする層を増やしたりすれば、学習対象の数値は増えます。ただし、ランクを上げれば必ず出力が良くなるわけではありません。データと評価方法が重要です。

3. フルファインチューニングとLoRAは何が違う?

ファインチューニングとは、すでに学習したモデルを目的に合わせて追加学習することです。LoRAは、その中でも学習対象を絞るPEFT(Parameter-Efficient Fine-Tuning:パラメータ効率のよい追加学習)の代表的な手法です。

比較フルファインチューニングLoRA
学習する部分モデルの広い範囲、通常は全体の重み選んだ箇所に追加した低ランクの数値
学習中の元の重み更新する基本的に固定する
保存するもの調整後のモデル全体など通常は小さなアダプターの差分
用途を切り替える調整した別モデルを使い分けることが多い同じベースに対応するアダプターを切り替えられる
学習の負担多くの計算資源が必要になりやすい学習対象を減らし、メモリ負担などを軽くできる場合が多い
出力品質目的やデータ次第必ずフル調整と同等以上とは限らない

元論文はGPT-3(175B)での実験について、Adamによるフルファインチューニングと比較し、学習対象パラメータを最大約1万分の1、GPUメモリ要件を約3分の1にできたと報告しています。

この数字はあくまでその実験条件での結果です。小型モデル、画像生成モデル、異なるランクや学習設定でも必ず実現できる削減率ではありません。また、LoRAでもベースモデルを読み込むメモリ、学習データ、計算環境は必要です。

4. LoRAはどんな場面で使われる?

画像生成:特定のキャラクターや作風に近づけたい

画像生成モデルに対して、特定の見た目や画風に関するデータを使ってLoRAを学習させる例があります。Hugging FaceのDiffusersは、Stable Diffusion系などに対するLoRAの学習・読み込みを案内しています。

たとえば、権利を持つオリジナルキャラクターの複数の画像を学習データとして用意し、見た目の特徴を再現しやすくする用途が考えられます。

ただし、少数の画像だけで必ず同じ顔・衣装・構図が再現されるわけではありません。ベースモデル、学習データ、生成時の指示、その他の設定で結果が変わります。

文章生成:決まった書式や作業に近づけたい

文章を扱うモデルでも、特定の応答形式や文体、決まった種類の作業へ調整する用途があります。

たとえば、同じ型の報告文を大量に作るシステムを運用し、十分な学習用データと評価用データを用意できる場合です。ただし、簡単な口調変更なら、まずプロンプト(指示文)だけで十分なこともあります。

用途別に追加部分を管理したい

同じベースモデルを使い、作業ごとに異なるアダプターを保管・読み込みする構成もできます。ただし、切り替えや複数アダプターの併用ができるかは、利用ツールとモデルによって異なります。

5. アダプターは、どうやって使う?

実際の利用方法には、大きく二つあります。

使い方仕組み向いている場面・注意点
別ファイルで読み込むベースモデルにアダプターを組み合わせるアダプターを差し替えやすい。読み込みや処理に追加の手間がかかる場合がある
ベースモデルにマージする学習した差分をベースの重みに反映する単体の調整済みモデルとして扱いやすい。マージ後は元モデルと区別して管理する

Hugging Face PEFTでは、merge_and_unload() などによるマージ方法が案内されています。構成によっては、別読み込みによる推論時の負荷を抑えられる点も利点です。ただし、実際の速度やメモリ使用量は環境によって異なります。

重要:LoRAは、チャット画面で文章を「覚えて」と送る操作とは別物です。ChatGPT、Claude、Geminiなどの通常の会話画面にアダプターファイルを付ければ自由に学習・適用できる、と考えないでください。使用するサービスや学習基盤が、ベースモデルへのLoRA適用に対応している必要があります。

6. LoRAとQLoRA・量子化・RAGの違い

似た用語でも、目的が異なります。

用語何をする?覚え方
LoRA元の重みを基本的に固定し、小さな差分を追加学習する学習する部分を減らす
QLoRA量子化したベースモデルを利用してLoRAを学習するベースの保存・メモリ表現も軽くして学習
量子化重みなどの数値を、より少ないビット数で表す数値の表し方を軽くする
RAG回答を作るときに外部資料を探し、その内容を参照する必要な情報をその都度読む
フルファインチューニング学習済みモデルの多くの重みを更新するモデル自体を広く追加学習する

QLoRAは、LoRAとは別の大きなAIを意味する名称ではありません。元のQLoRA論文では、4ビットに量子化したベースモデルを固定し、LoRAの追加部分を学習する方法を提案しています。

たとえば「会社の料金表が毎週更新されるので、AIに常に新しい金額で回答してほしい」なら、LoRAへ価格を覚え込ませるより、現在の料金表を参照させるRAGやデータベース連携が適する場合があります。

一方、回答の書式や特定の作業手順を繰り返し学習させたいなら、LoRAを検討する余地があります。LoRAは最新情報を自動で取得する仕組みではありません。

7. LoRAの品質を左右する設定と、よくある誤解

LoRAの品質は、追加部分が小さいかどうかだけでは決まりません。

  • 学習データ
    目的に合う例がそろっているか。誤った例、権利を確認できない素材を混ぜていないか。
  • ランク r
    差分をどれくらいの規模で表すか。大きくすれば必ず良くなるわけではない。
  • 対象の層
    どこにLoRAを加えるか。モデルの構造と使用ツールに合わせて設定する。
  • 学習の条件
    学習率や学習回数などによって結果が変わる。
  • 評価方法
    学習に使っていないデータで、本当に目的の出力へ近づいたか確認する。

特に避けたいのは、「学習した画像を何枚か再現できたから、どの場面でもキャラクターを正確に描ける」「学習データの文章に近い回答が出たから、専門的な事実も常に正しい」という判断です。学習用データでの出来栄えと、未使用のデータでの品質は分けて見ます。

アダプターのファイルサイズも一律ではありません。対象の層、ランク、保存形式などによって変わります。「LoRAは必ず数MB」「LoRAならGPUが不要」も正しくありません。

8. 配布LoRAを使う・自作する前の確認ポイント

配布されているLoRAでも、自分で学習するLoRAでも、次の4点が重要です。

  1. 対応するモデル
    ベースモデル名、バージョン、対象の層、推奨する読み込み方法を確認する。異なる世代のモデルにそのまま使えるとは限りません。
  2. 権利と利用条件
    元のモデル、アダプター、学習素材のライセンスや利用規約を別々に確認する。商用利用・再配布が認められるかも確認します。
  3. 信頼できるファイルか
    配布元、ファイル形式、更新履歴を調べる。特に不明な提供元のコードやモデルファイルを無警戒に実行・読み込みしないようにします。
  4. 費用と結果
    学習に使う機器・時間、推論時の負荷、品質を評価する。フル調整より学習対象が少なくても、作業全体が無料になるわけではありません。

Hugging Faceは、Pythonのpickle形式を含むモデルファイルに読み込み時のコード実行リスクがあると注意しています。.safetensors などの比較的安全な保存形式が利用可能か確認するとともに、ファイル形式だけでなく配布元の信頼性も判断してください。

日本の著作権については、文化庁の「AIと著作権について」で基本的な考え方が整理されています。「ネットで公開されている素材なら自由に学習・再配布できる」という一律の判断は避け、目的、素材、利用規約、生成物の扱いを確認しましょう。個別の適法性はケースによって異なります。

9. 自分にLoRAは必要?4つの質問で判断する

LoRAという技術を知っても、すぐに学習作業を始める必要はありません。まず次の順番で考えましょう。

  1. 何を変えたい? 単発の文章の言い回しか、同じ種類の作業を繰り返し安定させたいのか。
  2. 指示文で足りる? プロンプトやテンプレートを整えるだけで目的を達成できないか。
  3. 最新の知識が必要? よく変わる情報を答えたいなら、RAGや資料参照を先に検討する。
  4. 学習・評価できる? 対応するベースモデル、利用環境、使ってよいデータ、検証方法がそろっているか。

たとえば、月に数回、店舗のお知らせ文を整えるだけなら、文章の例を渡して書き方を指示するほうが簡単かもしれません。

一方、自分で権利を管理するイラストを大量に制作し、特定のキャラクターの特徴へ画像生成モデルを近づけたいなど、繰り返す明確な目的があり、学習と評価が可能ならLoRAを比較できます。ただし、成果はデータとモデルに依存します。

LoRAを使うこと自体が目的ではありません。 指示文・資料参照・LoRAの中で、必要な品質と手間に見合う方法を選びましょう。

よくある質問

やってみよう

判断クイズ

第1問

店舗の最新メニューと料金をAIに答えさせたいと思っています。料金は毎週変わります。最初に検討する方法は?

  • A. 料金をLoRAへ覚え込ませれば、毎週自動で最新になると考える。
  • B. 最新のメニュー表を検索・参照するRAGやデータベース連携を検討する。
  • C. ランクを上げれば外部の料金表を自動検索できると考える。

第2問

「LoRAアダプター」のファイルだけをダウンロードしました。使う前に確認すべきことは?

  • A. 対応するベースモデルとバージョン、読み込み方法、利用条件を確認する。
  • B. アダプターは完全なAIなので、土台となるモデルは不要と判断する。
  • C. ファイル名にLoRAとあれば、どのモデルにも合うと判断する。

第3問

LoRAは「元のモデルを変えない」と聞きました。学習後の扱いについて正しい説明は?

  • A. 推論時にマージしても、合体後の重みは元のまま変わらない。
  • B. 元のモデルを書き換えないので、アダプター単独で必ず動く。
  • C. 学習中は元の重みを基本的に固定するが、差分をマージしたモデルは元の重みと同一ではない。

あわせて読みたい

締めに

まとめ

LoRAは、元のAIの重みを基本的に固定し、少数の追加パラメータを学習して目的に近づける技術です。 小さな差分をアダプターとして保存し、ベースモデルと組み合わせたり、対応する構成でマージしたりして使います。

  • 役立つ場面
    特定の画像表現、決まった書式や作業に向けたモデルの調整。
  • 強み
    フルファインチューニングより学習対象の数値や保存差分を減らせることが多い。
  • 限界
    品質、動作環境、費用の削減は保証されない。アダプターだけでは通常動かない。
  • 使う前に
    ベースモデルの互換性、学習データ、権利、安全性、評価方法を確認する。
  • 別の方法がよい場合
    プロンプトで十分な用途や、最新情報を資料から参照したい用途。

覚えておきたいのは、「LoRAは学習の負担を減らす方法であって、どんなAIにも簡単に知識を足せる魔法ではない」ということです。