RTX5070TiでStable Diffusionを動かす

デスクトップPCのグラフックボードを RTX3060 から RTX5070Ti へ交換した。

しかし、そのままではStable Diffusionは動かない。
RTX5070Tiに対応するコンポーネントが不整合を起こすからだ。

今回はちょっと苦労したもののやっと動くようになったので、その方法について書いてみた。
迷える子羊たちに愛の手を。

いつもの如く最初はどうでもよい話しが書いてあるので、適当に読み飛ばして頂きたい。

第3次AIブームの到来

我が家のデスクトップPCは2021年に組み立てたのだが、この時、GPU=グラフィックボード(以降グラボと略す)はnVIDIA製RTX3060を採用した。

この時は何も考えず、ただメジャーな製品でメモリ(VRAM)容量も12GBと大きかったこの製品を選んだだけだった。

そしてその後、空前の生成AIブームが始まった。

クラウド形態のAIサービスというものが登場し始め、DALL-EやMidjourneyなどの画像生成AIサービスなどが登場した。
しかし、まだまだ一般ユーザーに広まるものではなかった。

そこに火をつけたのが、そう、「Stable Diffusion Web UI(AUTOMATIC1111)」だ。

Stable Diffusionは2022年8月に、Stability AI社を中心とする研究チームによって公開された。

そして、AUTOMATIC1111はブラウザでユーザーインターフェイスを提供するもので、GitHubユーザであるAUTOMATIC1111氏が公開した。

Stable Diffusionはローカル環境で画像生成ができ、しかも利用は無料。これをマニアが見逃すはずがない。
一般ユーザーにも急速に拡大した。

しかし、画像生成するにはそれなりの性能のグラボが必要とされた。

偶然選んだグラボ(RTX3060)が生成AIに適しているとは、なんという偶然のいたずらか。
早速、Stable Diffusionをインストールして試したところ、その結果は驚きだった。

この頃は、まだ「AI」というものが何なのか、全く知識も無かった。

最近になってやっとぼんやりとわかってきたつもりだが、世の中には頭の良い人がいるんだ、とつくづく感心したのを覚えている。

「AI」というものは意外と昔から流行り廃りを繰り返していているようで、現在は第3次のブームなのだという。
そこには、ハード、ソフトウエアを含む計算システムの高速、大容量、高機能化、そしてインターネット回線の高速化などなど、いくつかの要因で技術的ブレークスルーが起きたと言われている。

グラボをRTX5070Tiへ

そんなAIブーム。猫も杓子もAI、人工知能だと大騒ぎ。スマホにまでAI機能が搭載され、爺ちゃん婆ちゃんでも「人工知能」が使える時代になった。

しかしAIデーターセンター、AIサーバーの需要増で、ストレージ、メモリの取り合いが起き、狂乱のPCパーツ値上がり。

わしもそろそろグラボを替えようかと思っていた矢先にとんでもない事態になってしまった。

この価格高騰はしばらく続くようで、世の話では2026年いっぱいは解消しないらしい。

しかも肝心のnVIDIA社は、コンシューマー向け製品の生産縮小、低価格帯の新モデルはしばらく出さないとか、ネガティブな話しばかり。

しかし、ある日、ラッキーなことに新しいグラボ RTX5070Ti を安く手に入れることができた。

換装自体は難しいものではないが、問題はグラボ背面の電源供給ライン。
なにしろ高負荷時には300W程消費するから、ちょっとしたヒーターぐらいの消費量だ。


ここの接続のしかたで問題が起こることがわかっていたので、ちゃんと電源ユニットから2系統の電源ラインを引っ張ってきて接続した。

初めての電源投入はちょっと緊張するが、Windowsはちゃんと立ち上がりグラボも正常に動作した。

さてここからが問題。
このままStable Diffusionを動かしてみると、案の定エラーの嵐。これは予想していたことで驚きはしないが、果たして解決できるのかが心配になる。

エラーとなるのはRTX3060とRTX5070TiのGPUアーキテクチャの違いによるもので、必要とするソフトウエアコンポーネントが異なるから。

GPUアーキテクチャはRTX3060がはAmpere、RTX5070TiはBlackwellだ。

