画像モデルトレーニング

画像モデルトレーニング

LoRAの概念

● LoRA は、Checkpointの重みを変更せずに、画像全体を微調整することを可能にします。これにより、 特定の画像生成にはLoRAの調整だけで済み、Checkpoint全体の修正は不要です。

● 現在提供している全てのモデルは、公式トレーニング済みモデル(SD1.5、SDXL、PONY、ILLUSTRIOUS、FLUX、SD3.5)をベースに「精錬」を行ったものです。他のユーザーが作成したモデルでも精錬が可能です。

● LoRA トレーニング:AIはまずプロンプトに基づいて画像を生成し、その画像をトレーニングセットのデータと比較します。生成された差異に基づいてエンベディングベクトルを継続的に調整することで、生成結果がトレーニングデータに徐々に近づいていきます。最終的に、調整されたモデルはトレーニングデータと同等の結果を生成できるようになり、AI生成画像とトレーニングデータの類似性が高まっていきます。

● LoRAはCheckpointと比べてファイルサイズが小さく、処理時間とリソースを節約できます。さらに、LoRAはCheckpointをベースに重みを調整することで、様々な効果を得られます。

● Checkpointと組み合わせて新しいCheckpointを作ることも可能です。

LoRA トレーニングプロセス

5つのステップ: データセット準備 - 画像前処理 - パラメータ設定 - LoRAトレーニングプロセスの監視 - トレーニング完了

データセット

高品質なデータセットがモデルトレーニングの要です。トレーニングデータはモデルの源となり、適切な枚数、タグ付け、編集が重要です。

● 一般的に20〜40枚の画像で多くのLoRAは十分ですが、スタイルモデルの場合は汎用性を高めるためより多くの画像が必要です。ただし、画像の量より質が重要で、低品質な素材を加えるとモデルの品質が低下します。

● 素材は画像サイトでの収集やAI画像生成で作成できますが、以下のような低品質素材は避けてください:

暗すぎて判別しづらい画像、不適切な構図、不鮮明な画像、細部が再現しにくい画像、主従関係が不明確な画像、細部の重ね合わせが難しい画像、無関係な要素が含まれる画像、主体が一貫しない合成画像、体の部位の誤りや位置ずれがある画像。

● トレーニングするキャラクタースタイルは選択したCheckpointスタイルに近いものが良いです。つまり、二次元キャラクターなら二次元のCheckpointを使用してトレーニングします。

トレーニングするキャラクターは通常、25〜40枚の画像で十分です。同じキャラクター画像を使用しますが、異なるポーズ、角度、視点、服装、表情、背景などを採用します。

30枚の画像を含むデータセット:12枚のポートレート、4枚のビーチ背景写真、4枚の笑顔表情写真、6枚のオリジナル衣装を着た写真、4枚の背面写真、6枚の上半身写真、8枚の全身写真、6枚の座りポーズ写真、8〜10枚の立ちポーズ写真など。

● LoRAスタイルデータセットの選択

● 基準モデルは柔軟性があるか、目標スタイルに近いものを選択しましょう。イラストのスタイルなら、アニメ調やイラスト調のCheckpointを使用してトレーニングします。

全ての画像は作成したいLoRAのスタイルで統一してください。

タグとトリガーワードの編集

● LoRAを最適に機能させるにはトリガーワードが必要です。これはプロンプト段階で非常に重要な要素となります。

● トリガーワードはLoRAを起動するためのキーワードです。基本的にはタグと同じものですが、画像データに埋め込まれるのではなく、画像に表示される形で使用します。LoRAの特徴的な部分は、タグではなくトリガーワードによって認識される必要があります。

例:キャラクタートレーニングで特定の髪型がある場合、タグには記載せず、その特徴をトリガーワードに含めます。スタイルトレーニングの場合は、スタイルに関連するタグを削除します。

タグ付け

名称

wd1.4

deepbooru

blip

joy2

llava

出力形式

単語

単語

自然言語

自然言語

自然言語

主な用途

二次元特化

アニメ画像分類

一般画像説明

一般画像説明

一般画像説明

モデル使用

1.5,il,pony

1.5,il,pony

flux,xl

flux,xl

flux,xl

閾値

0.3-0.6

0.3-0.6

/

/

/

閾値:値が小さいほど、説明が詳細になります

画像前処理

画像のトリミング

● 中央トリミング:画像の中央部分を切り取ります。

