Nvidia以外のグラボに関して

Last-modified: 2024-04-25 (木) 11:01:02

このページについて

当wikiではNVIDIAのグラボ(GeForce等)推奨ですが、それ以外のグラボ(AMD Radeon、Intel Arc等)で試したい方向けへのページです。
そのようなグラボを購入検討中の方は以下のリンクを見て確実にできそうであれば購入しましょう。

RadeonAUTOMATIC1111 stable-diffusion-webui

Radeonでもstable-diffusion-webuiが使えちまうんだ! (執筆日: 2023/2/18)
公式のインストールガイドはここ
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-AMD-GPUs

Windows

DirectMLを使うフォーク版、テスト中らしい
現状では生成速度はすこぶる遅い。RX7900XTXですらRTX3050より遅い
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-AMD-GPUs#windows
https://github.com/lshqqytiger/stable-diffusion-webui-directml

インストールするんだな!

基本の流れはローカル版導入と同じなのでそちらを参照
『4. AUTOMATIC1111Stable Diffusion web UIをインストールする』でコマンドプロンプトを開いた画面まで進めて

git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml && cd stable-diffusion-webui-directml && git submodule init && git submodule update

と入力するかコピペしてEnter。

VRAMが6GB程度の環境ではwebui-user.batのCOMMANDLINE_ARGSに --opt-sub-quad-attention --lowvram --disable-nan-check オプションを付けたほうが無難
RX6000などの最近のアーキテクチャ以外は --precision full --no-half をつけないとエラーが発生するので注意

Linux

ROCmを使って動かすやつDirectMLを使うものより高速に動く(はず)
公式のインストールガイドはここ
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-AMD-GPUs#running-natively
ネイティブに動かす方法とDocker上で動かす方法があるよ

簡単に説明しろや!(Ubuntu22.04でネイティブに動かす方法)

(注:RX6000シリーズは以下の手順で動くと思うけどRX5000、RX500他のシリーズはわからん!君の目でたしかみてみろ!)
とりあえずUbuntu22.04.1 LTSをインストールしてUbuntuのアップデートを終わらせる
その後端末(Ctrl+Alt+Tで起動できるよ)で以下のコマンドを実行

色々必要な物のインストール

sudo apt install wget git python3 python3-venv gnupg2 gawk curl

GPUにアクセスできるように権限を設定

sudo usermod -a -G render $LOGNAME
sudo usermod -a -G video $LOGNAME

RadeonドライバーインストーラースクリプトとROCmのインストール

wget https://repo.radeon.com/amdgpu-install/22.40/ubuntu/jammy/amdgpu-install_5.4.50401-1_all.deb
sudo apt install ./amdgpu-install_5.4.50401-1_all.deb
sudo apt update
sudo amdgpu-install --usecase=rocm

インストール完了後Ubuntuを再起動
stable-diffusion-webuiのリポジトリをクローン

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui

お好みのモデルをダウンロードして

stable-diffusion-webui/models/Stable-diffusion

ディレクトリに入れる
起動させる

cd stable-diffusion-webui
bash webui.sh

あとは自動で依存関係のダウンロード、インストール、環境構築が行われて起動するはず
Screenshot from 2023-02-17 21-21-01.png
そしてブラウザで

http://127.0.0.1:7860/

を開いて存分にシコる
Screenshot from 2023-02-17 21-27-40.png

Ubuntu22.04.1 LTS RX6800で動作確認
GPUによってはwebui-user.shのCOMMANDLINE_ARGS=に--precision full --no-halfと書く必要があるかもしれない
(RX6000シリーズやRX500シリーズでは必要ないとの事)

最適化とかTIPSとかお得情報とか

起動オプション

--opt-sub-quad-attention

Sub-quadratic attention, a memory efficient Cross Attention layer optimization that can significantly reduce required memory, sometimes at a slight performance cost. Recommended if getting poor performance or failed generations with a hardware/software configuration that xformers doesn't work for. On macOS, this will also allow for generation of larger images.
DeepL翻訳:サブクアドラティックアテンションは、メモリ効率の良いクロスアテンションレイヤーの最適化で、必要なメモリを大幅に削減することができますが、時には若干のパフォーマンスコストを伴います。xformers が動作しないハードウェア/ソフトウェア構成で、パフォーマンスが低下したり、世代交代に失敗したりした場合にお勧めします。macOSでは、より大きな画像の生成も可能になります。

