目次
序文
SD-Trainer: Lora トレーニングを実行するための安定拡散用の WebUI です。SD-Trainer を使用すると、数枚の写真だけが必要で、誰でも簡単かつ迅速に独自の安定拡散モデルをトレーニングでき、自分の好みに応じて写真を提示できます。アイデア。1. SD-Trainer WebUIの紹介
- SD-Trainer : Lora トレーニングを実行するための安定拡散用の WebUI です。SD-Trainer を使用すると、数枚の写真だけが必要で、誰でも簡単かつ迅速に独自の安定拡散モデルをトレーニングでき、あなたの好みに応じて写真を提示できます。アイデア。
- LoRA : 英語の正式名は Low-Rank Adaptation of Large Language Models で、「大規模言語モデルの大ランク適応アルゴリズム」を意味します。これは大規模な言語モデルを最適化するためのアルゴリズムであり、トレーニング中にモデルに対して低ランク分解と適応最適化を実行することで、言語モデルの効果とパフォーマンスを大幅に向上させることができます。これは、大規模な言語モデルの微調整を解決するために Microsoft の研究者によって開発された手法です。
2. 準備
2-1. オンライントレーニングプラットフォームにログインする
適切なトレーニング プラットフォームを選択します: プラットフォームを選択していない場合は、Lanrui Xingzhou プラットフォームをお勧めします。次の手順では、Lanrui Xingzhouの操作を例に説明します。
2-2. コンピューティングパワーを購入し、ワークスペースを作成する
- 新規ユーザーは 2 時間の無料コンピューティング能力を利用できます。3090 を選択してください
- プラットフォームによって提供されるイメージ、つまりパブリック image-others-sd-trainer-1.1.0 を選択します。
- その他のデフォルト
2-3. ワークスペースを起動する
- 「開始」をクリックし、数分待つと入力できるようになります。
- ネットワークの問題が発生した場合は、ネットワークをデバッグした後に再起動することを選択することをお勧めします (料金は差し引かれません)。
- 個人の習慣に従って適切な IDE を選択してください。ここでは vs code を使用することを選択します。
3. トレーニングを開始する
3-1. ターミナルを開く
- ページを開いたら、「ターミナル」-「新しいターミナル」をクリックしてターミナルを起動します。
3-2. 教師データの準備
トレーニング データ: 要件は、トレーニングする複数の写真とその説明です。ここでは、huggingface の公開データセット、かわいい犬の 4 枚の写真を選択します: https://huggingface.co/datasets/diffusers/dog-example/tree/main、親ディレクトリを開いて、他の写真ポートフォリオを見つけることもできます。
注: 各画像について 1 行のテキスト説明を作成し、txt またはキャプション ファイルに保存します。画像はテキストファイルに相当します。説明テキストの名前は画像の名前と一致している必要があります。たとえば、1.jpg の説明テキストは 1.caption または 1.txt です。
図に示すように:
新しいフォルダーを作成します (画像とその説明テキストを入れます)。
mkdir -p /ark-contexts/data/sd_train_dataset/img /ark-contexts/data/sd_train_dataset/log /ark-contexts/data/sd_train_dataset/model
img ディレクトリの下に新しいファイルを作成します。xx はトレーニング ステップの数を表す数字、XXXXX はカスタム名で、この例では 10_item に設定され、画像と説明テキストをこのフォルダーに置きます。
cd /ark-contexts/data/sd_train_dataset/img
mkdir 10_item
用意した学習データを上記フォルダに置きます。最終的なトレーニング データ フォルダー構造を次のように確認します。
3-3. モデルファイルの準備
3-3-1. モデル
ここでは 2 つのモデルを準備する必要があります (最初に以下のダウンロード方法を参照してください)。
-
Clip-vit-large-patch14
ダウンロードする必要がある最初のモデル Clip-vit-large-patch14 は、https://huggingface.co/openai/clip-vit-large-patch14からモデル ファイルをダウンロードする必要があるということです。これを /ark-contexts/data/huggingface/hub/models–openai–clip-vit-large-patch14/snapshots/8d052a0f05efbaefbc9e8786ba291cfdf93e5bff フォルダーの下にアップロードします。
最終的なフォルダー構造は次のとおりです。
-
steady-diffusion-v1-5
ダウンロードする必要がある 2 番目のモデルは、stable-diffusion-v1-5 です。https: //huggingface.co/runwayml/stable-diffusion-v1-5からモデルをダウンロードする必要があります。
3-3-2. ダウンロード方法(以下の2つの方法のどちらかを選択してください)
1. コマンドを使用して直接ダウンロードします (例として、clip-vit-large-patch14 を使用します)。
# 打开上图中的clone repository后,有如下命令
git lfs install
# 先安装好lfs,后边如果这一句报错可能是没有+sudo。
git clone https://huggingface.co/openai/clip-vit-large-patch14
注: ここには lfs はありません。自分でインストールする必要があります。
- lscpu コマンドを使用してアーキテクチャを表示します。
- 対応するバージョンhttps://github.com/git-lfs/git-lfs/releasesをダウンロードし、プルダウンして対応するバージョンを見つけます。
- インストール パッケージをダウンロードした後、サーバーにアップロードして解凍します (小さいファイルは直接ドラッグしてアップロードできますが、大きいファイルは lfs のインストール後にインストールする必要があります)。
tar -zxvf git-lfs-linux-amd64-v2.9.0.tar.gz
- 解凍後、フォルダーを開き、以下のコマンドでインストールファイルを実行します。
sudo ./install.sh
2. ネットワーク ディスクを使用してローカルにアップロードします (大きなファイルのアップロードの場合)
公式ドキュメントを参照してください: https://paritybit-us.gitbook.io/lan-rui-xing-zhou/yong-hu-shou-ce/zui-jia-shi-jian/shang-chuan-wang-pan- de- ここでは xiao-miao-zhaoであることに注意してください。ポート番号を 443 に変更することを忘れないでください。
3-4. SD-Trainerの起動
cd /app/lora-scripts
sudo sh run_gui.sh --host 0.0.0.0 --port 27777 --tensorboard-host 0.0.0.0
正常に実行したら、ワークスペース内のデバッグ アドレスをコピーし、ブラウザーにアドレスを貼り付けて、トレーニング インターフェイスにジャンプする必要があります。
3-5. トレーニングを開始する
トレーニング インターフェイスは次のとおりです。初心者モードまたはエキスパート モードを選択でき、初心者モードでは公開されるパラメータが少なくなります。この例ではエキスパート モードを使用します。変更する必要があるパラメータは次のとおりです。
-
底部モールド パス: ダウンロードしたばかりのモデル stack-diffusion-v1-5 内のファイル v1-5-pruned.ckpt が使用されます。ここでのパスは /ark-contexts/data/sd_train_dataset/v1-5-pruned.ckpt です。
-
train_data_dir: トレーニング データ セットへのパスが使用されます。ここでのパスは /ark-contexts/data/sd_train_dataset/img です。
-
モデル保存名 (オプション): モデル名を変更します。
-
モデル保存パス (オプション): モデル保存パスを変更します。
他の構成は自分で選択できます。構成が完了したら、クリックしてトレーニングを開始できます。前のターミナルでモデルのトレーニング結果を監視できます。
トレーニング中に発生する可能性のある問題: -
フォルダ内にモデルがありません: 設定したフォルダ内に対応するモデルがあるか確認してください
-
モデルは完全にダウンロードされていません: lfs がインストールされていないことが原因である可能性があります。Git LFS (Large File Storage) - Git ソース コード管理システムの拡張機能であり、大きなバイナリ ファイルのバージョン管理を処理できます。大きなファイルを転送する場合、最初に lfs をインストールする必要があります。
図に示すように、これは学習済みのモデルであり、モデルはカレント ディレクトリの ./output/aki.safetensors に保存されます。
まとめ: 投げる時間は思ったより長いですが、自分で環境全体をデプロイするのに比べれば、クラウド トレーニングはまだおいしいです。手を練習したい場合は、最初に 2 時間の羊毛登録リンクを試してみてください。
参考記事:
Linux インストール git lfs
git-
lfssteady-diffusion-v1-5
リファレンス B station Up