●フォーカストリミング:画像の主要な被写体を自動検出して切り取ります。

● トリミング不要:画像を切り取らず、arbバケットと併用する必要があります。

● 中央トリミングと比べて、フォーカストリミングは被写体をより確実に残せるため、通常はフォーカストリミングの使用を推奨します。

● Stable Diffusion 1.5 LoRAでは、512x512、512x768、768x512のサイズを推奨します。より詳細なLoRAを作成する場合は、768x768も使用可能です。

● SDXL、Flux、Stable Diffusion 3.5のトレーニングでは、1024x1024のサイズを推奨します。

データセット作成アップロード

データセット(画像と対応するテキストタグの組み合わせ)は、既存のものをアップロードするか、画像をアップロードしてからタグ付けとトリミング処理を行うことができます。

アップロード済みのデータセットは再トリミングと自動タグ付けはできませんが、タグの手動修正は可能です。

画像のアップロード(1回50枚まで)後、トリミング方法、サイズ、タグ付け方法を選択できます。選択完了後、トリミングとタグ付けを実行します(処理完了後にパラメータ調整とトレーニングを開始できます)。

トレーニングパラメータ設定

● 最上部はベースモデルタイプ(つまり、このタイプの大規模モデル下でLoRAをトレーニングします)

● Base Model:各タイプのベースモデルの異なる選択肢

● Repeat:1枚の画像のトレーニング回数

● Epoch:全画像のトレーニングサイクル数

● Model Effect Preview Prompts:トレーニング完了後、各モデルにサンプル画像が生成されます。このサンプル画像を生成するためのプロンプト

高度なパラメータ設定

● Batch size:一度にモデルが処理するデータ数です。例えば4に設定すると、モデルは4枚の画像を同時に処理します。バッチ処理によりメモリ効率とトレーニング速度が向上します。通常は2のn乗の値を選択し、Batch Sizeを増やす場合は学習率も同時に上げられます。例:batch_sizeを2倍にする場合、UNet学習率も2倍にできますが、TE学習率は大幅な上昇は避けます。

● Gradient Checkpointing:VRAMを節約するトレーニングアルゴリズムです。メモリ使用量は減りますが、処理速度は若干低下します。Batch Size 1ではオフ、2以上ではオンになります。

● ARB Bucketing:アスペクト比が固定されていない画像のトレーニングに使用します。(有効にするとトリミング不要ですが、トレーニング時間は増加します。設定解像度はトレーニング素材より大きい必要があります)。

● ARB Bucket Minimum Resolution:デフォルトは256で、アップロードする画像の解像度は256以上必要。

● ARB Bucket Maximum Resolution:デフォルトは1024で、アップロードする画像の解像度は1024を超えることができません。値を大きくして、より高解像度の素材を追加できます。

● ARB Bucket Resolution Steps:デフォルトの64で十分です。

● Save Every N Epochs:サイクル数に基づいてモデルを保存します。例:最終的に保存されるLoRAの数を決定します。2に設定し、Epochが10の場合、最終的に5つのLoRAが保存されます。

● Learning Rate:AIの学習強度を示します。高いほど学習は強くなりますが、出力の一貫性が低下する可能性があります。低い値から徐々に上げることを推奨。推奨学習率は0.0001です。

● unet lr:設定すると通常の学習率は無効になります。0.0001に設定することをお勧めします。

● text encoder lr:タグに対する感度を決定します。通常、テキストエンコーダlrはunet lrの1/2または1/10に設定されます。

● Learning Rate & Optimizer:

AdamW8bit

prodigy

Learning Rate

総学習率1e-4

batchsizeの大きさに応じて同倍率で拡大

すべての学習率を1に設定

実際の学習率は自動調整される

Lr scheduler

Cosine with restart

再起動回数は4を超えない

constant

Lr warm up

ウォームアップステップは総ステップの5%〜10%

/

● Network:一般的な値

Network Rank Dim

32

64

128

Network Alpha

16

32

64

この値を高くしすぎるとモデルが肥大化し、不要な詳細まで学習する「過学習」状態になりやすくなります。

Shuffle caption :有効にすると、トレーニング中にテキストのトークン順序がランダムに混ぜられ、生成モデルの汎化能力が向上します。有効にすることを推奨します。

● Keep N Tokens:通常は1を選択し、最初に入力したトリガーワードが最高の重みを持つようにします。