下の図のように、今使用しているのは CUDAは12.1。RTX5070Ti Blackwellはサポート外となる。


【出典:nVIDIA】

CUDAというのは簡単に言うと、GPU(グラボ)に対し高性能な並列演算をおこなわせるための環境詰め合わせセットみたいなものだ。
他社のグラボはまだこれに代わるものができていないため、AIに関してはnVIDIA一強の状態が続いている。

ここから地獄の2日間が始まった。なにしろうまくゆかない。Stable Diffusion起動の時点でエラーで落ちる。
ネットやYouTubeでは、簡単に換装、動作に成功している例もあるが、そう簡単には問屋は卸さないらしい。

しかし七転八倒の末、どうにか解決に至ったわけである。お陰でこれまで聞きかじりだった知識も多少は増えたような気がする。

キモは各コンポーネントの整合性と「launch_utils.py」の書き換えである。

RTX5070TiでStable Diffusionを動かす

さて、では本題だ。

まず、ひとつお断りしておきたいのは、現状動いていたStable Diffusionには手を付けず、新たにStable Diffusionを別フォルダ構築することをお勧めする。

我が家のPCでは、あれこれ高速化処理を追加したり、かなり動作環境を変えていたりしていた。

そのような状態のStable Diffusionに対し、更新を施すのは、コンポーネント間の不整合やらなんやかんやでエラーの嵐となって目も当てられない状態になる可能性があるからだ。

ここは面倒ではあるが、まずクリーンなStable Diffusion Web UIを構築することで不具合発生のリスク減、結果的に時短になるだろう。

その前にまずグラボのドライバーを最新バージョンにしておこう。NVIDIA APP からドライバー更新をおこなうことができる。

さて、Stable DiffusionのRTX5000系への対応の手順概要は以下のようになる

①古いバージョンのCUDAをアンインストール

②対応するCUDA12.8のインストール

③新しく「stable-diffusion」をクローン

④使用モデルをコピー

⑤webui-user.bat 1回目起動(venv環境とコンポーネントのインストール)エラーにはなる

⑥launch_utils.pyのインストール元アドレス書き換え

⑦webui-user.bat 2回目起動(インストールを成功させる)

⑧古いPytorchをアンインストールし対応バージョンをインストール

⑨webui-user.bat 3回目起動 まだエラーは出るが・・・

⑩webui-user.bat 4回目起動 ついに正常動作

①古いバージョンのCUDAをアンインストール

RTX5000系はCUDA 12.8未満では動作しないため、これを12.8以降へ引き上げる。
現在、CUDAは13.1まで出ているようだが、他のコンポーネントとの整合性のため12.8が無難。

ファイル名を指定して実行で appwiz.cpl と入力、エンターキーで、プログラムのアンインストールまたは変更の画面が表示される。

この画面から「NVIDIA CUDA Toolkit 12.x」を探して、12.8でなければアンインストールをおこなう。

 【この画面は既にNVIDIA CUDA Toolkit 12.8に更新済みのもの(赤色の枠部分)】

ついでに、Pythonも3.10.11に更新しておいた(青の枠部分)。これは3.10.xxであれば更新の必要はないと思う。

ちなみにPythonのバージョンは python -V 又は python -VV で確認できる。
(“\”(バックスラッシュ)は”¥”のことである。)

C:\Users\root>python -VV

Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]

アンインストールできたら、一旦リブートする。

②対応するCUDA 12.8をインストール

次にRTX5000系をサポートする CUDA 12.8 をインストールする。

CUDA Toolkit 12.8 (Windows版)は下記よりダウンロードできる。

https://developer.nvidia.com/cuda-12-8-0-download-archive

大きさが約3.3GBあるので少々待つ。

ダウンロードされた cuda_12.8.0_571.96_windows.exe を実行する。

解凍するテンポラリフォルダの画面が表示されるので、そのままで良ければ「次へ」をクリック。
(作成されたフォルダはインストール完了後消去されるのでゴミは残らない。)

インストーラーの画面となり、インストールは左側に表示されているシーケンスで進む。

まずはシステムの互換性チェックが行われる。

「NVIDIAソフトウエア使用許諾契約書」が表示されるので、「同意して続行する」をクリック。

