
RadeonでStable Diffusionを構築してみた
はじめに
元々はRTX 5090を買うつもりだったのですが、手に入る見込みはなく、5090を入れるためのPCだけ先に自作してしまっていました。
ローカルAI環境を年明けには強化しようと思ってたのが頓挫してしまい、途方に暮れていたのですが、VRAMが24GBのRadeon RX 79000 XTXがそこそこ安い値段で手に入ったのでもうとりあえずこれでやっみよう!
と、RadeonでSDの環境を作ってみた記録です。
結論は以下の3行ですが、それでも興味がある人は読み進めてください
絶対に人にはおすすめしない
Linuxさえちゃんと環境を作れれば思ったより速く快適に動作する
不安はあるが、実践的な使い方はできそう
前提
Radeon RX 7900 XTXが前提
Windowsは使用しない。Linuxネイティブでやる
ChatGPTなどに聞けばLinuxの設定も多分怖くはないはず
Linuxの基本的な使い方は説明しない
Stable Diffusionの基礎的な知識も説明しない
Pythonなどの知識はあまりない人を対象にする
Pythonの仮想環境の管理にはuvを使う
DockerをどうもAMDは推奨しているようですが、汚してもいい環境なのでuvで仮想環境を作りました
Linux環境の構築
ハードウェア
CPUやメモリは適当でいいと思います。メモリは64GBくらいはあったほうがいい気がします。
CPUはRyzen 7 9700X
トップグレードではなくわざと低いグレードにしています。どうせCPUは使いません
RTX 5090が電気ドカ食いなのでTDP 65Wで空冷でも安定して動作する中で最速のCPUを選択しました
CPUクーラーはしょぼい空冷ですが問題なさそうです
メモリは128GB
たぶん64GBで足りる。32GBでもいけるかも。
これは失敗したかもしれません。32GBを4枚さしてますが、48GBの2枚刺しのほうが速いくてちょうどよかったかもしれませんが、影響があるようには思えません
マザーボードはX870eに対応したもの
高かったです。どうせフルパワーを使わないので、もうちょっと安いのでも良かった気がします。
とはいえ長時間、GPUを100%という異常な使い方をするのでマザーボードは強めにしたほうが安心感はあります。
GPUはAMD Radeon RX 7900 XTX
前述の通りです。ゲームをやるならコスパ最強っぽいです(よく知らない)
OSの設定
LinuxはUbuntu 24.04を使います。LTSの中の最新です
AIをLinuxで使うときにはUbuntuを選択しておけば無難
個人的にもUbuntuは長いこと使い慣れているので、楽です
22.04のほうが実績があるので悩みましたが、24.04でも相当実績があることが確認できたので新しい方にしました
UbuntuのインストールはすべてデフォルトでOK
Stable Diffusionの設定
AMD用のドライバの設定
カーネルの再構築が必要になるので一通り設定したら再起動します
$ wget https://repo.radeon.com/amdgpu-install/6.3.2/ubuntu/noble/amdgpu-install_6.3.60302-1_all.deb
$ sudo apt install ./amdgpu-install_6.3.60302-1_all.deb
$ sudo apt update
$ apt install amdgpu-dkms rocm
$ sudo reboot
再起動時に色々聞かれますがyesと答えるのでOKです。
再起動してドライバが正しく動作している確認します
$ amd-smi
このコマンドでバージョンなどが表示されればOKです。
Stable Diffusionのインストール
uvのインストール
curl -LsSf https://astral.sh/uv/install.sh | sh
仮想環境の作成。
~/sdという環境を作ります。Pythonは3.0.16を使います
$ mkdir ~/sd
$ cd ~/sd
$ uv venv -p 3.0.16
$ source .venv/bin/activate
PyTorchのインストール
ここでROCmというAMD用のPyTorchをインストールします
※最初に公開したバージョンでは間違っていました
最初はPyTorch 2.7をインストールしたのですが、このバージョンだとADetailerで問題が発生して、2.4に変更しています。おそらく以下の手順で問題ないと思います。
$ wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.2/torch-2.4.0%2Brocm6.3.2-cp310-cp310-linux_x86_64.whl
$ wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.2/torchvision-0.19.0%2Brocm6.3.2-cp310-cp310-linux_x86_64.whl
$ wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.2/pytorch_triton_rocm-3.0.0%2Brocm6.3.2.75cc27c26a-cp310-cp310-linux_x86_64.whl
$ wget https://repo.radeon.com/rocm/manylinux/rocm-rel-6.3.2/torchaudio-2.4.0%2Brocm6.3.2-cp310-cp310-linux_x86_64.whl
$ uv install torch-2.4.0+rocm6.3.2-cp310-cp310-linux_x86_64.whl torchvision-0.19.0+rocm6.3.2-cp310-cp310-linux_x86_64.whl torchaudio-2.4.0+rocm6.3.2-cp310-cp310-linux_x86_64.whl pytorch_triton_rocm-3.0.0+rocm6.3.2.75cc27c26a-cp310-cp310-linux_x86_64.whl
Stable Diffusion WebUIのインストール
a1111のを使います
$ git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
$ cd stable-diffusion-webui
$ uv pip install requirements_versions.txt
基本的にはこれだけでOKです。特段トラブルは起きませんでした。
WebUIのディレクトリの下の model/Stable-diffusion/ 配下によく使うチェックポイントをおいたらWebUIを起動します
$ python webui.py --listen --enable-insecure-extension-access --no-half-vae
pythonで始めているのはuvで仮想環境を作っているからです。適宜読み替えてください。
--enable-insecure-extension-accessも、おそらくUbuntuのブラウザで生成などするなどなければ使うことになると思います。
あとは http://ホスト名:7680/ にアクセスしていつも通り生成します
生成の性能について
RTX 4070tiとの比較
手元の環境がRTX 4070ti ネイティブしか存在しないため、これとの比較になります。
VRAMも4070tiは12GBしかありませんので、色々と比較すべきものではないかなとは思いますが、参考までに比較を乗せます。
4070tiはWindowsネイティブです。
ざっくり性能差
4070tiは 1.4it/s 前後
RX7900TXTは2.8it/s 前後
体感でも2倍程度生成の速度は早いです。また、バッチサイズをRX7900XTXは増やしやすいので明らかに快適になりました。
xformers
AMD用のxformersの導入方法がよくわかってなくて、使っていませんが、RX7900XTXt + SDXLであればVRAMが潤沢にあるのでxformersは不要なようです。
同じ画像を生成できるか?
全く同じではありませんが、同プロンプト同シードならほぼ同じ画像が生成出来ました


