協調的な AI のための無料でオープンな分散プラットフォームである AI Horde へようこそ! AI Horde を使用すると、世界中の人々が GPU パワーを提供して画像やテキストなどを生成できるようになります。ローカル マシンでワーカーを実行すると、大群に対して独自のリクエストを行うときに優先権を与える称賛を獲得できます。
ワーカーは、テキスト プロンプトから画像を生成するなど、AI Horde からのジョブを処理するソフトウェアです。従業員が仕事を正常に完了すると、賞賛が与えられます。称賛が多ければ多いほど、あなた自身のリクエストはより速く処理されます。
ワーカーを実行すると称賛が得られるだけでなく、AI Horde エコシステムのサポートにも役立ち、アイドル サイクル中に GPU を稼働させることができます。カスタム アセットの生成を検討しているアーティストであっても、画像を大規模に処理する必要がある開発者であっても、AI の民主化に興奮している人であっても、Horde は何かを提供します。
まだ行っていない場合は、AI Horde にアクセスしてアカウントを登録し、API キーを安全な場所に保存します。 API キーをパスワードのように扱います。この手順の後半で必要になります。これにより、従業員はあなたのアカウントに対する称賛を集めることができます。
Windows 用の git をインストールしている場合は、次の手順を使用してください。
このオプションを使用すると、リポジトリを最新の状態に保つことがはるかに簡単になるため、お勧めします。
スタート メニューからpowershell
(ターミナルとも呼ばれます) またはcmd
を開きます。
cd
使用して、ワーカーをインストールするフォルダーに移動します。
現在いるフォルダーにhorde-worker-reGen
という名前のフォルダーが作成されることに注意してください。次のコマンドを実行する前は、このフォルダーが存在していない必要があります。
C:horde
にインストールする場合は、次のコマンドを実行します。
cd C:horde
horde
フォルダーが存在しない場合:
cd C:
mkdir horde
cd C:horde
cmd
使用していて、別のドライブにインストールしたい場合は、次のように/d
オプションを含めます。
cd /d G:horde
選択したフォルダー (上記の例を使用している場合はフォルダーhorde
) 内で次のコマンドを実行します。
git clone https://github.com/Haidra-Org/horde-worker-reGen.git
cd horde-worker-reGen
基本的な使用手順に進みます。
Windows 用の git がなく、インストールしたくない場合は、次の手順を使用してください。これらの指示により、ワーカーの更新が将来的に少し難しくなります。
これは git がインストールされていることを前提としています
bash ターミナルを開き、これらのコマンドを実行します (すべてをまとめてコピーして貼り付けるだけです)。
git clone https://github.com/Haidra-Org/horde-worker-reGen.git
cd horde-worker-reGen
基本的な使用手順に進みます。
現在、 AMD はサポートが優れていることがわかっていますが、 Linux マシンのみが対象です。Linux をマシンに直接インストールするのが最善です。 WSL のサポートは非常に実験的なものです。これで、必要に応じてhorde-bridge-rocm.sh
およびupdate-runtime-rocm.sh
を使用してこのガイドに従うことができます。
AMD カードを試してみたい場合は、公式 Discord の Discord ディスカッションに参加してください。
bridgeData_template.yaml
のコピーをbridgeData.yaml
に作成します。bridgeData.yaml
を編集し、その中の指示に従って詳細を入力します。 ワーカーの実行をスムーズに行うには、次の点に留意してください。
threads
2 以下に保ってください。queue_size
まで増加します。システム RAM が 32GB 未満の場合は、 queue_size
を 1 のままにしてください。RAM が 16GB 未満の場合は、追加の最適化が必要です (詳細は後述)。モデルは必要に応じてジャストインタイムでロードされます。 SSD、少なくとも 32 GB の RAM、および少なくとも 8 GB の VRAM があれば、必要な数のモデルを提供できます (「重要な注意事項」を参照)。現時点では HDD を使用するワーカーは推奨されませんが、HDD を使用するワーカーは 1 つのモデルを実行する必要があります。一般的な SD1.5 モデルはそれぞれ約 2GB ですが、一般的な SDXL モデルはそれぞれ約 7GB です。現在、 all
モデルの合計容量は約 700 GB ですが、今後の変更ではその数を 1 TB 以下に抑えることを約束します。
注: ワーカーの実行中は、システムの「スリープ」モードまたは電力削減モードを無効にすることをお勧めします。
24GB 以上の VRAM カード(4090、3090 など) をお持ちの場合:
- safety_on_gpu : true
- high_performance_mode : true
- post_process_job_overlap : true
- unload_models_from_vram_often : false
- max_threads : 1 # If you have Flux/Cascade loaded, otherwise 2 max
- queue_size : 2 # You can set to 3 if you have 64GB or more of RAM
- max_batch : 8 # or higher
12GB ~ 16GB カード(例: 3080 TI、4070、4080/4080 Super) をお持ちの場合:
- safety_on_gpu : true # Consider setting to `false` if offering Cascade or Flux
- moderate_performance_mode : true
- unload_models_from_vram_often : false
- max_threads : 1
- max_batch : 4 # or higher
8GB ~ 10GB の VRAM カード(1080、2080、3060、4060/4060 TI) をお持ちの場合:
- queue_size : 1 # max **or** only offer flux
- safety_on_gpu : false
- max_threads : 1
- max_power : 32 # no higher than 32
- max_batch : 4 # no higher than 4
- allow_post_processing : false # If offering SDXL or Flux, otherwise you may set to true
- allow_sdxl_controlnet : false
ローエンドのカードを使用しているか、他の理由でパフォーマンスが低いワーカー:
- extra_slow_worker: true
- limit_max_steps: true
- preload_timeout: 120
extra_slow_worker: true
であってもメンテナンス モードになる可能性があります。 AI Horde の従業員は継続的に改善されています。 Discord で進行状況を追跡し、そこで更新に関する通知を受け取ることができます。ワーカーの更新またはベータに関する通知の受信に興味がある場合は、#get-roles チャネルに移動して、適切なロールを取得してください。
以下の手順は、 horde-bridge
またはupdate-runtime
を参照しています。 OS に応じて、Windows の場合は.cmd
を、Linux の場合は.sh
追加します。
horde-bridge.cmd
とupdate-runtime.cmd
です。horde-bridge-rocm.sh
およびupdate-runtime-rocm.sh
を使用する必要があります。 Ctrl+C
1 回押してワーカーをシャットダウンし、ワーカーが停止するまで待ちます。
適切な方法を使用してこのリポジトリを更新します。
ファイル エクスプローラーから以下の提供されたスクリプト ファイルをダブルクリックするか、OS に応じてbash
やcmd
などのターミナルから実行できます。後者のオプションを使用すると、クラッシュが発生した場合にエラーを確認できるため、お勧めします。
git clone
使用して元のリポジトリのクローンを作成した場合は、このアプローチを使用します。
bash
、 cmd
、またはpowershell
ターミナルを開きます。git pull
実行する「ランタイムの更新」を参照してください。
git リポジトリを zip ファイルとしてダウンロードし、どこかに解凍した場合は、このアプローチを使用します。
horde_worker_regen/
ディレクトリを削除します。「ランタイムの更新」を参照してください。
警告: 特定のウイルス対策ソフト (アバストを含む) がインストールを妨害することが報告されています。このファイルの実行時にエラー「
curl: (35) schannel: next InitializeSecurityContext failed: CRYPT_E_NO_REVOCATION_CHECK
が表示された場合は、ウイルス対策ソフトウェアを無効にし、ファイルを再度実行して、ウイルス対策ソフトウェアを再度有効にします。
OS のupdate-runtime
スクリプトを実行します。これにより、必要に応じてすべての依存関係が更新されます。
以下の開始/停止の手順に進みます。
注: ワーカーは、システムと GPU を非常に集中的に使用するプログラムです。可能な限り、ビデオ ゲームをプレイしたり、その他の集中的なタスク (画像/ビデオ編集など) を実行しないでください。これらのアクティビティに参加したい場合は、ワーカーをオフにするか、限られた設定で小型モデルのみを使用するようにワーカーを構成し、システム モニターを注意深く監視してください。
初めてインストールする場合、または更新が必要な場合は、「更新」を参照して手順を確認してください。
horde-bridge
(Windows の場合は .cmd、Linux の場合は .sh) を実行します。
horde-bridge-rocm
バージョンを使用します。Ctrl+C
同時に押します。ワーカーの実行中、ターミナルでその進行状況を直接監視できます。ジョブの正常な完了、獲得した賞賛、パフォーマンス統計、およびエラーを示すログを探します。
さらに詳細な監視については、毎日のログ ファイルが含まれるlogs
ディレクトリを確認してください。
bridge*.log
ファイルに表示されます。bridge.log
、ポップアップで表示されるメイン ウィンドウです。bridge_n.log
、メイン ログ ファイルに表示される各プロセスに対応します。 「プロセス 1」は、 bridge_1.log
になります。trace*.log
ファイルに表示されます。trace.log
、ポップアップで表示されるメイン ウィンドウです。trace_n.log
メイン ログ ファイルに表示される各プロセスに対応します。 「プロセス 1」は、 trace_1.log
になります。将来的には、複数のワーカー インスタンスを実行する必要はなくなります。
複数の GPU を使用するには、それぞれが独自のインスタンスを起動する必要があります。 Linux の場合は、実行を特定のカードに制限するだけです。
CUDA_VISIBLE_DEVICES=0 ./horde-bridge.sh -n " My awesome instance #1 "
CUDA_VISIBLE_DEVICES=1 ./horde-bridge.sh -n " My awesome instance #2 "
等
設定によっては、非常に大量の (32 ~ 64 GB+) システム RAM が必要になることに注意してください。 queue_size
とmax_threads
ワーカーごとに必要な RAM の量が大幅に増加します。
モデル リファレンスでは利用できない独自の画像モデルを大群でホストできますが、このプロセスは少し複雑です。
まず、Horde チームにcustomizer
役割を手動でリクエストする必要があります。 discordチャンネルでリクエストできます。これは、この機能の悪用を防ぐために手動で割り当てられた役割です。
カスタマイザーの役割を取得したら、次のようにします。
ホストするモデル ファイルをダウンロードします。これらをシステム上の任意の場所に配置します。
従業員にその場所を指示し、従業員に関する情報を提供します。 bridgeData.yaml
に、次のような行を追加します。
custom_models :
- name : Movable figure model XL
baseline : stable_diffusion_xl
filepath : /home/db0/projects/CUSTOM_MODELS/PVCStyleModelMovable_beta25Realistic.safetensors
同じ「名前」をmodels_to_load
に追加します。
すべてが正しく設定されていれば、ワーカーの起動後にワーカー ディレクトリにcustom_models.json
表示され、ワーカーによってモデルが提供されるはずです。
ご了承ください:
clip_skip
などの間違ったパラメータを使用している人々に警告することはできませんDocker イメージは https://hub.docker.com/r/tazlin/horde-worker-regen/tags で見つけることができます。
サポートされている Docker 機能の詳細なガイドについては、Dockerfiles/README.md を参照してください。
ワーカーの手動実行の詳細については、README_advanced.md も参照してください。
最新情報とトラブルシューティングのヘルプについては、Discord の #local-workers チャンネルをチェックしてください。コミュニティはいつでも喜んで手を貸してくれます。
いくつかの一般的な問題とその解決策:
max_power
を減らします。allow_post_processing
、 allow_controlnet
、 allow_sdxl_controlnet
、および/またはallow_lora
無効にします。max_threads
、 max_batch
、またはqueue_size
(優先順位で) 減らして、VRAM/RAM の使用量を減らします。ワーカーがアクティブな間は、他の負荷の高いプログラムを実行しないでください。バグが発生した場合、または機能リクエストがある場合は、リポジトリで問題を開いてください。皆様のご貢献に感謝いたします。
このプロジェクトの多くのモデルは CreativeML OpenRAIL ライセンスを使用します。ここでライセンスの全文をお読みください。