Skip to main content
PromptQuorumPromptQuorum
ホーム/ローカルLLM/LoRA ファインチューニング入門 2026年 : Unsloth で Llama 3.3 を 8GB VRAM で実行
高度な技術

LoRA ファインチューニング入門 2026年 : Unsloth で Llama 3.3 を 8GB VRAM で実行

·13分で読める·Hans Kuepper 著 · PromptQuorumの創設者、マルチモデルAIディスパッチツール · PromptQuorum

ファインチューニングは、LoRA(Low-Rank Adaptation)を使用して事前学習済みモデルをドメインに適応させます。— 全体をリトレーニングする代わりに、小さなアダプター層(総重量の0.4%)を追加します。Llama 3.3 8B のファインチューニングには、Unsloth(標準トレーニングより最大2倍高速)を使用して、コンシューマーハードウェアで 8GB VRAM と1~2時間が必要です。

ファインチューニングは、LoRA(Low-Rank Adaptation)を使用して事前学習済みモデルをドメインに適応させます。— 全体をリトレーニングする代わりに、小さなアダプター層(総重量の0.4%)を追加します。Llama 3.3 8B のファインチューニングには、Unsloth(標準トレーニングより最大2倍高速、unsloth.ai 公式情報)を使用して、コンシューマーハードウェアで 8GB VRAM と1~2時間が必要です。2026年4月現在、LoRA と QLoRA(4ビット量子化 LoRA)は Ollama、LM Studio、vLLM で本番対応です。

スライドデッキ: LoRA ファインチューニング入門 2026年 : Unsloth で Llama 3.3 を 8GB VRAM で実行

スライドデッキは以下を解説します:LoRAが訓練可能パラメータを全モデルの0.4%に削減する方法、8GB VRAMで動作するQLoRA 4ビット量子化、LoRA vs RAGの決定マトリックス、Unslothを使った6ステップのトレーニング設定、主要ハイパーパラメータ(ランク、アルファ、ドロップアウト)、5つの一般的なミス。PDFをLoRAファインチューニング参照カードとしてダウンロード。

以下のスライドを閲覧するか、PDFとしてダウンロードしてください。 リファレンスカードをダウンロード(PDF)

重要なポイント

  • LoRA = 事前学習済みモデルに小さなトレーニング可能な層を追加。モデルの重量の1~5%のみがトレーニング可能で、VRAM と時間を大幅に削減。
  • ファインチューニング要件:500~1000の高品質な例、8~16GB VRAM、1~4時間のトレーニング時間。
  • 最高のツール:Unsloth(最速)、Hugging Face TRL、Axolotl(最も柔軟)。
  • LoRA ランク (r): 低い (r=8) はより小さく、より高速。高い (r=64) はより表現力がある。デフォルト: r=16~32。
  • 2026年4月現在、LoRA は本番対応で、推論エンジン全体で広くサポートされています。

LoRA の仕組み

LoRA は、元のモデルの重みの横に小さな「アダプター」マトリックスを追加します。 トレーニング中、アダプターのみが更新されます。元の重みは凍結されたままです。

例:13B モデルには 130 億の重みがあります。LoRA は 5000 万のトレーニング可能なパラメータを追加するだけです(元の約0.4%)。トレーニングは 100 倍高速です。

推論時、アダプター出力は行列乗算を介してメインモデル出力と融合します。最小限の速度低下(約5%)。

結果:ドメイン固有のモデルがタスクでより良く機能し、26GB ではなく 8GB VRAM のみが必要です。

LoRAは、凍結されたベースモデルの重みの横に小さなトレーニング可能なアダプター行列を追加します。Llama 13Bモデルの0.4%のパラメータのみがトレーニング中に更新され、VRAMと時間を100倍削減します。
LoRAは、凍結されたベースモデルの重みの横に小さなトレーニング可能なアダプター行列を追加します。Llama 13Bモデルの0.4%のパラメータのみがトレーニング中に更新され、VRAMと時間を100倍削減します。

QLoRA(4ビット量子化 LoRA)とは

