はじめに
AI Toolkit by Ostrisは、Stable DiffusionとFLUX.1モデルの学習と画像生成タスクのサポートに特化したオープンソースのAIツールセットです。開発者のOstrisによって作成・保守され、GitHubでホストされているこのツールキットは、研究者や開発者がモデルの微調整や実験を行うための柔軟なプラットフォームを提供することを目的としています。LoRA抽出、バッチ画像生成、レイヤー別トレーニングなどの機能をサポートする様々なAIスクリプトが含まれている。このプロジェクトは現在開発段階にあり、一部の機能は十分に安定していない可能性があるが、カスタマイズ性が高いため、ディープラーニング分野の上級ユーザーに適している。ツールセットはLinuxとWindowsシステムをサポートしており、FLUX.1モデル学習を実行するには、少なくとも24GBのビデオメモリを搭載したNvidia GPUが必要である。
機能一覧
- モデルトレーニング:: LoRAとLoKrモデルをトレーニングするためのStable DiffusionとFLUX.1モデルの微調整をサポート。
- 画像生成プロファイルやテキストプロンプトに基づいて画像を一括生成します。
- LoRAの抽出と最適化モデルの特徴抽出を最適化するLoRAとLoCON抽出ツールを提供。
- レイヤー別トレーニング特定のニューラルネットワークのレイヤーを選択し、柔軟に重みを調整することができます。
- ユーザーインターフェースのサポートAIツールキットUIとGradio UIを提供し、タスク管理とモデルトレーニング操作を簡素化。
- データセット処理画像の解像度を自動的に調整し、バケツごとに画像をグループ化します。
- クラウドトレーニングRunPodとModalプラットフォームでのトレーニングタスクの実行をサポート。
ヘルプの使用
設置プロセス
Linuxシステムのインストール
- クローン倉庫ターミナルで以下のコマンドを実行し、コードをダウンロードする:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
- サブモジュールの更新依存するライブラリがすべて揃っていることを確認する:
git submodule update --init --recursive
- 仮想環境の構築Python 3.10以降を使用してください:
python3 -m venv venv
ソース venv/bin/activate
- 依存関係のインストール最初にPyTorchをインストールし、次に他の依存関係をインストールします:
pip3 torchをインストール
pip3 install -r requirements.txt
Windowsシステムのインストール
- クローン倉庫コマンドプロンプトで実行:
git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
- サブモジュールの更新:
git submodule update --init --recursive
- 仮想環境の構築:
python -m venv venv
.\activateする
- 依存関係のインストールCUDA 12.4をサポートするバージョンのPyTorchをインストールし、その他の依存関係をインストールします:
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu124
pip install -r requirements.txt
UIインターフェイスのインストール
- Node.jsのインストールNode.js 18以降がインストールされていることを確認してください。
- UIの構築ui ディレクトリに入り、依存関係をインストールする:
cd ui
npm install
npm run build
npm run update_db
- UIの実行起動画面:
npm run start
- UIへのアクセスブラウザで入力
http://localhost:8675
.
主な機能
FLUX.1モデルのトレーニング
- 環境を整えるディスプレイ出力に使用する場合は、コンフィギュレーションファイルで設定してください。
low_vram: true
CPU上のモデルを定量化する。 - FLUX.1-devの設定:
- ハギング・フェイスにログインBLACK-forest-labs/FLUX.1-devそしてライセンスを受け入れる。
- プロジェクトのルート・ディレクトリに
環境
ファイルにHF_TOKEN=あなたの読み取りキー
.
- FLUX.1の設定:
- 設定ファイルを編集する(例えば
train_lora_flux_schnell_24gb.yaml
)を加える:モデルです。 name_or_path: "black-forest-labs/FLUX.1-schnell" assistant_lora_path: "ostris/FLUX.1-schnell-training-adapter" is_flux: true 量子化: true サンプル guidance_scale: 1 サンプルステップ: 4
- データセットの準備ルートディレクトリに作成
データセット
フォルダを.jpg
そしてJPEG
もしかしたら.png
画像と対応する.txt
ファイルを記述する。 - 設定ファイルの編集リプロダクション
config/examples/train_lora_flux_24gb.yaml
までコンフィグ
ディレクトリの名前をmy_config.yml
修正フォルダパス
はデータセットのパスである。 - ランニング・トレーニング:: 実装:
python run.py config/my_config.yml
トレーニング結果は指定された出力フォルダに保存され、Ctrl+Cで一時停止し、最も近いチェックポイントから再開することができます。
Gradio UIを使ったトレーニング
- ハギング・フェイスにログインランニング
huggingface-cli ログイン
インプットには書く
特権の鍵 - ローンチUI:: 実装:
python flux_train_ui.py
- オペレーションUI画像をアップロードし、説明を記入し、パラメータを設定して、インターフェイスでトレーニングをクリックします。
クラウドでのトレーニング(RunPod)
- RunPodインスタンスの作成テンプレートの使用
runpod/pytorch:2.2.0-py3.10-cuda12.1.1-devel-ubuntu22.04
A40(ビデオメモリ48GB)を選択。 - インストレーション・ツールセットJupyter Notebookに接続し、ターミナルでLinux installコマンドを実行する。
- データセットのアップロードルートディレクトリに作成
データセット
フォルダに画像と説明ファイルをドラッグします。 - 設定と実行の設定ファイルを修正する。
フォルダパス
実施python run.py config/my_config.yml
.
データセットの準備
- フォーマット要件サポート
.jpg
そしてJPEG
そして.png
フォーマットでは、説明ファイルは.txt
ファイル名は統一する必要がある(例えばimage1.jpg
カウンターパーツimage1.txt
). - 説明:
.txt
に記述する。[トリガー]
プレースホルダーは、設定ファイルのトリガー・ワード
交換。 - 自動調整ズームはサポートされていません。
レイヤー別トレーニング
- 設定ファイルの編集で
ネットワーク
一部追加:
ネットワーク
タイプ:"lora"
リニア: 128
linear_alpha: 128
network_kwargs.
only_if_contains.
- "変流器.single_transformer_blocks.7.proj_out"
- "transformer.single_transformer_blocks.20.proj_out"
- ランニング・トレーニング指定されたレイヤーのみをトレーニングする。
ほら
- トレーニングの中断チェックポイントの保存中にCtrl+Cを押すのは、ファイルの破損を防ぐために避けてください。
- UIセキュリティUIは現在Linux上でのみテストされているが、安全性が低く、パブリック・ネットワークに公開することは推奨されない。
- ヘルプを得るオストリスの Discord コミュニティに参加すれば、開発者に直接プライベートメッセージを送らずに済みます。