インストールオプションが表示されるので、「カスタム」を選択し、「次へ」をクリック。

カスタムインストールオプションで「CUDA」 のみにっチェックを入れ、「次へ」をクリック。
他のオプションにチェックを入れると、GPUドライバが上書きされたり、不要なものがインストールされてしまう。

インストールが始まる。

最後にこんなメッセージが表示された。

 The installed version of Nsight Visual Studio Edition is newer the the one to be installed.To reinstall, or change the Nsight configuration, first uninstall Nsight and the reinstall.

「インストールされている Nsight Visual Studio Edition のバージョンは、インストールするバージョンよりも新しい」とな。

まあ、CUDA 12.9とか13.1とかをインストールしたりアンインストールしていたため新しくなっていたのだろう。
「NVIDIA Nsight Systems」は性能評価用のコンポーネントらしく、特に問題はなかろう、ということで「次へ」をクリック。

無事にインストールされたみたいなので「閉じる」 をクリック。

CUDAバージョンの確認はコマンドプロントから nvcc –version もしくは nvcc -V で確認できる。

C:\Users\username>nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Wed_Jan_15_19:38:46_Pacific_Standard_Time_2025
Cuda compilation tools, release 12.8, V12.8.61
Build cuda_12.8.r12.8/compiler.35404655_0

③新しく「stable-diffusion」をクローン

先にも書いたが、既存のStable Diffusionをいじるのはやめて、新しく別フォルダにStable Diffusionを構築する。

わしの場合、SSDをUSBでつなぎ、Xドライブとして使用しているので、新しく「NEWDIR」フォルダを作り、そこへインストールした。

まずエクスプローラーで NEWDIR フォルダを作成する。

次に作成したフォルダへ移った後、アドレスバーに cmd と入力し、エンターキー。
コマンドプロントが開くので、以下の git clone を実行する。

X:\NEWDIR>git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

Cloning into 'stable-diffusion-webui'...
remote: Enumerating objects: 34985, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 34985 (delta 0), reused 0 (delta 0), pack-reused 34982 (from 2)
Receiving objects: 100% (34985/34985), 35.66 MiB | 3.86 MiB/s, done.

Resolving deltas: 100% (24367/24367), done.
Updating files: 100% (315/315), done.

NEWDIR 下に stable-diffusion-webui が作成される。

④使用モデルをコピー

ここで、これまで使用してきたモデルファイル(.safetensorや.ckpt)のひとつで良いから \models\Stable-diffusion 下に格納しておくと余計なモデルファイルのダウンロードが無い。

入ってなければ標準モデルがダウンロードされ格納される。

⑤webui-user.bat 1回目起動(venv環境とコンポーネントのインストール)

1回目の stable-diffusion-webui 下の webui-user.bat を実行する。

venv環境(仮想環境)が作成され、必要なモジュールがダウンロード、インストールされてゆく。

ここで、

emsp;Installing clip…..RuntimeError: Couldn’t install clip.
ERROR: Failed to build ‘https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip’ when getting requirements to build wheel

というエラーとなり、CLIPのインストールに失敗する。

しかし、ご安心あれ。次がその回避方法だ。

⑥launch_utils.pyのインストール元アドレス書き換え

modules下にある launch_utils.py の3か所を下記のように書き換える

345~346行目あたり

clip_package = os.environ.get('CLIP_PACKAGE', "https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip")
openclip_package = os.environ.get('OPENCLIP_PACKAGE', "https://github.com/mlfoundations/open_clip/archive/bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b.zip")
	↓
clip_package = os.environ.get('CLIP_PACKAGE', "clip-anytorch")
openclip_package = os.environ.get('OPENCLIP_PACKAGE', "open-clip-torch")


349行目あたり

stable_diffusion_repo = os.environ.get('STABLE_DIFFUSION_REPO', "https://github.com/Stability-AI/stablediffusion.git")
	↓
stable_diffusion_repo = os.environ.get('STABLE_DIFFUSION_REPO', "https://github.com/joypaul162/Stability-AI-stablediffusion.git")

⑦「stable-diffusion」の2回目起動(インストールを成功させる)