● Noise Offset :トレーニング中に全体的なノイズを追加し、画像の明暗範囲を改善します(より暗い画像やより明るい画像の生成が可能になります)。

● Multires Noise Iterations:反復回数を定義します。

● Multires Noise Discount:反復ごとにノイズが徐々に減少する割合を定義します。

※Noise Offset、Multires Noise Iterations、Multires Noise Discountは収束に時間がかかるため、トレーニング時間が長くなります。

トレーニング記録の確認

データセット作成の右側でトレーニング記録を確認できます。

サンプル画像に問題のないモデルを選択して保存します

右上のアカウントアイコンから個人作品画面に移動し、モデルを選択して使用します。

モデルテスト

SeaArtはベースモデルとトレーニングしたLoRAを自動的に同期します。

詳細設定でシード値を固定し、モデルの重みを調整することで、異なる重みでの効果をテストできます。

LoRAトレーニングの問題

過学習/過少学習

過学習:データセットが少ない、またはAIとデータセットの適合が過度に正確な場合、生成画像がデータセットと極めて類似し、モデルの汎用性が低下します。

右上は見た目とポーズの両方で左のデータセットと非常に類似しています。

過学習の原因:

● データセットの不足

● パラメータ設定の誤り(タグ、学習率、ステップ数、オプティマイザーなど)

過学習を防ぐ方法:

● 適切に学習率を下げる

● Epochを減らす

● Repeatを減らす

● 正則化トレーニングを利用する

● データセットを増やす

過少学習: モデルがトレーニング中にデータセットの特徴を十分に学習できず、生成される画像がデータセットとあまり一致しない状態。

過少学習の原因:

● モデルの複雑さが不足

● 特徴量の不足

過少学習を防ぐ方法:

● 適切に学習率を上げる

● Epochを増やす

● Repeatを増やす

● 正則化制約を減らす

● データセットにより多くの高品質な特徴素材を追加する

Regular Dataset

過学習を防ぐ一つの方法として、モデルの汎用性を高めるための追加画像を使用できます。ただし、通常データセットは適度な量に抑えてください。大きすぎるとAIが通常データセットを過度に学習し、本来の目標から外れる可能性があります。10〜20枚程度の使用を推奨します。

例えば、ポートレートデータセットが主に長髪の場合、通常データセットに短髪画像を追加します。同一アートスタイルのデータセットの場合、異なるスタイルの画像を追加してモデルを充実させることができます。通常データセットはタグ付けやトリミング不要です。

画像モデルの分類

● SD1.5 :2022年10月にリリース、主なトレーニングサイズは512*512、トレーニングベースモデルとして、トレーニング速度が速いが、画像品質は特に優れていない

● 代表的なモデル:

majicMIX realistic

麦橘写実

Counterfeit-V3.0

GhostMix鬼混

XXMix_9realistic

● SDXL:2023年7月にリリース、主なトレーニングサイズは1024*1024、トレーニングベースモデルとして、トレーニング速度は一般的、画像効果は良好

● 代表的なモデル:

Animagine XL V3 Series

XXMix_9realisticSDXL

Juggernaut XL

● Pony:多くのバージョンがリリースされ、主に使用されるのはV6 XLバージョン、2024年1月にリリース、主なトレーニングサイズは1024*1024、漫画と動物スタイルの画像生成に特化したモデル

● 代表的なモデル:

WAI-ANI-NSFW-PONYXL

Prefect Pony XL

CyberRealistic Pony

● Illustrious:主にV1.0を使用、2024年7月にリリース、主なトレーニングサイズは1024*1024、高品質のアニメとイラストスタイルの画像生成能力の提供に特化

● 代表的なモデル:

WAI-NSFW-illustrious-SDXL

Prefectious XL NSFW

Illustrious-Anime Artist

● ※IllustriousとPonyをベースモデルとしてトレーニングされたモデルは、SDXLモデルでも使用できます。

● Flux:2024年8月にリリース、新しいトランスフォーマーアーキテクチャを採用し、120億個のパラメータを使用することで、緻密でリアルな画像生成を実現できます。

主なトレーニングサイズは1024*1024、512*512のトレーニングサイズでも良好な効果があります。

● モデルバージョン:FLUX Pro,FLUX Dev,FLUX Schnell,FLUX GGUF,NF4

● 代表的なモデル:

名称

SeaArt Infinity

STOIQO NewRealit

MajicFlus麦橘超然

Last updated