Skip to main content
PromptQuorumPromptQuorum

LoRAと完全なFine-Tuning:どちらを使うべきか

クイック回答

大規模で高品質なデータセットと、完全なFine-Tuningに十分なVRAMがない限り、LoRAを使用してください。LoRAは凍結されたベースモデルの上に少数の追加された重みを学習するため、使用メモリがはるかに少なく、ほとんどのタスクで挙動を効果的に適応させられます。

  • LoRAはベースモデルを凍結し、少数の追加された重み行列だけを学習するため、VRAMコストがはるかに低くなります。
  • 完全なFine-Tuningはすべてのパラメータを更新し、十分なクリーンなデータがあれば品質でLoRAをわずかに上回ることがあります。
  • LoRAアダプターは小さなファイルで、同じベースモデルに対して入れ替えて使用できます。

更新: 2026年7月14日

Technique & Concept Explainers中級

重要なポイント

  • LoRAはベースモデルを凍結し、少数の追加された重みを学習するため、完全なFine-Tuningよりもはるかに少ないVRAMで済みます
  • 完全なFine-Tuningはすべてのパラメータを更新し、大規模でクリーンなデータセットがあればわずかに高い品質に達することがあります
  • LoRAアダプターは小さく入れ替え可能なファイルで、複数のタスク特化型アダプターが一つのベースモデルを共有できます
  • 完全なFine-Tuningに80GB以上のVRAMが必要な7Bモデルでも、LoRAなら単一のコンシューマー向けGPUでファインチューニングできることが多いです

ベストな選択:ほとんどのローカル環境ではLoRA

LoRAは、パラメータのごく一部だけを学習しながら、ほとんどの指示追従やスタイル適応タスクで完全なFine-Tuningに近い結果を達成できるため、コンシューマー向けハードウェアでローカルモデルを適応させる際の正しい既定の選択肢です。次のような場合はLoRAを使用してください:単一のコンシューマー向けGPUしかない場合、データセットが数百万件ではなく数千件規模の場合、または同じベースモデルの複数のタスク特化型バリエーションを、それぞれの完全なコピーを保存せずに保持したい場合です。

次のような場合は完全なFine-Tuningを使用してください:大規模で丁寧にキュレーションされたデータセット(通常は数十万件以上の例)があり、複数の高VRAM GPUにアクセスでき、タスクがLoRAの追加行列では捉えきれないほど、モデルの基礎的な内部表現に深い変更を必要とする場合です。迷った場合はLoRAから始めてください——反復が速く、品質が頭打ちになった場合は後から完全なFine-Tuningへ移行できます。

主な違い

LoRA(Low-Rank Adaptation)は、元の重みを凍結したまま、モデルに小さな学習可能な重み行列を挿入するため、すべてのパラメータを更新する場合と比べて学習に必要なメモリと計算量を大幅に削減します。学習には凍結されたベースモデルを読み込む必要は依然としてありますが、オプティマイザーが勾配を追跡する必要があるのは追加された小さな行列だけであり、これがVRAM削減の大部分を占めます。

完全なFine-Tuningはモデル全体を更新するため、大規模で丁寧にキュレーションされたデータセットではわずかに良い結果を生み出すことがありますが、出力が小さなアダプターファイルではなくモデルの完全なコピーになるため、必要なVRAMとストレージが大幅に増えます。完全なFine-Tuningのオプティマイザー状態(特にAdamのような一般的なオプティマイザーを使う場合)は、通常モデル自体のメモリ使用量の数倍を必要とするため、7Bモデルの完全なFine-Tuningには複数の高VRAM GPUがしばしば必要になります。

LoRA完全なFine-Tuning
更新されるパラメータ追加された小さな行列のみモデル内のすべてのパラメータ
一般的なVRAM必要量(7Bモデル)単一のコンシューマー向けGPU、多くは24GB未満複数の高VRAM GPU
出力される成果物小さなアダプターファイル(数メガバイト)モデルの完全なコピー(数ギガバイト)
タスク間での入れ替え可能——複数のアダプター、一つのベースモデル不可——各結果が独立した完全なモデルになる

それぞれをいつ使うべきか

モデルのトーン、フォーマット、あるいは狭いタスク特有の挙動を適応させる場合はLoRAを選んでください——これはまさに、モデルの幅広い知識に手を加えることなくLoRAの追加行列がうまく捉えられる種類の変化です。タスクがモデルに大量の新しい事実知識を吸収させる必要がある場合や、非常に広範な入力にわたって挙動を根本的に変える必要がある場合は、完全なFine-Tuningを選んでください——こちらの方がすべてのパラメータの更新から恩恵を受けやすいためです。

迷った場合は、完全なFine-Tuningを検討する前に、まずLoRAから始めて自分の保留テストセットで品質を評価してください——LoRAの反復速度(学習の速さ、チェックポイントの小ささ)により、まず異なるデータの組み合わせやハイパーパラメータで実験するコストを低く抑えられます。

よくある質問

一つのベースモデルに複数のLoRAアダプターを組み合わせることはできますか?
はい——LoRAアダプターは小さく入れ替え可能なため、同じ凍結されたベースモデルに対して複数のタスク特化型アダプターを学習させ、必要に応じて読み込むことができ、複数の完全なモデルコピーをディスクに保持する必要がありません。
LoRAは完全なFine-Tuningと比べて出力品質が低下しますか?
ほとんどの指示追従やスタイル適応タスクでは、LoRAと完全なFine-Tuningの品質差はわずかです。その差が広がるのは主に、タスクがモデルに大量の新しい事実知識を吸収させる必要がある場合で、この場合はすべてのパラメータを更新できる完全なFine-Tuningの方が明確な優位性を持ちます。
LoRAアダプターをベースモデルに統合し直すことはできますか?
はい——LoRAアダプターはベースモデルの重みに統合して、単一のスタンドアロンモデルファイルを生成できます。これにより推論時にアダプターを個別に読み込む必要がなくなりますが、別のタスクのために入れ替える機能も失われます。
LoRAのFine-Tuningは、完全なFine-Tuningと比べて実際にどれくらいVRAMを節約できますか?
正確な数値はモデルサイズ、LoRAのランク、オプティマイザーの選択によって異なりますが、LoRAは同じベースモデルの完全なFine-Tuningと比べて、必要な学習用VRAMをおおよそ一桁分削減することが一般的です。これは勾配とオプティマイザー状態が追加された小さな行列に対してのみ追跡されるためです。