書き換えた後 webui-user.bat を実行する。するとConnect to GitHub、GitHub Sigh in のウィンドウが出る。

ここで「Sign in with your browser」をクリックすれば、続行される。
(※ あらかじめ GitHub にアカウントを作っておくこと。 GitHubアカウントを作成)

さて、これで Stable Diffusion は正常にインストールできるはずだ。

但し、まだ Pytorch のバージョンが不整合のためStable Diffusionとしてはまだ動作しない。

⑧古いPyTorchをアンインストールし対応バージョンをインストール

エクスプローラーで X:\NEWDIR\stable-diffusion-webui に移ったら、アドレスバーに cmd と入力しエンターキー。

venv\scripts\activate で仮想環境を活性化する。

Microsoft Windows [Version 10.0.19045.6937]
(c) Microsoft Corporation. All rights reserved.

X:\NIWDIR\stable-diffusion-webui>venv\scripts\activate


画面が変わって

(venv) X:\NEWDIR\stable-diffusion-webui>

となる

pip list で現在の torch のバージョンを見てみる。
ちなみに findstr は Windows版 grep みたいなもので、文字列を検索してくれるフィルター。覚えておくと便利。

(venv) X:\NEWDIR\stable-diffusion-webui>pip list | findstr torch

clip-anytorch             2.6.0
open-clip-torch           2.20.0
pytorch-lightning         1.9.4
torch                     2.1.2+cu121	←
torchdiffeq               0.2.3
torchmetrics              1.8.2
torchsde                  0.2.6
torchvision               0.16.2+cu121	←

torchtorchvision+cu121 となっていてRTX5000系に対応していない。

そこで、これをアンインストールし対応バージョンを入れる。

下記 PyTorch のサイトからインストールのコマンドラインを得ることができるので、ご参考に。

https://pytorch.org/get-started/locally/

まず、古い torch torchvision をアンインストールする。

(venv) X:\NEWDIR\stable-diffusion-webui>pip uninstall -y torch torchvision

Found existing installation: torch 2.1.2+cu121
Uninstalling torch-2.1.2+cu121:
Successfully uninstalled torch-2.1.2+cu121
Found existing installation: torchvision 0.16.2+cu121
Uninstalling torchvision-0.16.2+cu121:
Successfully uninstalled torchvision-0.16.2+cu121

古いキャッシュデータをもってこないようにキャッシュをパージしておく。

(venv) X:\NEWDIR\stable-diffusion-webui>pip cache purge

Files removed: 997 (5783.4 MB)
Directories removed: 53

cu128対応バージョンをインストールする。

(venv) X:\NEWDIR\stable-diffusion-webui>pip install torch torchvision --index-url https://download.pytorch.org/whl/cu128

Looking in indexes: https://download.pytorch.org/whl/cu128
Collecting torch
  Downloading https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp310-cp310-win_amd64.whl.metadata (29 kB)
Collecting torchvision
  Downloading https://download.pytorch.org/whl/cu128/torchvision-0.25.0%2Bcu128-cp310-cp310-win_amd64.whl.metadata (5.5 kB)
Requirement already satisfied: filelock in .\venv\lib\site-packages (from torch) (3.20.3)
Requirement already satisfied: typing-extensions>=4.10.0 in .\venv\lib\site-packages (from torch) (4.15.0)
Requirement already satisfied: sympy>=1.13.3 in .\venv\lib\site-packages (from torch) (1.14.0)
Requirement already satisfied: networkx>=2.5.1 in .\venv\lib\site-packages (from torch) (3.4.2)
Requirement already satisfied: jinja2 in .\venv\lib\site-packages (from torch) (3.1.6)
Requirement already satisfied: fsspec>=0.8.5 in .\venv\lib\site-packages (from torch) (2026.2.0)
Requirement already satisfied: numpy in .\venv\lib\site-packages (from torchvision) (1.26.2)
Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in .\venv\lib\site-packages (from torchvision) (9.5.0)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in .\venv\lib\site-packages (from sympy>=1.13.3->torch) (1.3.0)
Requirement already satisfied: MarkupSafe>=2.0 in .\venv\lib\site-packages (from jinja2->torch) (2.1.5)
Downloading https://download.pytorch.org/whl/cu128/torch-2.10.0%2Bcu128-cp310-cp310-win_amd64.whl (2867.4 MB)
   ---------------------------------------- 2.9/2.9 GB 6.7 MB/s  0:05:01
