セットアップ | オプション | 説明 | 欠点 |
---|---|---|---|
ベースモデル | ベースモデル・ファイルへの文字列パス | このオプションは、新しいモデルのトレーニングの出発点として使用するベース・モデル・ファイルへのパスを指定します。モデルは提供された新しいデータで微調整される。 | タスクとデータに関連する基礎モデルを選択することが重要であり、そうでなければ微調整プロセスによってパフォーマンスが向上しない可能性がある。 |
img_folder | トレーニング画像を含むフォルダへの文字列パス | このオプションは、モデルの学習に使用するトレーニング画像を含むフォルダへのパスを指定します。 | 学習画像の質と量はモデルの性能に大きく影響する。モデルの学習には、十分に多様で高品質な画像を用意することが重要です。 |
出力フォルダ | 出力モデルが格納されているフォルダへの文字列パス | このオプションは、トレーニング後に出力モデルを保存するフォルダへのパスを指定します。 | 出力フォルダには、モデルファイルを保存するのに十分なストレージ容量が必要です。データが失われ、作業ができなくなった場合に備えて、モデルファイルを定期的にバックアップすることが重要です。 |
change_output_name(変更出力名 | ブーリアン | 学習モデルの出力名を変更するかどうかを指定します。Trueに設定すると出力名が変更され、そうでなければ変更されません。 | 該当なし |
save_json_folder | ストリング | トレーニングモデルのjsonファイルが保存されるフォルダへのパス。 | 該当なし |
load_json_path | ストリング | モデルパラメータのロードに使用するjsonファイルへのパス。これは以前のチェックポイントからトレーニングを継続する際に便利です。 | load_json_pathで指定されたファイルが存在し、有効なjsonファイルでなければならない。 |
json_load_skip_list | 文字列リスト | 保存された.jsonファイルでは読み込まれない、モデル設定のキーの文字列のリストを指定します。 | json_load_skip_listに誤って必要なキーを含めると、モデルが期待通りに動作しない可能性があります。 |
multi_run_folder | ストリング | multirun_folder}/run{run_number}/の形式で、複数のトレーニング実行の結果が保存されるフォルダの名前。 | multi_run_folder名を変更せずに複数回実行した場合、以前の結果は上書きされる。 |
save_json_only | ブーリアン | Trueに設定すると、モデルの設定ファイル(.json形式)のみが保存され、モデルのチェックポイントは保存されません。 | .jsonファイルだけではモデルは回復しないので、save_json_onlyがTrueに設定されている場合は、トレーニングを最初からやり直す必要があります。 |
キャプション・ドロップアウト率 | 0~1の浮動小数点数 | トレーニング中のタイトルのランダム破棄率を指定する。 | この値が高すぎると、タイトルに含まれる重要な情報が失われ、質の低い結果になる可能性がある。 |
caption_dropout_every_n_epochs | 整数 | トレーニング中にタイトルを落とす頻度(ラウンド数)を指定する。 | この値を高く設定しすぎると、モデルはトレーニング中に十分なタイトルの多様性に触れることができず、オーバーフィッティングにつながる可能性があります。この値を低く設定し過ぎると、モデルがヘッドラインから学習するのに十分な時間が与えられずに破棄される可能性があります。 |
caption_tag_dropout_rate | 0~1の浮動小数点数 | モデルをトレーニングする際のタイトルのランダム廃棄率を制御します。高い値を設定すると、より多くのタイトルが破棄され、低い値を設定すると、より少ないタイトルが破棄されます。 | 高い値を設定すると、タイトルの重要な情報が失われ、質の低い結果につながる可能性がある。 |
ネットディム | 整数 | この設定は、モデルのネットワーク・アーキテクチャにおける隠れユニットの数を決定します。net_dimの値を大きくすると、より複雑で大きなモデルになりますが、計算リソースも多く必要となり、モデルが大きすぎて学習データが不十分な場合、オーバーフィッティングにつながる可能性があります。 | オーバーフィッティング、計算リソースの増大 |
アルファ | 浮動小数点 | この設定はトレーニング中に使用される学習能力を決定する。アルファ値を大きくすると収束が早くなりますが、大きくしすぎるとモデルのオーバーフィットや最適解への収束が遅くなります。アルファ値を小さくすると、収束が遅くなったり、まったく収束しなくなったりします。 | 準最適解、収束が遅い |
スケジューラー | ストリング | この設定は、トレーニング中に使用される学習率スケジュールを決定する。一般的な選択肢は "step"、"cosine"、"plateau "である。ステップ計画では、指定された反復回数の後、学習率を固定係数で減少させ、コサイン計画では、学習率をコサイン関数で減少させる。プラトー計画は、検証損失が改善しなくなったときに学習率を下げる。 | 最適解がない、収束が遅い、適切なプランの選択が難しい |
コサイン・リスタート | 整数 | コサイン・アニーリング法の再スタート回数。再スタート回数が多いほど、学習率がより頻繁に変化し、最適でない学習率に陥るリスクを減らすことができる。 | 再スタートの回数を増やすと、学習率が頻繁に変化するようになり、トレーニング過程が不安定になり、調整が難しくなる可能性がある。 |
スケジューラ・パワー | 浮動小数点 | スケジューラーのパワー・パラメーター。powerの値が大きいほど、学習速度の変化が遅くなる。 | パワー値を高く設定すると、学習速度が遅すぎて妥当な時間で収束しない可能性がある。一方、パワー値を低く設定すると、学習速度が積極的になりすぎて、モデルが学習データをオーバーフィットしてしまう可能性があります。 |
ウォームアップ | 浮動小数点 | ウォームアップ期間中の初期学習率に対する最大学習率の比率。学習率は初期値から最大値まで徐々に増加する。 | ウォームアップ学習率の比率が高いと、モデルの収束が遅かったり、まったく収束しなかったりする。一方、ウォームアップ学習率の比率が低いと、学習率が低すぎてモデルを効果的に学習できないことがある。 |
学習率 | 浮動小数点 | このオプションは、モデルの学習に使用するオプティマイザーの学習レートを設定します。オプティマイザがモデル・パラメータを更新する際のステップ・サイズを決定します。デフォルト値は0.0001です。 | 学習率が高いと、モデルの収束が早すぎて最適解から外れてしまう可能性があり、逆に学習率が低いと、学習プロセスに時間がかかり、不十分な解に収束してしまう可能性がある。学習率は、これらのトレードオフのバランスをとるために注意深く設定されなければならない。 |
テキストエンコーダ | 浮動小数点 | このオプションは特にモデルのテキストエンコーダーコンポーネントの学習率を設定する。この値をlearning_rateと異なる値に設定すると、テキストエンコーダの特別な微調整が可能になります。 | text_encoder_lrをlearning_rateと異なる値に設定すると、テキスト・エンコーダに過剰にフィットしてしまい、新しいデータにうまく汎化できない可能性がある。 |
unet_lr | 浮動小数点 | このオプションはモデルのUNetコンポーネントの学習率を特に設定する。この値をlearning_rateと異なる値に設定すると、UNetを特別に微調整することができる。 | unet_lrをlearning_rateと異なる値に設定すると、UNetにオーバーフィットし、新しいデータにうまく一般化できない可能性がある。 |
労働者数 | 整数 | データをロードするワーカースレッドの数を指定します。ワーカースレッドの数を増やすと、データのロードとトレーニングが速くなりますが、メモリ使用量が増える可能性があります。 | ワーカースレッドが多すぎると、メモリがオーバーフローし、トレーニングプロセスが遅くなる可能性があります。 |
永続的労働者 | ブーリアン | 永続ワーカースレッドを使用するかどうかを決定する。永続ワーカースレッドはデータサンプルのキューを保持し、データをより効率的にロードできるようにします。 | 特にメモリやディスクI/Oなどのリソースが限られているシステムでは、システムのパフォーマンスが低下する可能性があります。 |
バッチサイズ | 整数 | 各バッチに含まれるサンプル数を指定します。バッチサイズが大きいほど効率的なトレーニングができますが、メモリ使用量が増え、収束が遅くなる可能性があります。 | バッチサイズが大きすぎるとメモリがオーバーフローし、学習プロセスが遅くなる可能性があり、逆に小さすぎると収束が遅くなる可能性がある。 |
num_epochs | 整数 | トレーニングデータに対して何回完全なトラバースを行うかを指定します。実行回数が多いほど精度の高いモデルになりますが、実行時間も長くなります。 | トレーニング時間が長いと、ラウンド数が多すぎてデータがオーバーフィットする可能性がある。 |
save_every_n_epochs | 整数 | トレーニング中にモデルを保存する頻度を指定します。例えば、これを5に設定すると、モデルは5ラウンドごとに保存されます。 | モデルがより頻繁に保存されるため、より多くのストレージスペースを必要とする。 |
シャッフルキャプション | ブーリアン | ラウンド間で学習データをシャッフルするかどうかを指定します。シャッフルはモデルがローカル・ミニマムに陥るのを防ぐのに役立ちますが、トレーニングに一貫性がなくなることもあります。 | 訓練データの順番が重要な場合、訓練に一貫性がなくなる可能性がある。 |
keep_tokens | 整数 | 学習に使用したテキストコーパスの中で最も頻度の高いトークンの数。keep_tokensより頻度の低いトークンは未知のトークン("")に置き換えられる。値が小さいほど語彙のサイズが小さくなり、モデルのメモリ要件が減る可能性がありますが、情報が失われる可能性もあります。 | keep_tokensの設定が低すぎると、情報が失われる可能性がある。 |
最大ステップ数 | 整数 | トレーニング中の最大ステップ数。モデルがmax_stepsのバッチデータを見たら、トレーニングは停止する。 | max_stepsを低く設定しすぎると、モデルの学習が十分に行われないことがある。max_stepsが高すぎると学習に時間がかかる。 |
tag_occurrence_txt_file | ストリング | ラベル出現情報を含むテキストファイルへのパス。ラベル出現情報は学習中の損失関数の重み付けに使用される。 | ラベルに利用できない情報があるように見えたり、正しく指定されていない場合は、モデルが正しく学習されていない可能性がある。 |
ソート_タグ_出現頻度_アルファベット順 | 真か偽か | trueに設定すると、tag_occurrence_txt_fileのタグはアルファベット順にソートされます。このオプションを使用すると、タグの順序を一定に保ち、類似したタグを確実にグループ化することができます。 | 該当なし |
train_resolution | 整数値 | この値はトレーニング画像の解像度を決定します。解像度が高いほど、より詳細な画像が得られますが、より多くのメモリと計算リソースが必要になります。 | 解像度を上げると、特に訓練データが大きい場合、訓練時間とメモリ要件が大幅に増加する可能性がある。 |
最小バケット解像度 | 整数値 | この値はトレーニングに使用するバケットの最小サイズを決定する。バケットサイズを小さくするとトレーニングが速くなりますが、オーバーフィッティングや結果の品質が低下する可能性があります。 | バケットサイズを過度に小さくすると、トレーニングの効率が悪くなり、結果の質が低下する可能性がある。 |
最大バケット解像度 | 整数 | トレーニングデータの最大画像解像度を指定します。トレーニングデータの解像度がmax_bucket_resolutionより大きい場合、ダウンサンプルされます。 | max_bucket_resolutionの値を高くすると、トレーニング時間が長くなり、メモリ使用量が増える可能性があり、逆に低くすると、生成される画像の品質が低下する可能性がある。 |
ローラ_履歴書モデル | ストリング | 以前のチェックポイントからトレーニングを再開するために使用される、事前にトレーニングされたLoRAモデルへのパスを指定します。 | 事前に訓練されたモデルから訓練を再開すると、新しい訓練データが元の訓練データと大きく異なる場合、オーバーフィッティングにつながる可能性がある。 |
保存状態 | ブーリアン | 各ラウンドの後にトレーニング状態を保存するかどうかを指定します。Trueに設定すると、トレーニング状態がlora_model_for_resumeファイルに保存されます。 | トレーニング状態を頻繁に保存すると、トレーニング時間が長くなり、ディスク使用量が増える可能性がある。 |
ロード_前回保存状態 | 真か偽か | トレーニング中に以前に保存したモデルの状態をロードするかどうかを指定します。Trueに設定すると、トレーニングは以前に保存した状態から再開されます。Falseに設定すると、トレーニングは最初からやり直されます。 | 以前に保存した状態が利用できなかったり、破損していた場合、トレーニングは回復されず、ゼロからトレーニングを開始することになり、トレーニング時間が長くなったり、パフォーマンスが低下する可能性がある。 |
トレーニングコメント | ストリング | 保存されたモデル名に追加されるコメントを指定します。これは、異なる設定やパラメータでトレーニングされた異なるモデルを区別するために使用できます。 | ない |
unet_only | 真か偽か | モデルのUNetコンポーネントのみを訓練するかどうかを指定する。Trueに設定すると、モデルのUNetコンポーネントのみが学習され、テキストエンコーダーコンポーネントは学習されない。Falseに設定すると、モデルのUNetコンポーネントとテキストエンコーダーコンポーネントの両方が学習される。 | モデルのUNetコンポーネントのみをトレーニングすると、両方のコンポーネントを同時にトレーニングするよりもパフォーマンスが低下する可能性がある。なぜなら、テキストエンコーダーコンポーネントはモデルの重要な部分であり、トレーニングプロセスにテキスト情報をエンコードするのに役立つからである。 |
テキストのみ | 真か偽か | モデルをテキストのみで学習させるか、テキストと画像の両方で学習させるかを決定します。Trueに設定すると、学習は速くなりますが、画像生成の質は低くなります。Falseに設定すると、学習は遅くなりますが、画像生成の質は高くなります。 | Trueに設定すると、Falseに設定した場合ほど正確で詳細な画像が得られません。 |
reg_img_folder | ストリング | トレーニングに使用する画像ディレクトリへのパス。 | このオプションはtext_onlyがFalseに設定されている場合にのみ関係する。画像が提供されない場合、モデルはテキストのみで学習され、画像は生成されません。 |
クリップ・スキップ | 真か偽か | 学習データ中の切り取られた画像をモデルがスキップするかどうかを決定します。クリッピングされた画像とは、train_resolutionに比べてサイズが小さすぎる、または大きすぎる画像のことです。 | Trueに設定すると、モデルはトレーニングデータの一部の画像から学習できない場合があります。Falseに設定した場合、モデルは編集されたものであってもすべての画像を処理する必要があるため、学習に時間がかかる可能性があります。 |
テストシード | 整数 | テスト データの生成と評価に使用するランダム シードを指定します。シードを設定すると、スクリプトを実行するたびに同じテスト データが生成されます。 | シードが異なれば、テストデータや評価結果も異なる可能性がある。 |
減量前 | 浮動小数点 | 全体の損失計算における事前損失項の重みを指定する。事前損失項は、モデルが学習データの事前分布に近い出力を生成するように促すために使用されます。 | 重みを高く設定しすぎると、出力が以前と似すぎてしまい、モデルの創造性が低下する可能性がある。重みを低く設定しすぎると、出力が以前とかけ離れすぎてまとまりがなくなる。 |
グラデーション・チェックポイント | ブーリアン | トレーニング中のメモリ使用量を削減するために勾配チェックポイントを使用するかどうかを指定します。勾配チェックポイントは、バックプロパゲーション中に選択的にアクティベーションを保存し、再ロードします。 | 勾配チェックポイントの使用は学習プロセスを遅くする可能性があり、小さなモデルや十分なメモリを持つデバイスでは必要ないかもしれない。 |
グラデーション・ステップ | 整数 | トレーニング中の勾配累積のステップ数を指定します。この値を大きくすることでメモリ使用量を減らし、トレーニングの安定性を向上させます。 | gradient_acc_stepsの値を大きくすると、演算回数が増え、学習が遅くなる可能性がある。 |
混合精度 | ブーリアン | 混合精度トレーニングを使用するかどうかを指定します。混合精度トレーニングでは、低精度データ型を使用してトレーニングを高速化します。 | 精度が混在したトレーニングは、精度の低下を招き、トレーニングが不安定になる可能性がある。 |
save_precision | 浮動小数点 | モデルの重みを保存するときに使用する精度を指定します。通常、学習時に使用される精度に応じて32または16に設定されます。 | 精度の値が低いと、モデルの重みを保存する際に情報が失われ、精度が低下する可能性がある。 |
save_as | ストリング | 学習モデルを保存するファイル形式を指定します。サポートされている形式は、ckpt、safetensors、pt、binです。 | ファイル形式は、LoRAモデルが使用されるStable Diffusion AIアートモデルのタイプと一致する必要があります。 |
caption_extension | ストリング | トレーニングデータのヘッダーを含むテキストファイルの拡張子を指定します。 | 拡張子は、タイトルファイルの実際のファイル拡張子と一致していなければなりません。 |
最大クリップトークン長 | 整数 | 1つのタイトルで許可されるトークンの最大数を指定します。この長さを超えるタイトルはトレーニング中にスキップされます。 | 高い値を設定すると、トレーニング中のメモリ使用量が増える可能性があります。低い値を設定すると、ヘッダーの重要な情報が失われる可能性があります。 |
バケツ | 整数リスト | バケットアルゴリズムのサイズを指定します。例えば、bucketsを[5,10,15]に設定した場合、データは3つのバケツに分けられ、長さ5Tokenのデータは1つのバケツに、長さ10Tokenのデータは別のバケツに、長さ15Tokenのデータは3つ目のバケツに入ります。 | 良い結果を得るためには、バケットの数とバケットのサイズを注意深く選択しなければならない。バケツの数が少なすぎると、モデルがうまく機能しない可能性があり、バケツの数が大きすぎると、モデルがオーバーフィットする可能性がある。 |
エックスフォーマーズ | 文字列リスト | トレーニング中に使用するトランスフォーマーを指定します。この変換器を使用して、ランダムな切り抜き、反転、回転などのデータ拡張技術を適用することができる。 | トランスの選択はモデルの性能に大きく影響するため、特定のタスクに最適なトランスを選択することが重要である。 |
使用_8ビット_アダム | ブーリアン | 8ビット・アダム・オプティマイザを使用するかどうかを指定します。このオプションを使用すると、トレーニング処理に必要なメモリを削減できます。 | このオプションをTrueに設定すると、トレーニング処理に必要なメモリが削減されますが、トレーニングが遅くなり、モデルの精度が低下する可能性があります。 |
キャッシュ | ブーリアン | Trueに設定すると、トレーニングデータの潜在的な値がキャッシュされ、トレーニングが高速化されます。これによりモデルのトレーニングにかかる時間を短縮できますが、より多くのメモリを使用し、トレーニング開始までの時間が長くなる可能性があります。 | メモリ使用量の増加と起動時間の低下。 |
カラーオーグ | ブーリアン | Trueに設定すると、トレーニング中にカラーエンハンスメントが実行される。これによりトレーニングデータの多様性を高めることができますが、トレーニングが遅くなる可能性があります。 | トレーニング時間は遅くなる。 |
フリップオーグ | ブーリアン | Trueに設定すると、トレーニング中にフリップエンハンスメントが実行される。これによりトレーニングデータの多様性を高めることができますが、トレーニングが遅くなる可能性があります。 | トレーニング時間は遅くなる。 |
ランダムクロップ | 真/偽 | トレーニング画像にランダムクロッピングを適用するかどうかを指定します。Trueに設定すると、モデルに入力する前に学習画像が指定したサイズにランダムに切り取られます。 | ランダムクロッピングを使用すると、学習データの多様性が高まるが、学習の計算コストが増加し、学習プロセスが遅くなる可能性がある。 |
ヴァエ | 真/偽 | モデルのバックボーンとして変分オートコーダー(VAE)を使用するかどうかを指定します。Trueに設定すると、モデルはVAEとして学習される。 | VAEを使用することで、より柔軟なデータ表現が可能になるが、トレーニングが難しくなり、微調整が必要になることもある。 |
no_meta | 真/偽 | メタデータ(カテゴリラベル、属性など)を学習プロセスから除外するかどうかを指定します。Trueに設定すると、モデルはトレーニング中にメタデータにアクセスできなくなります。 | メタデータを除外することで、学習プロセスを簡略化することができますが、メタデータによって提供される追加情報を活用できない、質の低いモデルになる可能性があります。 |
ログ・ディレクトリ | ストリング | トレーニングログファイルが保存されているディレクトリへのパス。 | そのディレクトリがすでに存在し、かつ空でない場合、トレーニングはそのディレクトリに保存されている以前のログを上書きする可能性があり、その結果データが失われる。 |
バケツ・ステップ | 整数 | 画像解像度のステップ数を増やす。画像解像度はmax_bucket_resolutionから始まり、各ステップの後に2倍ずつ増加する。 | この値を高く設定しすぎると、メモリエラーが発生し、各ステップで画像サイズが大きくなるため、トレーニング時間が長くなる可能性があります。この値を低く設定しすぎると、画質が低下することがあります。 |
バケット・ノー・アップスケール | ブーリアン | 画像の解像度を元のサイズより上げることを制限するかどうかを示す。 | Trueに設定すると、画像の解像度が元のサイズより大きくならないため、画質が低下する可能性があります。 |
v2 | 真か偽か | この設定は、モデル・アーキテクチャのバージョン2を使用するかどうかを指定する。 | 異なるバージョンのモデル・アーキテクチャを使用すると、生成される芸術の品質とパフォーマンスが変わる可能性があるため、与えられたタスクに最適なオプションを決定するために、実験と結果の比較が重要である。 |
v_パラメータ化 | spectral_norm"、"instance_norm"、または "batch_norm"。 | この設定は、学習中にモデルのパラメータがどのように正規化されるかを決定する。スペクトル正規化、インスタンス正規化、バッチ正規化は、オーバーフィッティングを防ぐための異なるアプローチであり、それぞれ計算コストと性能の点でトレードオフがあります。 | 誤った正規化方法を選択すると、モデルの性能に悪影響を及ぼす可能性があるため、さまざまなオプションを試して、与えられたタスクに最適な方法を決定することが重要である。 |
ChatGPTにすべてのLoRAパラメータを解釈させる
無断転載を禁じます:チーフAIシェアリングサークル " ChatGPTにすべてのLoRAパラメータを解釈させる