最近は LLaMA Factory を使って、大規模言語モデル(LLM)を手軽にファインチューニングする人が増えてきました。
ですが、設定項目が多く「どこをどう調整すればいいのかわからない…」という初心者も多いと思います。
この記事では、よく使う重要な項目に絞って、わかりやすく解説します。
(特に LoRA / QLoRA を使った軽量ファインチューニング を想定しています)
🎯 LLaMA Factory とは?
- Hugging Face などのモデルをGUIで簡単にチューニングできるツール
- LoRA や QLoRA を使って 低メモリでも学習可能
- チャットボットやカスタムモデルを作りたい人におすすめ
🔑 よく使う重要項目と解説
1. Model name / Model path
-
意味: どのモデルを使うか指定する。
-
例:
- 軽量:
Qwen2-0.5B - バランス型:
Llama2-7B - 高性能:
Llama2-13B以上
- 軽量:
👉 GPUメモリが少ない場合は小さいモデルから始めるのがおすすめ。
2. Finetuning method(学習方法)
- Full tuning: 全層を更新(重すぎて普通は無理)
-
LoRA / QLoRA: 軽量学習。GPU 12GB 程度でも可能
👉 初心者は QLoRA 一択!
3. Learning rate(学習率)
-
意味: 学習の進み方の速さ。
-
ポイント:
- 大きすぎる → 暴走して精度ダウン
- 小さすぎる → 学習が遅すぎる
-
おすすめ:
1e-4 ~ 2e-4
4. Epochs(エポック数)
-
意味: 学習データを何周するか。
-
ポイント:
- 少ない → 学習不足
- 多すぎる → 過学習(覚えすぎ)
-
目安: 1〜3回
5. Batch size(バッチサイズ)
-
意味: 1回で処理するデータ数。
-
ポイント:
- 大きい → メモリ消費大
- 小さい → 安定するが時間かかる
👉 GPUが小さい場合は2くらい、Gradient accumulation で補う。
6. Cutoff length(シーケンス長)
-
意味: 1回の入力で扱える最大トークン数。
-
目安:
- 会話や短文:
2048 - 長文や要約:
4096以上
- 会話や短文:
7. Val size(検証データ割合)
- 意味: 検証用に残すデータの割合。
- おすすめ: データが少ないなら 0.05 (5%)
8. LoRA rank(LoRA設定で重要)
- 意味: LoRA が追加する小さな学習層のサイズ。
-
目安:
8〜16がバランス良い。
👉 値を上げると表現力アップだがメモリ消費も増える。
9. Save steps(保存間隔)
- 意味: 何ステップごとにモデルを保存するか。
-
おすすめ:
200〜500
👉 途中でクラッシュしても復旧しやすい。
10. Output dir(出力先)
- 意味: 学習結果の保存場所。
-
使い方:
学習後、このフォルダの adapter_model.bin を読み込んで利用する。
🌟 初心者向けおすすめ設定例(日本語チャットボット用)
Model: Qwen2-7B
Finetuning method: QLoRA
Learning rate: 2e-4
Epochs: 3
Batch size: 2
Cutoff length: 2048
LoRA rank: 16
Val size: 0.05
Save steps: 200
📝 まとめ
- モデルサイズ選びが最初のポイント
- LoRA / QLoRAで軽量学習がおすすめ
- 学習率・エポック数・バッチサイズは精度とメモリのバランスが大事
- 小さく始めて、徐々に調整するのがベスト