Downloading https://download.pytorch.org/whl/cu128/torchvision-0.25.0%2Bcu128-cp310-cp310-win_amd64.whl (9.0 MB)
   ---------------------------------------- 9.0/9.0 MB 4.3 MB/s  0:00:02
Installing collected packages: torch, torchvision
Successfully installed torch-2.10.0+cu128 torchvision-0.25.0+cu128

再度 PyTorch のバージョンを見てみる。

(venv) X:\NEWDIR\stable-diffusion-webui>pip list | findstr torch
clip-anytorch             2.6.0
open-clip-torch           2.20.0
pytorch-lightning         1.9.4
torch                     2.10.0+cu128	←更新された
torchdiffeq               0.2.3
torchmetrics              1.8.2
torchsde                  0.2.6
torchvision               0.25.0+cu128	←更新された

更新されているのが分かる。

⑨webui-user.bat 3回目起動 まだエラーは出るが・・・

これで、webui-user.bat を実行する。

まだエラーは出る。

ValueError: An event handler didn’t receive enough input values (needed: 6, got: 0).
IndexError: list index out of range
ERROR: Exception in ASGI application

ブラウザにも Error が表示されている。

⑩webui-user.bat 4回目起動 ついに正常動作

しかし、ブラウザとターミナル画面を閉じて、もう一度 webui-user.bat を実行する。

すると、今度はエラーにならず、ブラウザにも正常な表示が出た。

画像も生成できるようになった。万歳。

ちょっとした小技

あとちょっとした小技を紹介しておこう。小枝じゃありませんよ、小技です。

①webui-user.bat のコマンドオプション

下を見ていただければ、だいたい察しはつくと思うのであえて説明しないが、最後の “–esrgan-models-path “X:\depot\models\ESRGAN” はアップスケーラーを置く場所である。
4x-AnimeSharp.pth4x-UltraSharp.pth を置いておくとよい。

このように一か所にモデルデータなどを置いておき、コマンドオプションで場所を指定してしてやれば、重複が避けられ、ストレージの無駄な容量を食うことがない。
なにしろモデルデータなんて、ひとつで数GBもあるしね。

@echo off

set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--theme dark --ckpt-dir "x:\depot\models\Stable-diffusion" --lora-dir "x:\depot\models\Lora" --vae-dir "x:\depot\models\VAE" --esrgan-models-path "X:\depot\models\ESRGAN"

call webui.bat

②自動でブラウザを開かないようにする。

わしは、通常の検索やYouTubeを見るときは Chromeを使い、Stable Diffusionは FireFox で使用している。
なので勝手にデフォルトブラウザが開かないように config.json を下記のように変更している。

“auto_launch_browser”: “Local”, → “auto_launch_browser”: “false”, を指定。

③プロンプトの保存場所は styles.csv
プロンプトが保存してある場合、そのデータは styles.csv に格納されている。

新しい環境を作った場合など、このファイルをコピーしてやれば保存してあったプロンプトが使えるようになる。

おわりに

もうすっかり古くなってしまった感のあるStable Diffusionだが、まだまだ十分に役に立つ存在だ。

AIを取り巻く環境は目まぐるしく進化しているようで、半年もしたら全く違う世界になってしまう。

もはや動画生成、楽曲生成は当たり前になってきているし、そのうち自分で短編映画ぐらいは作れるようになるかもしれない・・・いや、もうなっているかな。

今回は高速化のコンポーネントは入れなかったが、追々様子を見ながらトライしてみるつもりだ。
ただ、xformersは対応できていないみたいで、これを入れると、またまたエラーがボロボロ発生してしまうので注意。

そして、AI環境構築にあたって、もしエラーになるのなら、エラーメッセージを元に、ネットを丹念に探ってゆけば、いつかその解答が得られると思う。

世の中には同じ問題で悩んでいる人がいるはずで、問題を投げかける人がいて、それに対する対策を示してくれる人もいる。

何事もそうだが、あきらめずに探ってゆく気持ちが大切だと思う。