QLoRA は LoRA と 4 ビット量子化を組み合わせます — ベースモデルは 4 ビット(QLoRA)でロードされ、アダプターのみ 16 ビットでトレーニングされます。 これにより VRAM 要件が半分になります:

2026年4月現在、QLoRA はコンシューマーハードウェアの標準です。 上記のコード例の Unsloth の `load_in_4bit=True` フラグは QLoRA を自動的に有効にします。完全な LoRA と比較した 2% の品質差は、ほとんどのドメイン適応タスクでは無視できます。

LoRA (16 ビット) vs QLoRA (4 ビット) をいつ使用するか:

• 最大精度が必要なタスク(医療、法的契約分析)

• 16GB 以上の VRAM が利用可能

• 3B 以下のモデルのファインチューニング(QLoRA の節約は小さいサイズでは最小限)

方法7B モデル VRAM13B モデル VRAMフルとの比較品質
フルファインチューニング28GB52GB100%(基準)
LoRA (16 ビットベース)16GB30GB約97%
QLoRA (4 ビットベース)8GB14GB約95%
7B、13B、70Bモデル間のファインチューニング方法別のVRAM要件。完全なファインチューニングには7B用28GB以上が必要。QLoRAはこれを8GBに削減。企業向けにはQLoRAでデュアルRTX 4090(~40GB)上で70Bファインチューニング可能。
7B、13B、70Bモデル間のファインチューニング方法別のVRAM要件。完全なファインチューニングには7B用28GB以上が必要。QLoRAはこれを8GBに削減。企業向けにはQLoRAでデュアルRTX 4090(~40GB)上で70Bファインチューニング可能。

ファインチューニング vs RAG

決定マトリックス:

LoRAファインチューニングに投資する前に、より良いプロンプティングで問題が解決できないか確認してください——プロンプトエンジニアリングはより速く、可逆的で、モデルに依存しません。完全な意思決定フレームワークについては、プロンプトエンジニアリング vs ファインチューニング:決め方をご覧ください。

ファインチューニングは、オフラインでもコーディングワークフローを生産的に保つ手段の一つです。モデル、IDE、パッケージキャッシュ、ドキュメントミラーを含むより広いオフライン構成については、インターネットなしのローカルコーディング LLMを参照してください。

基準ファインチューニングRAG
ドキュメント変更頻度年1回以下週1回以上
知識要件モデルが深い理解を必要とする検索で十分
トレーニングデータ利用可能500+ 高品質例が必要あらゆるドキュメント
コスト(長期)ワンタイム($50~200)継続的な埋め込み
レイテンシより高速(検索なし)より遅い(検索 + LLM)
ベスト用途コード、創作、ドメインスタイルナレッジベース、Q&A

トレーニングデータの準備方法

トレーニングデータの品質がファインチューニング成功を決定します。 悪いデータ=悪いモデル。

最小: 500例。各例=入力+期待される出力。

最適: 1000~5000例。より多くのデータ=より高い精度。

フォーマット: JSON または JSONL。各行=1つのトレーニング例。

json
[\n  {"instruction": "英語に翻訳", "input": "Bonjour le monde", "output": "Hello world"},\n  {"instruction": "要約", "input": "長いテキスト...", "output": "要約..."},\n  {"instruction": "コードレビュー", "input": "Python コード...", "output": "レビューコメント..."}\n]\n\n# または instruction のみフォーマット:\n[\n  {"text": "<|user|>英語に翻訳\nBonjour<|assistant|>Hello"},\n  {"text": "<|user|>要約\nテキスト<|assistant|>要約"}\n]
トレーニングデータ準備ワークフロー:500+のドメイン固有の指示/出力ペアを収集し、JSONL(1行1例)としてフォーマットしてSFTTrainerに読み込みます。質量より質が重要—100個の高品質例は1000個の低品質例を上回ります。
トレーニングデータ準備ワークフロー:500+のドメイン固有の指示/出力ペアを収集し、JSONL(1行1例)としてフォーマットしてSFTTrainerに読み込みます。質量より質が重要—100個の高品質例は1000個の低品質例を上回ります。