ラデでも使えるVRAM削減オプション
VRAM使用量が大きく削減されるが生成時間が伸びる

--upcast-sampling
なんか生成速度が上がるヤツ
opt-sub-quad-attentionと併用するといい感じ
公式のwikiのOptimizationsにのってないみたいだけどまあいいか!よろしくなあ!
詳細はこの辺

--xformers
xformersはなんかバグがあるらしくて使えない解決を待とう

SHARK

(執筆日: 2023/2/19)
SHARKui.jpg
MLIRで?中間表現?に変換していろんな環境で機械学習モデルを実行できるんですけど!みたいなソフトわからん…
とにかくいろんな環境でStableDiffusionできる凄いヤツ
公式のリポジトリはここロードマップはここ
開発中のソフトなんで未完成な部分も多いけど気軽にAIお絵描きを試せるよ
最近カスタムモデルにも対応した

Windows+RadeonでSHARK

AMD Software: Adrenalin Edition 23.2.1 以降のドライバが必要
公式リポジトリのリリースページからexeをダウンロードして(現在の安定版は539版
お好きなフォルダに置いて実行するだけ
勝手にセットアップが終わってブラウザでuiが開くはず
http://localhost:8080/
初回の生成にはファイルのダウンロードや変換で時間がかかります

RADEON用 参考リンク

徒労日記 とうとうRyzen + RADEONのAMD環境にもWindowsで動くStable Diffusionがきた

・過去にRadeonのグラボで導入したとしが参考にしたブログです。
https://dolls.tokyo/howto-amd-sd-win/

Stable Diffusion Native Isekai Too

・4chanのテンプレに貼られているもの
https://rentry.org/sd-nativeisekaitoo

Stable Diffusion AMD guide

・4chanのテンプレに貼られているもの
https://rentry.org/sdamd

AyyMD Stable Diffuse v1.4 for Wangblows 10 (by anon)

・4chanのテンプレに貼られているもの
https://rentry.org/ayymd-stable-diffustion-v1_4-guide


Windows+Intel ArcでStable Diffusion (SD.Next)

本家A1111のWebUIではなく、その開発メンバーであるvladmandic氏がフォークした「SD.Next」を使う
以下の説明の大部分は、https://www.technopat.net/sosyal/konu/installing-stable-diffusion-webui-with-intel-arc-gpus.2593077/ の翻訳と補足
2024-03-13現在、WSL編に限り上記サイトの通りに進めると、画像生成をしようとするとSD.Nextが必ずクラッシュしてしまう(場合によってはWSLごと)ため、以前掲載されていたコマンドを紹介する

ネイティブ編

2023年11月以降はWSLなしで動かすのが楽になったので紹介

1.ドライバの確認

  • 一部の古いドライバでは動かない。31.0.101.4952以降に更新する

2.ツールのダウンロード

  • Nvidiaグラボでの手順を見ながらPython 3.10.xとGitをインストール

3.リポジトリのダウンロード

  • 以下のコマンドを実行
git clone https://github.com/vladmandic/automatic
cd automatic
.\webui.bat --use-ipex
  • 必要なライブラリのダウンロードが進んでいくので待つ

ここでインストール完了 あとはいつものブラウザで 127.0.0.1:7860 を開いて存分にシコる
次回以降に直接起動したい場合は

automatic\webui.bat --use-ipex

なお、初期状態ではモデルファイルが入っていないので、初回起動時に出てくるモデル候補から選んでダウンロードするか、Systemタブ→System Pathsに行ってモデルフォルダを指定する必要がある(設定適用は「Apply settings」ボタンで)

WSL編

ネイティブ版より手間はかかるが速度が2割ほど?速い
またネイティブ版でVRAM不足になるとシステムごとハングすることがあるので、WSLが安定かもしれない

1.WSLのセットアップ(セットアップ済の人は飛ばす)

  • コントロールパネルやWindows検索などから「Windowsの機能の有効化または無効化」に入る
  • 「Linux用Windowsサブシステム」と「仮想マシンプラットフォーム」をONにして「OK」をクリック
  • 待っているとPCの再起動を求められるので再起動
  • コマンドプロンプトを開いて「wsl --update」と入力して実行
  • Microsoft StoreアプリからUbuntu 22.04.xをダウンロード
  • WSL内でUbuntuの初期設定を済ませる

以下の作業は全てWSL内で行うこと

2. 前準備

  • 以下のコマンドをコピペして実行
    sudo apt-get install -y gpg-agent wget
    wget -qO - https://repositories.intel.com/graphics/intel-graphics.key | sudo gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg
    echo 'deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu jammy arc' | sudo tee /etc/apt/sources.list.d/intel.gpu.jammy.list
    wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
    echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
    sudo apt update && sudo apt upgrade -y
  • 続いて以下のコマンドを実行
    sudo apt-get install intel-opencl-icd intel-level-zero-gpu level-zero intel-media-va-driver-non-free libmfx1 libgl-dev intel-oneapi-compiler-dpcpp-cpp intel-oneapi-mkl python3-pip python3-venv git unzip libjemalloc-dev

3. リポジトリのダウンロード

  • 以下のコマンドを実行
    git clone https://github.com/vladmandic/automatic
    cd automatic
    ./webui.sh --use-ipex
  • 必要なライブラリのダウンロードが進んでいくので待つ

ここでインストール完了 あとはいつものブラウザで 127.0.0.1:7860 を開いて存分にシコる
次回以降に直接起動したい場合は

$HOME/automatic/webui.sh --use-ipex

なお、初期状態ではモデルファイルが入っていないので、初回起動時に出てくるモデル候補から選んでダウンロードするか、Systemタブ→System Pathsに行ってモデルフォルダを指定する必要がある(設定適用は「Apply settings」ボタンで)。
特に後者の方法では、WSL外のフォルダを指定するには、Cドライブなら「/mnt/c/」、Dドライブなら「/mnt/d/」のように書き始めること。

なんかサンプラーA1111と違う?

初期状態では「diffusers backend」という動作モードになっているせい
最近のSD.Nextはこの開発を積極的に進めているらしく、SDXLなどの新しいモデル形式はこのdiffusers backendでないと動かない

通常のモード(original backend、A1111で使われているものと同じ)にするには、

  1. Systemタブ→Execution & Modelsに行く
  2. Execution backendを「original」にする
  3. 「Apply settings」ボタンを押す
  4. 「Restart server」ボタンで再起動

エラーが出て起動や画像生成ができない場合

以下を試す。

  • SD.next起動時のコマンドから「--use-ipex」を外す
  • CPU内蔵GPUを無効化する(BIOSからでもデバイスマネージャーからでも)

VRAM消費削減術

動作モードがoriginal backendになっていること前提。multidiffusionがdiffusers backendだと無効化されるため

これをやっとけば、Refine(Hires. fixに相当するやつ)で1024x1536のサイズを作ってもVRAM 6GBに収まる

  • Systemタブ→↓
    • Compute Settings→ Use channels lastをON
    • Inference Settings→ HyperTile UNetをON
  • 拡張機能の「multidiffusion-upscaler-for-automatic1111」(Tiled Diffusion & VAE)をインストールし、SD.Nextを再起動
    • TextタブまたはImageタブに入り、「Tiled VAE」を開いてEnable Tiled VAEをON
    • Encoder Tile Sizeを1024、Decoder Tile Sizeを80にする
      • ※Decoderは64でもいいが、64だと512x768サイズでもTiled VAEの処理が走るので時間が伸びてしまう
    • さらにFast EncoderとFast Decoderのチェックを外すと、Tiled VAEの処理時間が少し延びる代わりに更にVRAM消費が減る
  • これらの設定をしたら、Systemタブ→User interfaceタブに入り、「Set new defaults」ボタンを押す
    • こうすると次回以降の起動時に設定値が自動で読み込み・適用される

としあきTIPS

もっと見る
皆どんどん生成できてて羨ましい
俺はTI実行時のエラーで詰まってるよ(RADEON+ubuntu勢)
徐々にエラー解除していってるけどやっぱりRADEON使用だと障害は多いね・・・>>俺はTI実行時のエラーで詰まってるよ(RADEON+ubuntu勢)
>>徐々にエラー解除していってるけどやっぱりRADEON使用だと障害は多いね・・・
>TI学習したいならColab借りて学習はそっちでやったほうがいいんじゃないか?
せっかくGPU積んでるのでやっぱり使いたい・・・
という一念のもとエラーコードググったりソース見たりして頑張ってるよ
まあそっちのほうが早くね?はそれはそうだけどここまで来るともうなんか意地だね
でも諦めたらそっちに行きます・・・AMDでも画像生成はもう問題なくできるようになったんで正直そこは満足なんですが
やはりこう学習させたい欲・・・俺のrx6900xt君の16Gを余すことなく使わせたい・・・ぐぬぬやったぁ
フルアーマーサイバーパンクサイバネティック忍者ネコ娘がいい感じにできたぞちっちがう
わしはただ最も厚い装甲という呪文を追加下だけなんじゃ・・・としあきへ
AMDローカルマンより
TIの実行に成功しましたことをここに報告します
できるできるのだどこかの奇特な後続のAMDうぶんつローカルマンもいるかもしれないからTIする上での当たった壁と解決法を展開します(おま環かもだけど)
その1
・まずEmbeddingのプルダウンにptファイルが現れないんですけお!
→AUTOMATIC1111起動時の「TORCH_COMMAND=~~」の末尾に「--disable-safe-unpickle」を追加
→ptファイル読み込みできましたその2
・「RuntimeError: indices should be either on cpu or on the same device as the indexed tensor (cpu) 」とか出て実行できないんですけお!
→一旦「Ctrl+C」で停止
→cd (各としあき環境)/stable-diffusion-webui/repositories/stable-diffusion/ldm/models/diffusion
→ddpm.pyの行1030(コード内容「logvar_t = self.logvar[t].to(self.device)」)の直上に「t = t.to('cpu')」を追加
→pip uninstall torch torchvision functorch (←これやらないとddpm.py含め再コンパイルができない?と思います)
→TORCH_COMMAND='pip install torch torchvision ~~(長いので省略、末尾に--disable-safe-unpickle追加を忘れないように注意)
→TIできた

長文失礼でした
解決に一週間かかったけど甲斐はあったと信じたいねむいあっ
その2の補足
>→pip uninstall torch torchvision functorch (←これやらないとddpm.py含め再コンパイルができない?と思います)
上記はvenv環境内で実行してください
よろしくおねがいします

Mac民のレス

1680881279423.jpg

136 無念 Name としあき 23/04/08(土)00:27:59 ID:GFDcp6e2 No.1084514204 del +
macOSのMochi Diffusionというのを試してみたところGPUとNeural Engine使えるので1111使うより速かった
画像サイズ変更とかそういうのがまだ実装されてないけど

新情報、検証報告など

  • ん?もしかしてZLUDAはNVIDIAの権利侵害しててもう進展の見込みない?windows版のROCm早くしてくれ~ -- 2024-03-10 (日) 13:31:22
    • 元々複雑な経緯で作られたものだから、最初から作者が本格的なアップデートする気はないよと言ってる。 -- 2024-03-11 (月) 16:45:17
    • ここの人がスクリプト配ってるけどZLUDAで動くよ。controlnetも動いた。
      https://g-pc.info/archives/36136/ -- 2024-03-14 (木) 23:01:22
  • なんか3月10日あたりから、Windows+Intel ArcでのVRAM消費削減術をやっても1024x1536が作れなくなった(6.5GBに収まるどころかVRAM超過エラーに陥る)。
    SD.Nextの更新、WSLのモジュールの更新、それともArcドライバの更新のどれか見当もつかん。急にVRAM効率が悪化してしまった。 -- 2024-03-13 (水) 01:01:20
    • AMDでSD.next使ってるが、特に変化は感じない。SD.next以外の要因じゃね? -- 2024-03-13 (水) 07:57:57
    • A750?まあそれはさておきドライバかなあ…今はだいぶまともになったとはいえA770が普通に動いてる横でA750以下は不具合出てるパターンたまにあるし(逆も然り) -- 2024-03-13 (水) 17:58:12
      • A750使ってる。試しにドライバを5333から5085に戻してみたけど変わらず。512x768の1.75倍Hires. fix(1344x896)ですらVRAM 7.2GBも食われてる。先週まではこんなにVRAM効率悪くなかったはずなのに。 -- 木主? 2024-03-13 (水) 20:42:51
    • HyperTile UNetを有効にしたらあっさり解決しちゃった。お騒がせして申し訳ない。Arcドライバ5085、SD.next dev版の0629e66fで確認。あとでドライバ5333でも試してみる。

      ところでTiled VAEのFast EncoderとFast Decoderを無効にしたら、さらにVRAM消費が減ることも判明。それ以外はVRAM消費削減術の通りにして、結果4.9GB。Decoder Tile Sizeを96にしても、5.3GBで済んだ。 -- 木主? 2024-03-13 (水) 21:20:27
    • ドライバ5333でも問題なし。解決。 -- 木主? 2024-03-14 (木) 21:31:21
  • forgeのgitでintel arcで動かせるか?ってスレが立ってて、そこに書いてあるrng.pyを書き換えるやり方で生成できるようになった(A750)。ただ根本的に未対応なのか設定の問題なのか分からないけど、SDnextと比べて生成速度はほとんど変わらない(4GB制限の対応方法も書かれていたので試したけど、生成速度に効果は感じられず)。SDnextだとうまくいかなかったSDLXは、1024x1024は生成できた。ただリファイナーを噛まそうとするとエラー、1024x1536でもメモリ不足でエラーが出ちゃう。A770なら大丈夫かも。とりあえずアニマジンに触れられて満足。 -- 2024-03-17 (日) 11:08:31
    • 生成速度についてきちんと計測してみたところ、画像サイズにもよるけど、1.5ではA1111と比べて72~85%程度の時間になったんで、そっちの効果はまあまああるみたい。
      SDXLの1024x1024は15秒ほど、Lightning Loraの8ステップで6秒ほどでした。(A750) -- 2024-03-24 (日) 17:57:21
  • Windows(WSL) + Intel Arc(A750) + SD.Next環境で、画像生成中に突然画面がフリーズ→数秒間暗転して画像生成に失敗することがたまにある。WSL上では「RuntimeError: Native API failed. Native API returns: -2 (PI_ERROR_DEVICE_NOT_AVAILABLE) -2 (PI_ERROR_DEVICE_NOT_AVAILABLE)」、イベントビューアーでは「ディスプレイ ドライバー igfxnd が応答を停止しましたが、正常に回復しました。」と出る。
    普段はVRAM消費削減術を使いながら、512x768を2.5倍にRefine(1280x1920)して出力しているが、それでもVRAMにはまだ余裕がある(6.2GB消費)んだがなあ。 -- 2024-03-24 (日) 09:28:34
  • Zluda+SD.next with StabilityMatrixで動作成功した。DirectML版のインストールからautomaticのwikiを参考に環境変数を足してcmdからreinstallで完了。一部サンプラーは無理なのね。 -- 2024-04-04 (木) 05:35:10
  • IPEX改変版がCoreUltra iGPU向けに出てる、グラボなしだけど試したいって人柱ラーは試してみては。Xeコア向けと明言されてるのでもうちょっと古い世代でもXeコアなら動くかも。
    https://github.com/Nuullll/intel-extension-for-pytorch -- 2024-04-05 (金) 13:41:54
  • AsrockのHPにradeon用の生成AIソフトのインストーラーが公開されてる。 -- 2024-04-12 (金) 06:58:51
  • forgeにzluda専用フォーク登場。
    https://github.com/likelovewant/stable-diffusion-webui-forge-on-amd -- 2024-04-19 (金) 13:30:14
  • ROCm 6.1出てるが、Linux限定。AMDェ…
    https://github.com/ROCm/ROCm/releases/tag/rocm-6.1.0 -- 2024-04-24 (水) 10:23:36
  • ComfyUIにmacOS用インストールスクリプトが出てる。表記はAppleSiliconになってるがIntel機で試してちゃんとcoreML経由Metal仕様で動いてる。16GB RAM ivybridgeでSDXLをフルサイズ超で使えるのは嬉しい、1024平方で60s/itだが。
    https://github.com/comfyanonymous/ComfyUI/discussions/3283 -- 2024-04-25 (木) 09:37:54
    • 書き忘れてた、SD1.5 512x512では以前SD.NextのmacOS版で書き込んだのと同じ20s/itだった、ComfyUIが得意な高効率なRAM利用で大きい画像でもスワップせず処理しての結果かと>SDXL 1024x1024 60s/it -- 2024-04-25 (木) 11:01:01

(Tips)

  • 既存コメントの先頭にあるラジオボタンをONにすると、そのコメントの下にぶら下げ返信する形になります(ツリー構造)。
  • コメントの文中で↵ボタン(下の画像参照)を押すと「&br;」の文字列が挿入されます。これは送信後に改行として機能するので、文章の整形に役立ちます。
    br.png