Flux LoRA(Flux.1とFlux 2)のトレーニング方法:初心者向けステップバイステップガイド
Flux LoRAトレーニングは、Flux画像モデルに知らないことを教える方法です:あなたの顔、製品、描画スタイル、カメラの見た目など。結果は20〜300MBの.safetensorsファイル1つで、Graydientを含む任意のFluxアプリで使えます。プロセスには15〜30枚の写真、12〜16GBのメモリを持つカード(または1時間レンタル)、無料のトレーナーが必要です。このガイドはFlux.1 devとFlux 2のすべてのステップを説明し、最後に新しいLoRAの使い方を紹介します。
7つのことを行います:Fluxベースの選択、小さなデータセットの作成、キャプションの作成、トレーナーの選択、いくつかの数値設定、トレーニングとテスト、そしてGraydientへのファイルインポート。各ステップはほとんどの人に合う値で以下に書かれています。すでにトレーニング済みファイルがある場合は、その使用方法のセクションに進んでください。
GraydientはLoRAを実行しますが、トレーニングは行いません。トレーニングは自分のグラフィックカード、時間単位でレンタルしたGPU、またはオンラインのトレーナーで行います。ファイルができたら、すべてのGraydientプランで一定料金でレンダリング可能です。
必要なもの
- 1つの被写体の良い写真を15〜30枚、スタイルなら30〜60枚。スマホ写真でも鮮明で多様なら問題ありません。
- Flux.1 devまたはFlux 2 Klein 4Bには12〜16GBのメモリを持つグラフィックカード、Flux 2 devには24GB以上。カードがなければ1時間レンタル(下記参照)かオンライントレーナーを使ってください。
- 無料のトレーナー:AI Toolkit、Kohya sd-scripts(またはその上にあるFluxGymインターフェース)、OneTrainer。すべてWindowsとLinuxでPythonが必要です。
- 1〜3時間、その多くは待ち時間。Graydientプランはファイルでレンダリングするときだけ必要です。プランと料金を比較してください。
ステップ1:トレーニングするFluxベースを選ぶ
LoRAはトレーニングしたベースモデルに紐づくので、レンダリングしたいベースから始めてください。FluxファミリーにはLoRAを共有しない3つの枝があります:
| ベース | トレーニングに必要なメモリ | LoRAがその後動作する場所 |
|---|---|---|
| Flux.1 dev | fp8ベースと8ビットオプティマイザーで12〜16GB、24GBが快適 | Flux.1 dev、Flux.1 schnell(弱め)、Flux Krea dev、複数のFlux.1ファインチューン。Graydientでは<flux-dev>。最大のLoRAエコシステム。不明ならこれを選ぶ。 |
| Flux 2 Klein 4B | 12〜16GB。4ステップ蒸留版ではなくKlein 4B Baseチェックポイントでトレーニング | Klein 4Bとその派生チェックポイントのみ。トレーニングもレンダリングも高速。Apache 2.0ライセンス。 |
| Flux 2 Klein 9B | 約24GB。Klein 9B Baseチェックポイントでトレーニング | Klein 9Bのみ。4Bより詳細が良いが非商用ライセンス。 |
| Flux 2 dev | 最低24GB、快適には48GB。4090か5090を持っていなければレンタル推奨 | Flux 2 devとその派生チェックポイント。Graydientでは<flux2>。最高品質だがトレーニングは最も遅い。 |
覚えておくルール:Flux.1 LoRAはFlux 2で動かず、Flux 2 LoRAはFlux.1で動かず、Klein 4B、Klein 9B、Flux 2 devはそれぞれ専用のLoRAが必要。Krea 2は別モデルでFluxではありません。複数のベースを使うなら、同じデータセットからベースごとに1回ずつトレーニングしてください。
ステップ2:データセットを作る
Fluxは小さくてきれいなデータセットから素早く学習します。量より質が大事。20枚の鮮明で多様な写真は80枚のほぼ同じ写真より良いです。
- 人物、製品、物体なら15〜30枚集めてください。角度、距離、照明、背景を変えて撮影。少なくとも3分の1はクローズアップ、3分の1は全身または全製品を含めてください。
- スタイルなら同じ画材と線の質で異なる被写体(人、場所、物)の作品を30〜60枚集めてください。多様性がトレーナーに被写体がスタイルではないことを教えます。
- ぼやけ、強い圧縮、透かし、テキストオーバーレイ、被写体でない人は除去してください。セットに余計な顔があるとレンダリングに現れます。
- 解像度:長辺1024ピクセルがFluxの標準。アスペクト比は混ぜてください。トレーナーは自動で分類します。画像を無理に正方形に伸ばさないでください。
- 写真は1つのフォルダーにまとめ、各写真と同じ名前のテキストファイルを隣に置きます。キャプションはテキストファイルに書きます:
dataset/01.jpg dataset/01.txt dataset/02.jpg dataset/02.txt
ステップ3:キャプションを書く
FluxはT5テキストエンコーダーで自然な文章を読み取るので、キャプションはキーワードリストではなく普通の説明文です。キャプションがLoRAが学ぶ内容と無視する内容を決めます:
- 被写体の場合、実在しないトリガーワードから始め、被写体以外の服装、ポーズ、場所、光などを説明します。トレーナーはトリガーワードがキャプションで説明されていない部分だと学習します。
- スタイルの場合、各画像の内容を説明し、スタイルは決して書かないでください。スタイルは省略によってLoRAが学習し、どんな被写体にも適用されます。
- キャプションは1〜2文にしてください。30枚以上あるならFlorence-2やJoyCaptionで自動生成し、最初の10枚は手で読み直して修正してください。
- 実在の人名をトリガーワードに使わず、画像にないものはキャプションに書かないでください。
人物LoRAの被写体キャプション例:ohwx woman, wearing a grey wool coat, standing on a stone bridge, overcast daylight, looking at the camera
スタイルLoRAのキャプション例(スタイルはあえて書かない):a fishing boat in a harbour at dawn, two men on the pier, fog over the water
ステップ4:トレーナーを選ぶ
4つの無料オープンソーストレーナーがすべてのFluxベースをカバー。すべて同じデータセットフォルダーを使い、同じ種類の.safetensorsファイルを作ります:
- AI Toolkit(ostris製):最も使われるFluxトレーナー。1回の実行にYAML設定ファイル1つ、ウェブインターフェース、低VRAMモード、Flux.1 dev、Flux 2 dev、Flux 2 Klein対応。
python run.py config/my_flux_lora.yamlで実行開始。最初のおすすめ。 - Kohya sd-scriptsとFluxGym:Kohyaは多くのStable Diffusion LoRAのベテラントレーナーでFluxブランチあり。FluxGymはその上にある1ページのウェブインターフェースで12、16、20GBプリセット付き。ファイル編集よりフォーム入力が好きな人向け。
- OneTrainer:SDXLとFlux.1用の使いやすいデスクトップアプリ。SDXL LoRAもトレーニングするならこれ。
- オンライントレーナー:Civitaiのサイト内トレーナーやGPUホスティングサイトのFluxトレーナーは写真のzipを受け取りファイルを返す。実行ごとにクレジットが必要で設定は非公開だがカード不要。生成ファイルはGraydientに同様にインポート可能。
ステップ5:重要な5つの数値を設定
トレーナーは数十のオプションを持つが、デフォルトのままでよいものも多い。以下の設定だけはLoRAの強さ、汎用性、大きさを決めるので調整してください:
| 設定項目 | Flux.1 dev | Flux 2 Klein 4B(Base) |
|---|---|---|
| ネットワークランク(次元) | 顔や物体なら16、詳細なスタイルなら32 | スタイル用は16または32 |
| アルファ | ランクと同じ | ランクと同じ |
| 学習率 | 1e-4から2e-4(トレーナーが提供する場合はProdigyまたはAdafactor) | 1e-4 |
| ステップ数 | 1000から2000、各画像が60〜120回表示される | 1000から2000 |
| 解像度 | 1024(メモリが不足している場合は768) | 1024 |
| バッチサイズ | 1(24 GBなら2) | 1または2 |
| 基本精度 | 12〜16 GBで8ビットオプティマイザー付きfp8ベース;24 GB以上はbf16 | 16 GBでbf16が適合;12 GBでfp8 |
トレーナーを設定して250ステップごとにチェックポイントを保存し、同じプロンプトとシードで2つのサンプル画像をレンダリングします。これらのサンプルで勝者を選びます。Flux.1 devとFlux 2 devはガイダンス蒸留済みで、トレーナーが処理するのでガイダンス設定はデフォルトのままにしてください。
ステップ6:トレーニング
- 実行を開始し、最初の1分間メモリを監視してください。カードが満杯になりシステムメモリに溢れたら停止してください。トレーニングが10倍遅くなり、クラッシュする可能性があります。
- メモリが溢れた場合は、ベースをfp8に切り替え、勾配チェックポイントをオンにし、8ビットAdamWまたはAdafactorオプティマイザーを使い、解像度を768に下げ、バッチサイズを1にしてください。これらのいずれかでギガバイト単位のメモリが解放されます。
- 問題なく動作したらそのままにしてください。Flux.1 devは16 GBカードで1500ステップに1〜2時間かかります。Klein 4Bはより速く、Flux 2 devはレンタルの48 GBカードで約1時間です。
- サンプル画像が表示されるのを見てください。被写体は通常500ステップで現れ、1000ステップでしっかりします。750ステップで完璧なら早めに停止しても構いません。
トレーニングは遅くてノイズが多いですが壊れやすくはありません。最初の1分を乗り切ればほぼ確実に完了します。トレーナーが提供するならトレーニング前に潜在表現とテキスト埋め込みをキャッシュしてください。毎回の実行でメモリと時間を節約できます。
ステップ7:テストして適切なチェックポイントを選ぶ
最後のチェックポイントが最良とは限りません。過学習したLoRAはデータセットの背景をコピーし、コントラストを焼き尽くし、プロンプトを無視します。すべてテストしてください:
- データセットに含まれていない4つのプロンプトを書いてください:新しい場所、新しい服装、異なる光、異なる媒体。シードを固定してください。
- 保存した各チェックポイントを4つのプロンプトでLoRA重み0.6、0.8、1.0でレンダリングしてください。
- 被写体を正確に捉え、新しいプロンプトに従っている最も早いチェックポイントを選んでください。後のものは通常過学習で、早いものはあいまいです。
- 勝者のファイル名を1年後にライブラリで認識できる名前に変更してください。例えば被写体とベース名:my-flux-lora、lora_000750ではなく。
グラフィックカードがない?1時間レンタル
Flux 2 devトレーニングやノートパソコンでのFluxトレーニングは、自分の時間よりレンタルカードの方が安いです。24または48 GBカードはGPUレンタル市場で1時間あたりコーヒー1杯以下の価格で、Flux LoRAは1〜2時間必要です。
- Flux.1 devやKleinには24 GBカード、Flux 2 devには48 GBカードのマシンをレンタルしてください。マーケットプレイスでトレーナーがプリインストールされたテンプレートがあれば選んでください。AI Toolkitテンプレートが一般的です。
- データセットフォルダをアップロードし、上記と同じ設定で実行し、テストしたいチェックポイントをダウンロードしてください。データセットと重みはあなたのものです。
- ダウンロードが終わったらマシンを停止してください。セットアップを含めて通常2時間以内のレンタルです。
GraydientでFlux LoRAを使う
Graydientはレンダリングにファイルをコンピュータに置く必要はありません。Graydientが取得できる場所に置き、リンクをインポートしてください:
- .safetensorsファイルをHugging Faceアカウントのリポジトリ(公開または非公開)にアップロードするか、Fluxバージョンのベースモデルを設定してCivitaiで公開してください。
- GraydientにログインでダッシュボードライブラリからModel Importを開き、Hugging Faceの直接ファイルリンクかCivitaiのページリンクを貼り付けてください。詳細な手順はGraydientでCivitaiモデルをインポートする方法にあります。
- LoRAがライブラリに表示されるのを待ち、Graydientが付けたショートコードをコピーしてください。
- LoRAタグと対応するベースで任意のGraydientアプリでレンダリングしてください:Flux.1 LoRAなら
<lora:my-flux-lora:0.8> <flux-dev>、Flux 2 LoRAなら<lora:my-flux2-lora:0.8> <flux2>。すべてのアプリ、重み、スタッキングルールはGraydientでのFluxとFlux 2 LoRA初心者ガイドにあります。
TelegramやDiscordでの完全な最初のレンダリング例。トリガーワードを最初に置き、Flux devベースでLoRAを0.8に設定:/render ohwx woman, portrait, soft window light, 85mm photo <lora:my-flux-lora:0.8> <flux-dev> /steps:24 /guidance:3.5 /size:1024x1024
ライセンス:LoRAでできること
LoRAはベースモデルの派生物なので、ベースのライセンスが適用されます。レンダリングやファイルを販売する前にモデルページの現在のライセンス文を確認してください:
- Flux.1 devとFlux 2 devはBlack Forest Labsの非商用ライセンスでリリースされています。個人プロジェクトや研究は問題ありませんが、商用利用には商用ライセンスが必要です。
- Flux 2 Klein 4B(およびそのベースチェックポイント)はApache 2.0なので、それでトレーニングしたLoRAにはベースモデルの制限はありません。Klein 9Bは非商用ライセンスです。
- データセットの画像にはそれぞれ権利があります。自分で撮影または所有する写真でトレーニングし、本人の同意なしに実在の人物でトレーニングしないでください。
問題が起きたら
- 最初の1分でメモリ不足:fp16ベースとオプティマイザーが収まらない。fp8、8ビットAdamWまたはAdafactor、勾配チェックポイント、解像度768、バッチ1に切り替えてください。それでも溢れる場合はカードをレンタルしてください。
- LoRAが被写体だけでなく全体を変える:キャプションが背景や光を説明しておらず、トレーナーがそれらをトリガーワードの一部として学習した。文脈を明確にしたキャプションに直し、データセットを多様化してください。
- 重み1.0で顔は正しいがプロンプトが無視される:過学習。より早いチェックポイントを使ってください。次回はステップ数を半分にするか学習率を5e-5に下げてください。
- どの重みでもあいまいな類似しかない:未学習かデータセットが均一すぎる。500ステップ単位でステップ数を増やすか、新しい角度の画像を追加してください。
- GraydientでLoRAが効かない:ベースが合っていません。Flux.1 LoRAは
<flux-dev>、Flux 2 LoRAは<flux2>が必要です。トリガーワードがプロンプトにあるかも確認してください。 - トレーニングは動くが非常に遅い:システムメモリに溢れたか、データセットが遅いドライブにある。最初のポイントのようにメモリを直し、潜在表現をキャッシュし、データセットをSSDに移してください。
これが全手順です:1つのベース、20枚のきれいな画像、正直なキャプション、5つの数値、1回の実行、1回のテスト。最初のFlux LoRAは最高ではなく、2回目は半分の時間でできます。ファイルが存在すればGraydientにログインかプランと料金を比較して好きなだけレンダリングしてください。すべてのプランに7日間の返金保証が付いています。
よくある質問
GraydientはFlux LoRAを私のためにトレーニングできますか?
いいえ。Graydientは定額制レンダリングサービスで、LoRAを実行しますがトレーニングはしません。自分のカード、レンタルカード、または上記のオンライントレーナーでトレーニングし、ファイルをインポートしてください。その後のレンダリングはどのプランでも追加料金なしです。
Flux LoRAには何枚の画像が必要ですか?
顔や製品、物体なら15〜30枚、スタイルなら30〜60枚。Fluxは少数のセットから学習します。100枚を超えるとLoRAのトレーニングではなくファインチューニングになり、より多くのステップとメモリが必要です。
Flux LoRAのトレーニングに必要なVRAMはどれくらいですか?
Flux.1 devやFlux 2 Klein 4Bはベースがfp8で8ビットオプティマイザー使用の場合、12〜16GB。Klein 9Bは約24GB。Flux 2 devは最低24GB、快適には48GB。4090や5090を持っていないなら後者はレンタル推奨です。
どれくらい時間がかかりますか?
16GBカードで1500ステップのFlux.1 devは1〜2時間、Klein 4Bはもっと短く、レンタルの48GBカードでのFlux 2 devは約1時間。初回はキャプション作成とテストでさらに1時間かかります。
Flux 2 LoRAはFlux.1 LoRAと同じ方法でトレーニングできますか?
はい、同じデータセットとキャプションで可能です。Klein LoRAは4B Baseや9B BaseのKlein Baseチェックポイントでトレーニングし、4ステップ蒸留版では行わないでください。結果はそのKleinサイズでのみ動作します。Flux 2 devはメモリが多く必要なので、多くの人はレンタルしています。
Flux LoRAにはトリガーワードが必要ですか?
人物や物体の場合は必要です。キャプションの最初に作った言葉を入れ、それをプロンプトの最初にも使います。スタイルの場合は、キャプションが内容を説明していてスタイルを説明していなければトリガーワードは不要で、LoRAはすべてに適用されます。
LoRAを非公開にできますか?
はい。Hugging Faceのプライベートリポジトリにアップロードし、ログインした状態でファイルリンクをインポートしてください。Graydientはあなたのアカウントがダウンロード可能なファイルのみ取得します。ライブラリはあなただけのもので、ファイルはModelTrendsや公開場所に表示されません。