RadeonでのAI学習
こちらも私がいつもやっているLoRA学習については問題なくできました。
別途しっかり書くかもしれませんが、普通にsd-scriptsをインストールするだけで問題ありませんでした。
Radeonで作った試作LoRAでの生成画像です
— 五島 (@gotoai_1099) February 5, 2025
Holy ArmorのLoRAと同じものを目指して作ってほぼほぼ目標を達成しました。トレーニング時間も1時間かからず、かなり満足しています pic.twitter.com/IqYkioB8qQ
まとめ
わりといけそう!?快適?
となっていますがまだ本格運用はしていないのでなんとも言えません。
FLUXやLLMの環境なども作ってみようかと思いますがPyTorchはしっかり動いている様子なので期待してもいいかなとは思います。
それにしても、おすすめは出来ません。
やはりAIの世界はNVIDIAを中心に回っています。Linuxが苦にならない人でもNVIDIAのGPUを買ったほうが安心して使えるとは思います。
この状況が1年続けば「RadeonもAIに使えるよ!」と言えるかもれませんが、現状は自己責任でとしかいえません。

個人的にはRadeon信者なので嬉しい誤算ではありました。もっと苦戦するかとは思っていましたけど、そうでもありませんでした。
それでは、よきRadeonライフ、AIライフをお過ごしください。