— 画像・キャプション構造を正しく準備する方法
LoRAファインチューニングを初めて始めると、誰もがモデル、rank、学習率(learning_rate)などの トレーニングオプションにまず関心を持つでしょう。
しかし実際には Datasetが80%を決定します。
良いデータで学習すれば、ほとんどの設定ミスを覆い隠せますが、悪いデータはどんな設定でも品質を回復できません。
特に最近のFlux系モデルは 「データを非常に正直に反映するモデル」 であるため、Datasetの品質の影響をより強く受けます。
この記事では、LoRAをファインチューニングする際に 画像をどのように準備し、 キャプションをどのように構成すべきか、 data.tomlの設定がDataset構造とどのように関係しているのかを実践基準で整理します。

1. なぜLoRAファインチューニングでDatasetが最も重要なのか?
LoRAは基本モデルの巨大なパラメータ全体を変えるのではなく、
特定の概念を強化または追加する「メモパッチ」を追加する方式です。
つまりLoRAは次の2つを中心に学習します:
-
画像間の共通点
-
キャプションに明示された核心概念
そのためDatasetが少しでも崩れると、以下のような現象がすぐに発生します:
-
顔が不均一になる
-
LoRA scale=0.5以上を与えなければスタイルが適用されない
-
既存モデルの特徴と混ざり、「これでもないあれでもない」結果が出る
-
特定のポーズ・表情のみが過度に強調される
-
色味が極端に偏る
これらすべての問題の根本原因は データの一貫性の欠如です。
2. 画像準備の基本ルール
これを守れば半分は成功したことになります。 一度tuningする際には相当な時間がかかるため、一度のときにデータをしっかり整えることが重要です。
✔ 2-1) 画像解像度は 正規化することが推奨されます
Fluxベースのモデルは解像度にあまり敏感でないように見えますが、ファインチューニング時には以下の問題が発生します:
-
512×768
-
1024×1536
-
800×800
-
1536×768
このようにサイズがバラバラだと、モデルの視点では「重要な領域」がぼやけたり、位置が一貫しないように見えてしまいます。
推奨規格:
-
768×1152
-
768×1024
-
1024×1024
-
または希望する最終画像比率に合った一つの規格で統一する
重要なのは 比率とサイズの一貫性です。
✔ 2-2) Datasetは多ければ良いわけではなく、 均質であることが良い
誤った例:
-
自撮り10枚 + 全身ショット5枚 + 薄暗い照明の写真3枚 + 4K高画質写真2枚 + 漫画風画像5枚
→ モデルが何を学ぶべきか混乱します。
良い例:
-
同じカメラ距離
-
同じ照明
-
顔中心 / 上半身中心など コンセプトが明確
-
スタイル(実写/アニメ/イラストなど)統一
✔ 2-3) 「良い写真だけを入れること」が最も重要な原則
これは直接Flux LoRAを何度も実験してみると、より強く感じます。
よくある間違い:
「データが不足しているから、これも入れよう。何か学習には役立つだろう。」
いいえ。
その「何か」がLoRAを台無しにします。
ぼやけた画像一つのせいで学習が崩れることが非常に多いです。
完全に確実に言えます:
良い写真10枚 > バラバラの写真40枚
✔ 2-4) LoRAを作りたい目的に応じて画像構成を決定すべきだ
例えば:
1) 特定の人物再現LoRA
-
顔のクローズアップ中心
-
同じ照明
-
正面 + やや側面程度だけ
-
全身は入れない方が一般的により安定する
2) 特定のファッションスタイル再現LoRA
-
同一の衣装セット
-
色味、テクスチャー強調画像
-
全身ショット/下半身ショット含む可能
-
さまざまなポーズがかえって助けになる
3) 特定のイラストスタイルLoRA
-
背景を含む
-
ブラシテクスチャーがよく見える画像
-
スタイルの核心要素を自分で定義する必要がある(線の太さ、彩度、明暗など)
3. キャプション作成:LoRA品質を決定する第二の核心
画像自体と同じくらい重要なのがキャプションです。
Fluxはキャプションの「テキスト信号」を非常によく追従するため、
キャプションの構成を慎重に行うだけでLoRA品質が大きく変わります。
✔ 3-1) キャプションはどう書くべきか?
正解は次の2つのうちのいずれかです:
A. 最小キーワードタグベース方式
a japanese woman, long hair, smiling, outdoor, daylight
-
シンプルで安定しています
-
実写スタイルに強いです
-
LoRAが容易に収束します
B. 文型描写方式
A Japanese woman with long black hair smiles softly in natural daylight, wearing a white knit sweater.
-
FluxやSDXL系でより自然な学習を促す
-
スタイルLoRAや人物LoRAに適しています
初めて試みる初心者には A方式を推奨しますが、文がうまく書ける人には B方式 を試してみることをお勧めします。経験的にB方式の方が効果が良いと感じることがありました。
注意事項:文型を使う場合、data.tomlでkeep_tokens = 0, shuffle_caption = falseとすること
✔ 3-2) キャプションはまったくなくてもいいですか?
-
確かな答え:必ず入れること
-
理由:モデルが学ばなければならない概念を知らせる必要があります
-
ただし、「クラストークンだけを与えて文キャプションがない構造」でファインチューニングする例をNVIDIAの文書で見たことがありますが、経験的にキャプションを入れる方がはるかに効果が良いです。
✔ 3-3) class_tokens vs txtキャプションの優先順位
重要な実践情報:
txtキャプションがある場合 → txtが優先される。
class_tokensは補助的な役割に近いです。
つまり同じ画像に次の2つが同時にある場合:
class_tokens = "leona_empire asian woman"
caption.txt = "a japanese woman in winter knit"
→ モデルはcaption.txtの方を優先して反映します。
整理:
-
caption.txtが核心です
-
class_tokensは「全体コンセプトの基本基盤」と考えれば良いです
4. Datasetディレクトリ構造の例示
Flux系LoRAを基準にしたきれいな例:
dataset/
└── concept1/
├── 00001.png
├── 00001.txt
├── 00002.png
├── 00002.txt
├── 00003.png
├── 00003.txt
└── ...
.txtファイル規則:
-
ファイル名が一致している必要があります
-
UTF-8推奨
-
一行で作成(不必要な改行禁止)
5. LoRAを台無しにする代表的なキャプションミス
1) 過剰な修飾語
beautiful gorgeous extremely lovely asian woman with super long silky hair
モデルが特定の属性に過度に固執しています。
2) 写真ごとにスタイルの説明が異なる
-
一枚は「映画のような照明」
-
別の一枚は「明るいソフト照明」
→ 混乱100%
3) 写真と異なる不要な感情・ムード
時々写真が多いときにコピー + 貼り付けをし、写真と異なる表情説明があると台無しに!!
DATA set 完成後、最終的に最低2回以上確認することが精神的健康に良いです。
(実際には笑っていてもsad, melancholyなどのテキストがあると表情が変わってしまいます)
6. データ数:何枚が最も効率的か?
経験上Flux LoRA基準:
| データ数 | 結果品質 |
|---|---|
| 5–10枚 | 不安定(変動大) |
| 15–25枚 | 最も効率的 |
| 30–50枚 | 最高品質(ただし、_一貫性のあるデータ_のときのみ) |
| 60枚以上 | 大きな意味なし。重複情報増加 |
-
データを増やすより「悪い画像を削除」が品質をさらに向上させます。
-
個人的には最初には40枚ほどでやったが、その後は10~20枚の間でデータセットを構成する傾向があります。
7. 一次→二次ファインチューニング時のDatasetの扱い方
ここで最もよくある質問:
「既存の画像も含めるべきか?」
正解:
はい。一定の割合で含める必要があります。
理由:
モデルはLoRAではなく「記憶パッチ」なので、
既存の概念を再び見せなければ忘れてしまいます。
推奨割合:
-
既存データ50%
-
新しいデータ50%
こうすると「記憶維持 + 新しいスタイル反映」が最も安定すると考えています。
8. 結論:Datasetさえ正しく準備すればLoRAの70%は完成する
ファインチューニングを繰り返すたびに感じるのはただ一つです。
結局、LoRAの品質はDatasetによって決まります。
-
解像度
-
比率
-
照明
-
画像の一貫性
-
キャプションの正確性
-
不良画像の削除
-
data.tomlとdataset構造の整合性
この7つさえしっかりと押さえれば、
rank、learning_rateといった設定は 思いのほか重要でなくなります。
コメントはありません。