事前学習済みLLMの全パラメータを対象データセットで再学習する手法。最も高い精度を達成できるが、モデル全体のパラメータ(数十億〜数千億個)を更新するため、大量のGPU VRAMと計算時間を要する。LoRAやQLoRAなどPEFT手法の対極に位置する。
PC構成ビルダーで最適なパーツを選択
Full Fine-tuning(フルファインチューニング)とは、事前学習済みの大規模言語モデルにおいて、全てのモデルパラメータを凍結せずに追加データで再学習する手法である。LoRAやQLoRAなどのパラメータ効率的手法(PEFT)が台頭する以前は、ファインチューニングといえばこのFull Fine-tuningを指していた。
Full Fine-tuningの最大の利点は、モデルの全パラメータを更新できるため、ドメイン適応の深さが最も大きいことである。医療、法律、金融といった専門領域の言語パターン・知識を、モデルの内部表現レベルで書き換えることができる。
一方、計算コストは極めて大きい。Llama 3.1 8B(80億パラメータ)のFull Fine-tuningには、AdamW最適化器の場合、モデルパラメータ(16GB fp16)+ 勾配(16GB)+ 最適化器状態(32GB、fp32で2倍)= 約64GB以上のVRAMが必要。70Bモデルではこれが500GB以上に膨れ上がり、A100 80GB × 8枚程度のクラスタが必要になる。
2026年現在でもFull Fine-tuningが選択されるケースは存在する:
| モデルサイズ | パラメータ数 | VRAM (AdamW) | 推奨GPU構成 | 学習時間(10K件) | 推定クラウドコスト |
|---|---|---|---|---|---|
| 1.5B | 15億 | 12GB | RTX 4090 ×1 | 2-4時間 | $5-10 |
| 7B | 80億 | 60GB | A100 80GB ×1 | 4-8時間 | $15-30 |
| 13B | 130億 | 120GB | A100 80GB ×2 | 8-16時間 | $60-120 |
| 33B | 330億 | 280GB | A100 80GB ×4 | 24-48時間 | $300-600 |
| 70B | 700億 | 560GB | A100 80GB ×8 | 48-96時間 | $1,000-2,000 |
| 判断基準 | Full FT推奨 | LoRA/QLoRA推奨 |
|---|---|---|
| データ量 | 10万件以上 | 500〜1万件 |
| ドメイン距離 | 遠い(医療英語→日本語法律) | 近い(一般QA→社内QA) |
| 精度要件 | 最高精度必須 | 95%以上で可 |
| GPU予算 | 月$1,000+ | 月$100以下 |
| アダプタ切替 | 不要 | 必要 |
| 開発速度 | 低(実験サイクル長い) | 高(数時間で実験可能) |
DeepSpeed ZeRO Stage 3 での典型設定:
{
"bf16": {"enabled": true},
"zero_optimization": {
"stage": 3,
"offload_param": {"device": "cpu"},
"offload_optimizer": {"device": "cpu"},
"overlap_comm": true
},
"gradient_accumulation_steps": 4,
"train_micro_batch_size_per_gpu": 2,
"wall_clock_breakdown": false
}
CPU Offloadを使うと、A100 40GB × 4枚で70Bモデルの学習が可能になるが、学習速度は30〜50%低下する。
Q1: Full Fine-tuningはまだ必要?LoRAで十分では? A: 多くのユースケースではLoRA/QLoRAで十分。ただし、モデルの根本的な知識書き換え(例: 英語モデルを日本語特化にする、医療専門モデルを作る)ではFull FTが優位。精度差は通常1〜5%だが、商用サービスでは無視できない場合がある。
Q2: Full Fine-tuningの費用はどのくらい? A: 7Bモデル×10K件のデータで、Lambda Cloud(A100 80GB $1.89/時)を使えば$15〜30程度。70Bモデルでは$1,000〜2,000。AWSのp5インスタンス(H100×8)は$98.32/時のため、大規模モデルの学習は高額になる。
Q3: Catastrophic Forgettingをどう防ぐ? A: 3つの対策が有効。(1) 低学習率(1e-6〜5e-5)で全パラメータの変化を小さく保つ、(2) 学習データに汎用データを10〜20%混合する(Data Mixing)、(3) 正則化(Weight Decay 0.01〜0.1)でパラメータの大幅な変化を抑制。