最終更新:ID:+C/OtyDDRA 2024年07月18日(木) 16:46:26履歴
画像生成速度には、CUDA使用率が大きく影響する。
アスカベンチで同じグラボの他人の結果より明らかに遅い場合、なんらかの原因でCUDAがフルに使われていない可能性もある。
(これを確認する場合、Win11なら、GPUスケジューリングをオフにしてタスクマネージャーで項目をクリックしてCudaに切り替えるのが簡単)
このページにある対策を行ってもアスカベンチで期待したパフォーマンスが出ない、という場合でも、高解像度やHires fixした場合は512x512単体生成よりもCUDAがフルに使われやすい傾向があるので、
もしそっちでCUDA使用率が100%近くなってて、そういう生成方法がメインだという場合は、アスカベンチで劣っていても気にしなくていい可能性もある。
ちなみに、速度が速いほどCPUのシングル性能の影響が大きくなる。旧世代CPUを使っているなら最新世代のCPUに買い替えるのもあり。
アスカベンチで同じグラボの他人の結果より明らかに遅い場合、なんらかの原因でCUDAがフルに使われていない可能性もある。
(これを確認する場合、Win11なら、GPUスケジューリングをオフにしてタスクマネージャーで項目をクリックしてCudaに切り替えるのが簡単)
このページにある対策を行ってもアスカベンチで期待したパフォーマンスが出ない、という場合でも、高解像度やHires fixした場合は512x512単体生成よりもCUDAがフルに使われやすい傾向があるので、
もしそっちでCUDA使用率が100%近くなってて、そういう生成方法がメインだという場合は、アスカベンチで劣っていても気にしなくていい可能性もある。
ちなみに、速度が速いほどCPUのシングル性能の影響が大きくなる。旧世代CPUを使っているなら最新世代のCPUに買い替えるのもあり。
Meta Researchが開発した最適化ライブラリ。高速化とVRAM消費減少効果がある。
インストールは1111の標準機能で簡単にできる。
このオプションをつけるとわずかに出力内容が変化し、常に同じ結果にならない。
とはいえ体感できるか難しいほど小さい変化のため気にする必要はない。
変化の検証ページ作ったので記録はこちらへ
→「xformersの検証」
インストールは1111の標準機能で簡単にできる。
このオプションをつけるとわずかに出力内容が変化し、常に同じ結果にならない。
とはいえ体感できるか難しいほど小さい変化のため気にする必要はない。
変化の検証ページ作ったので記録はこちらへ
→「xformersの検証」
初めて導入する場合
古い環境から更新する場合
Torchバージョンが1111のデフォルトではない場合
ここで対応するTorchバージョンを確認してから、「pip install xformers==x.x.x」でインストールする。
set COMMANDLINE_ARGS= --xformers
古い環境から更新する場合
set COMMANDLINE_ARGS= --reinstall-torch --reinstall-xformersvenvを削除してからWebUIを起動する手もあり
Torchバージョンが1111のデフォルトではない場合
ここで対応するTorchバージョンを確認してから、「pip install xformers==x.x.x」でインストールする。
pip install --pre -U xformersでコンパイル無しで導入できるようになった。
なお、対応するTorchバージョンが入っている必要がある。
アスカテストのtime taken --xformers --opt-sdp-attention 18.50 --xformers 20.30 --opt-sdp-attention 18.47 --opt-sdp-no-mem-attention 18.40 --xformers --opt-sdp-no-mem-attention 18.60 両方指定の場合はsdpが有効になってる雰囲気です
これはつけるだけ。
--xformers や --opt-sdp-no-mem-attention と併用できる。環境によっては効果が無かったり逆に遅くなったりするらしいので比較検討しましょう。
VRAM消費を減らす効果がある。速度も向上するかも。
やり方はこちら
公式wikiにも記載がある
redditによれば速度が30%くらいかわることがあるとかないとか
副作用としてDLSS3のフレーム生成が使えなくなる?
やり方はこちら
公式wikiにも記載がある
redditによれば速度が30%くらいかわることがあるとかないとか
副作用としてDLSS3のフレーム生成が使えなくなる?
しばらく使わないときは Dreambooth Extension を削除する(もう使ってない?)
起動時間が劇的に変わる
Extensionにはinstall.pyが同梱されていて毎回起動するので、
不要なExtensionが沢山入ってるなら消すだけでだいぶ速くなるはず。
UIからオフにするだけではダメ
フォルダごと別の場所に退避させとくとか、いっそバッサリ消すとか
起動時間が劇的に変わる
Extensionにはinstall.pyが同梱されていて毎回起動するので、
不要なExtensionが沢山入ってるなら消すだけでだいぶ速くなるはず。
UIからオフにするだけではダメ
フォルダごと別の場所に退避させとくとか、いっそバッサリ消すとか
出来るだけ少ないStepsでも期待通りの絵が出る方法を模索する。
末尾にa(ancestral)がつかないサンプラーで再現できないか試す。
DPM++ 2Mは15Stepsでもそれなりに映えるのでおすすめ。
UniPCはもっと良い感じ。実際はそうでもない。
SchedulerにSimpleを使うとさらに良くなる。
LCM、TurboやHyper-SDはさらに速い。出力を大きく変化させる代わりに10steps未満でまともな絵がでる。
末尾にa(ancestral)がつかないサンプラーで再現できないか試す。
DPM++ 2Mは15Stepsでもそれなりに映えるのでおすすめ。
SchedulerにSimpleを使うとさらに良くなる。
LCM、TurboやHyper-SDはさらに速い。出力を大きく変化させる代わりに10steps未満でまともな絵がでる。
モデルのロード時間を短縮するために、あらかじめRAMに読みこんでおくことが出来る。
Settings - Stable Diffusion
- Checkpoints to cache in RAM
- VAE Checkpoints to cache in RAM
SuperMergeでもモデル3つのトリプルマージまでRamで高速化できるようになった。
詳しくは ローカルのExtensions の SuperMerger を参照。
新しい機能などのために RamDisk が使いたくなったら ImDisk Toolkit が使いやすい。
https://sourceforge.net/projects/imdisk-toolkit/
1111 全部 RamDisk に突っ込んで高速化するのは、必要RAMのわりに恩恵がほとんど無いからおすすめしない。
以前はLinuxにするだけで1〜2割速くなると言われていたが、ドライバやTorchの最適化が進んで速度やメモリ消費の差が小さくなった。
どっちが速いか比較検討してみるのが良さそう。
Windows上の仮想化ではなく実際にインストールする。
Ubuntu24.04 LTS、Python 3.11.9、Torch2.3.1での環境では、推論は2〜4%、学習は10%高速化した。VRAM消費は特筆すべき変化はなかった。
またmevram有効時の1111のメモリ消費が激減し、生成開始と終了のもたつきが軽減し、ReForgeとほぼ同じ速度を出せるようになった。いいぞこれ
あと1111やsd-scriptsなどでcheckpoint読み込み中のメモリ消費が跳ね上がる現象がない。
Windowsが入っていない空っぽのSSDに入れるか、サブ機とかお古になったら検討してもいいかも
なお各種ライブラリ等のインストールは原則コマンド打ってやるし、途中でUbuntuのGUI(gdm3)が壊れてリカバリーモードでgdm3を再インストールしたりとかなり面倒
Ubuntu24.04 LTS、Python 3.11.9、Torch2.3.1での環境では、推論は2〜4%、学習は10%高速化した。VRAM消費は特筆すべき変化はなかった。
またmevram有効時の1111のメモリ消費が激減し、生成開始と終了のもたつきが軽減し、ReForgeとほぼ同じ速度を出せるようになった。いいぞこれ
あと1111やsd-scriptsなどでcheckpoint読み込み中のメモリ消費が跳ね上がる現象がない。
Windowsが入っていない空っぽのSSDに入れるか、サブ機とかお古になったら検討してもいいかも
なお各種ライブラリ等のインストールは原則コマンド打ってやるし、途中でUbuntuのGUI(gdm3)が壊れてリカバリーモードでgdm3を再インストールしたりとかなり面倒
https://github.com/NVIDIA/Stable-Diffusion-WebUI-T...
最適化で大幅に高速化するもので最大2倍速くなるらしい。NVIDIA専用。
1111のExtensionから導入できる。
けど以下の重大な欠点があるのでベンチ以外で使い道はないかな
最適化で大幅に高速化するもので最大2倍速くなるらしい。NVIDIA専用。
1111のExtensionから導入できる。
けど以下の重大な欠点があるのでベンチ以外で使い道はないかな
- あらかじめ設定した解像度のみ使用可能
- TensorRTモデル変換に時間がかかるしVRAM消費が激しい(しかもOOMになるとWebUI本体がフリーズ)
- LoRAはTensorRT変換で埋め込んで使えるが1つしか使えない
- ControlNetのようなU-netに干渉するものは一切使えない
- Extensionのインストールが不安定で失敗しやすい
Windows再インストール並みの最終手段。
最新の1111に必要なものしか入らなくなるので軽くなる、かも。
Extension試しまくってると肥大化するので月イチくらいでやるといいかも。
最新の1111に必要なものしか入らなくなるので軽くなる、かも。
Extension試しまくってると肥大化するので月イチくらいでやるといいかも。
1111のWebUIを速くする方法でこれを書くのは本末転倒だが、ほかのUIを使う手もある。
AUTOMATIC1111のWebUIは最近になって速度が改善されたが、Windows版のメモリ消費の多さは変わっていない。Forgeのほうが速くて省VRAM、ComfyUIは速くて省メモリで省VRAM。
AUTOMATIC1111のWebUIは最近になって速度が改善されたが、Windows版のメモリ消費の多さは変わっていない。Forgeのほうが速くて省VRAM、ComfyUIは速くて省メモリで省VRAM。
タグ
このページへのコメント
TensorRTは拡張機能で運用が楽になったのでおすすめ
アスカベンチ基準で1.6倍程度早くなる
--opt-channelslastで使う
5u34v576.7zだけど
人によっては使わない方が良いかもしれない
ここのところ何回か環境構築してるけど
うちで3060でだと、入れないで
オプションにxformersとopt-channelslastと言う形で
Hello Asuka Benchmarkで40.03sと言う数字が出た
5u34v576.7zの中身を入れると43s台後半という酷い数字に