Unsloth でのファインチューニング設定

Unsloth は最速の LoRA フレームワークです(標準トレーニングより最大2倍高速、unsloth.ai 公式ベンチマーク):

python
# unsloth をインストール\npip install unsloth[colab-new] xformers bitsandbytes\n\nfrom unsloth import FastLanguageModel\nfrom datasets import load_dataset\n\n# LoRA でベースモデルをロード\nmodel, tokenizer = FastLanguageModel.from_pretrained(\n  model_name="unsloth/llama-3.1-8b-bnb-4bit",\n  max_seq_length=2048,\n  load_in_4bit=True,\n  lora_r=16, lora_alpha=32,\n  lora_dropout=0.05\n)\n\n# トレーニングデータをロード\ndataset = load_dataset("json", data_files="training.jsonl")\n\n# トレーナーを設定\nfrom trl import SFTTrainer\ntrainer = SFTTrainer(\n  model=model,\n  tokenizer=tokenizer,\n  train_dataset=dataset["train"],\n  dataset_text_field="text",\n  max_seq_length=2048,\n  args=TrainingArguments(\n    per_device_train_batch_size=4,\n    num_train_epochs=3,\n    learning_rate=2e-4,\n    output_dir="output"\n  )\n)\n\n# トレーニング\ntrainer.train()

LoRA ファインチューニングの主要ハイパーパラメータ

ハイパーパラメータ推奨値典型的な範囲効果
learning_rate2e-41e-5 から 1e-3低い=安定、遅い収束
lora_r (ランク)164 から 64高い=より表現力豊か、遅い
lora_alpha328 から 256高い=より強い LoRA 効果
num_train_epochs31 から 10より多い=過学習のリスク
batch_size41 から 32大きい=高速トレーニング、VRAM 増加
warmup_steps1000 から 1000段階的 LR 増加、トレーニング安定化

ファインチューニングされたモデルの評価方法

トレーニングロス: エポック全体で減少する必要があります。フラットな場合、学習率が低すぎる可能性があります。

検証ロス: 減少する必要がありますが、トレーニングロスより上に留まります(正常)。増加した場合、過学習。

手動テスト: ファインチューニングされたモデルをテスト例で実行し、出力と期待される結果を比較します。

ベンチマークタスク: 標準ベンチマーク(MMLU、HumanEval)を使用してパフォーマンス向上を測定します。

よくあるファインチューニング間違い

  • トレーニング例が少なすぎる。 <200例は過学習につながることが多い。少なくとも500を収集してください。
  • エポックが多すぎる。 モデルはデータを記憶します。汎化可能なパターンを学びません。最大3~5エポック。
  • 未見のデータで検証しない。 常にデータを分割してください(80/20)。過学習を検出するために頻繁に検証します。
  • ファインチューニングと評価に同じデータを使用。 トレーニングデータで評価した場合、報告される精度は意味がありません。
  • チェックポイントを保存しない。 トレーニングは数時間かかることがあります。クラッシュから回復するため、毎エポック保存します。

LoRA ファインチューニングについてよくある質問

トレーニングデータはどのくらい必要ですか?

最小500例、最適1000~5000例。品質が量より優先。100の高品質例は1000の低品質例より優れています。

ノートパソコンでファインチューニングできますか?

はい。4ビット量子化と LoRA を使用してください。7B モデルは 8GB VRAM が必要で、CPU(遅い)では1~2時間、GPU では10~15分かかります。

LoRA アダプターをベースモデルにマージするにはどうすればよいですか?

Unsloth または HF Transformers を使用:`model.merge_and_unload()`。単一ファイル(7B で約3~4GB)を作成し、推論の準備ができます。

複数の LoRA アダプターを組み合わせることはできますか?

はい、制限付き。連続適用のためにスタック、または DoRA などのアダプター構成技術を使用します。

ファインチューニングされたモデルはドメイン知識に関して RAG より優れていますか?

ほとんどのタスクではい。ファインチューニングされたモデルはドメイン概念を深く理解します。ドキュメントが大きく頻繁に変わる場合、RAG が優れています。

