AI Toolkit

Ostris によって開発された究極の拡散モデル微調整トレーニングツールキット。

4.5k Stars 60 Watching 100 Issues 26 Pull Requests 505 Forks

インストールガイド

システム要件:Python 3.10+、Nvidia GPU(最低8GB VRAMを推奨)、Python仮想環境、Git。

Linux インストール手順

git clone https://github.com/ostris/ai-toolkit.git
cd ai-toolkit
git submodule update --init --recursive
python3 -m venv venv
source venv/bin/activate
# install torch first
pip3 install --no-cache-dir torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu126
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
.\\venv\\Scripts\\activate
pip install --no-cache-dir torch==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu126
pip install -r requirements.txt

AI Toolkit Web UI(ウェブインターフェース)

直感的なウェブインターフェースを提供し、複雑なコマンドを書かずにAIモデルのトレーニングタスクを簡単に起動、監視、管理できます。

環境要件

  • Node.js 18+(最新のLTSバージョンを推奨)
  • インストール済みのAI Toolkitメインプログラム

ウェブインターフェースの起動

cd ui
npm run build_and_start

起動後、http://localhost:8675 にアクセスして全機能を利用できます

セキュリティ設定(オプション)

環境変数 AI_TOOLKIT_AUTH を設定することで、パスワード保護を追加し、不正アクセスを防止できます。

Gradio トレーニングインターフェース

より簡単なGradioグラフィカルインターフェースを提供し、初心者がモデルトレーニング、データ処理、LoRA公開を素早く始められます。

主な機能

  • ワンクリックでトレーニングデータのアップロードと管理
  • 自動アノテーションとデータ前処理
  • 簡略化されたトレーニングパラメータ設定
  • Hugging Faceへの直接公開
# ai-toolkit インストール後
cd ai-toolkit
huggingface-cli login # HFにログイン
python flux_train_ui.py

FLUX.1 モデルトレーニングガイド

最新のFLUX.1拡散モデルトレーニングをサポートし、業界トップレベルの画像生成品質を提供します。ハードウェア要件:少なくとも24GB VRAMのNVIDIA GPU。

FLUX.1-dev バージョン

  • 非商用ライセンスモード、個人利用のみ。
  • Hugging Faceの認証アクセスと有効なトークンが必要。
  • 最高品質の生成結果を提供し、プロフェッショナルな作品に適しています。
  • より多くの高度なトレーニング機能とパラメータ調整をサポート。

FLUX.1-schnell バージョン

  • Apache 2.0オープンソースライセンス、商用プロジェクトに使用可能。
  • Hugging Faceトークン不要、すぐに使用可能。
  • トレーニング最適化のために特定のアダプターとの組み合わせが必要。
  • トレーニング速度が速く、リソース要件が低い。

トレーニングプロセスガイド

  1. サンプル設定ファイル(config/examples/)から始め、必要に応じてパラメータを修正します。
  2. 高品質のトレーニングデータセットを準備し、各コンセプトに少なくとも20枚の画像を推奨します。
  3. トレーニングコマンドを実行:python run.py config/your_config_name.yml
  4. トレーニング中にリアルタイムで生成サンプルを確認し、モデルの効果を評価できます。
  5. 完了したモデルファイルは指定した出力ディレクトリに保存されます。

高度なヒント:学習率、トレーニングステップ数、バッチサイズの調整はトレーニング結果に大きく影響します。ベストプラクティスについては公式ドキュメントを参照してください。

データセット準備ガイド

高品質のトレーニングデータは、モデルを成功させるための鍵です。AI Toolkitは複数のデータ形式をサポートしています:

  • サポートされる画像形式:JPG、JPEG、PNG(ロスレスPNGを推奨)
  • 各画像には説明ラベルとして同名の.txtテキストファイルが必要
  • テキストファイルには詳細な画像説明を含める必要があり、より正確であるほど良い
  • トリガーワードの自動置換と標準化をサポート
  • 内蔵のスマートクロップとリサイズ機能により、手動での画像前処理が不要
  • データ拡張とランダム変換によるトレーニングサンプルの多様性向上

データセットのベストプラクティス

  • 各コンセプトには20〜50枚の高品質画像を推奨
  • より良いトレーニング効果を得るために画像スタイルの一貫性を保つ
  • 一貫したトリガーワードを使用することで、モデルの特定コンセプト認識能力を向上
  • トレーニングセットに多すぎる異なるスタイルやテーマを混ぜることを避ける

クラウドトレーニングプラットフォームサポート

AI Toolkitは、高性能GPUを持たないユーザーや大規模トレーニングが必要なプロジェクト向けに、複数のクラウドトレーニングオプションを提供します。

RunPod クラウドトレーニング

完全なRunPodテンプレートとデプロイスクリプトを提供し、ワンクリックデプロイをサポート:

  • 事前設定されたDockerコンテナ、複雑な設定不要
  • A100、H100などの高性能GPUをサポート
  • 自動データ同期とモデル保存
  • 時間単位の課金で経済的

Modal クラウドサービス

Modalプラットフォームのサーバーレストレーニングソリューションを提供:

  • ゼロインフラ管理、完全自動スケーリング
  • 従量課金制、トレーニング時のみ課金
  • チームコラボレーションとバージョン管理をサポート
  • 内蔵データキャッシュとモデルストレージ

クラウドトレーニングは大規模モデルや長時間トレーニングに最適です。詳細な設定については公式ドキュメントを参照してください。

高度なトレーニング技術と最適化

LoRA レイヤー精密トレーニング

AI Toolkitは精密なレイヤー制御を提供し、特定のネットワークレイヤーに対して最適化トレーニングを行うことができます:

network:
  type: "lora"
  # ... other params
  network_kwargs:
    only_if_contains: ["layer_name_suffix"]
    # or
    ignore_if_contains: ["layer_name_suffix"]

トレーニングレイヤーを精密に制御することで、顔の詳細、テクスチャ、特定のスタイルなど、特定タイプのコンテンツの生成品質を大幅に向上させることができます。

LoKr 高度トレーニング手法

LoKr(Low-Rank Kronecker product)トレーニング手法をサポートし、より効率的なパラメータ利用率を提供:

network:
  type: "lokr"
  lokr_full_rank: true
  lokr_factor: 8
  # ... other params

LoKr技術は、より少ないパラメータ量でより良いトレーニング効果を実現でき、特に複雑なスタイルや詳細が豊富なコンセプトに適しています。

混合精度トレーニング

混合精度トレーニングをサポートし、モデル品質を維持しながらVRAM要件を大幅に削減:

  • 最適な精度設定(FP16/BF16)を自動選択
  • 勾配累積をサポートし、より大きな有効バッチサイズを実現
  • 最適化されたメモリ管理により、トレーニング中のOOMエラーを削減
  • 勾配チェックポイント技術をサポートし、メモリ要件をさらに削減

より高度なトレーニング技術と最適化方法については、高度なトレーニングドキュメントを参照してください。

より詳細な使用ガイドが必要な場合や問題が発生した場合は、AI Toolkit GitHub 公式リポジトリにアクセスするか、Discordコミュニティに参加してサポートを受けてください。