LoRA と QLoRA の違いは何ですか?

LoRA はベースモデルを16ビットでロードし、小さなアダプター層をトレーニングします。QLoRA は4ビットでロードし、16ビットでアダプターをトレーニングします。QLoRA は約半分の VRAM を使用:7B で8GB vs 16GB。品質差は約2%で、ほとんどのタスクでは無視できます。Unsloth は `load_in_4bit=True` で QLoRA を有効にします。

Ollama でファインチューニングされた LoRA モデルを使用するにはどうすればよいですか?

トレーニング後、アダプターをマージ:`model.merge_and_unload()`。llama.cpp の `convert.py` を使用して GGUF に変換します。GGUF ファイルを指す Ollama Modelfile を作成:`FROM ./my-finetuned-model.gguf`。次に:`ollama create my-model -f Modelfile` と `ollama run my-model`。ファインチューニングされたモデルはあらゆる Ollama モデルと同じに機能します。

コンシューマーハードウェア上で LoRA を使用して Llama 3.3 70B をファインチューニングできますか?

はい、QLoRA を使用。Llama 3.3 70B は4ビットで約40GB VRAM が必要で、デュアル RTX 4090(2×24GB)または単一 A100 80GB に適合します。1000例で4~8時間のトレーニング。ほとんどのユーザーにとって、7B または 13B のファインチューニングがより実用的で、ドメインタスクで 70B の品質向上の 90% 以上を提供します。

LoRA ファインチューニングに最適なツールはどれですか?

Unsloth はコンシューマーハードウェアで最速です — 標準トレーニングより 2 倍高速で 70% 少ない VRAM。HF TRL with PEFT は最も広く使用されています。Axolotl は設定の柔軟性が必要な上級ユーザーに最適です。

LoRA アダプター重みはどのファイル形式を使用しますか?

LoRA アダプターは Safetensors ファイル(例:adapter_model.safetensors)として adapter_config.json とともに保存されます。合計サイズは典型的には50~500MB で、ランク(lora_r)と適応されたレイヤー数に依存します。

出典

  • Hu, E. et al. (2021). "LoRA: Low-Rank Adaptation of Large Language Models." https://arxiv.org/abs/2106.09685 — 元のLoRA論文で、0.4%のトレーニング可能パラメータが完全なファインチューニング品質と一致することを示しています。
  • Dettmers, T. et al. (2023). "QLoRA: Efficient Finetuning of Quantized LLMs." https://arxiv.org/abs/2305.14314 — QLoRA論文:4ビット量子化ベースモデル + 16ビット LoRA アダプターが VRAM 要件を半分にします。
  • Unsloth. (2026). "Train LLMs up to 2× faster with 70% less VRAM (Unsloth)." https://github.com/unslothai/unsloth — 最速の LoRA フレームワークで、Llama 3.x、Qwen3、Mistral をサポートし、最大2倍のトレーニング高速化を提供します。
  • Hugging Face. (2025). "TRL: Transformer Reinforcement Learning." https://github.com/huggingface/trl — LoRA アダプター サポート付きの教師あり ファインチューニング用 SFTTrainer。

サードパーティの情報に関する注意

この記事はサードパーティのAIモデル、ベンチマーク、価格、ライセンスを参照しています。AIの状況は急速に変化しています。ベンチマークスコア、ライセンス条件、モデル名、API価格は執筆時とお読みになる時の間で変わる可能性があります。この記事に基づいてデプロイやコンプライアンスに関する決定を下す前に、各プロバイダーの公式ソース(ライセンスとベンチマークはHugging Faceのモデルカード、API価格はプロバイダーのウェブサイト、現在のGDPRとEU AI法のテキストはEUR-Lex)で最新の数値を確認してください。この記事は2026年5月時点で公開されている情報を反映しています。

ローカルLLM、独自のAPIキー、またはその両方でPromptQuorumを使用できます — バックエンドはあなたが選択します。

PromptQuorumウェイトリストに参加する →

← ローカルLLMに戻る