Stable Diffusion
PR

【Stable Diffusion】 RTX50シリーズでStable Diffusionを起動する方法 【CUDA 12.8対応】

えりる
記事内に商品プロモーションを含む場合があります

せっかくRTX 50シリーズを買ったのにStable Diffusionが動かず困っているあなた!これで救われます!!(たぶん)

この記事では RTX50シリーズでStable Diffusion ( AUTOMATIC1111 )を起動する方法を解説します。
ComfyUIをお探しの方は以下の記事で解説していますのでご覧ください。

最終的にはStable Diffusionを Linux 上で起動させますが、WSL2を使ってLinuxをWidnows上で動かすので、Windows PCだけで完結するようにしました。(もちろん生のLinuxでも大丈夫です)

Linux のほうがStable Diffusionに必要なライブラリの開発が早いらしい…。

WSL2 :

Windows 11標準搭載の機能。LinuxをWidnows上で仮想的に動かすことができる。Windows Subsystem for Linux 2の略称。

PowerShellを開いて、

wsl --install

を打つだけで仮想環境のUbuntuをインストールできる。

NVIDIAの最新GPU(Blackwell 世代)である RTX5070, RTX5070Ti, RTX5080, RTX5090 では単ににStable Diffusionをインストールしただけでは動かないようになりました。

Blackwell 世代のGeForce RTXシリーズが CUDA 12.8 以降でないと対応していません。

一方、Stable Diffusion の中で使用している PyTorch は バージョン2.6が最新版であり、CUDA 12.6 までの対応でとなります。

このバージョン差がRTX50シリーズで Stable Diffusion が動作しない理由です。

ただ、PyTorch はバージョン 2.8で CUDA 12.8 への対応が予定されており、実はベータ版が公開されています。

この記事では PyTorch 2.8 をインストールしてRTX50シリーズでStable Diffusionを起動する方法を解説します。

環境

PyTorchの開発は Linux 環境への対応の方が早いという噂を聞いたのでOSは Ubuntu を選択します。検証環境は以下の通りです。

  • OS  = Ubuntu 24.04.2 LTS
    • クリーンインストール直後の環境を想定
    • WSL(Windows PC上で簡単にLinuxを動かすことができる機能)上で動作
  • CPU = Intel Core Ultra 285k
  • GPU = NVIDIA RTX 5070

使用環境(パソコン)は以下の記事で詳しく紹介しています。こちらもご覧ください。

WSL2でUbuntuをインストール→ 起動

生のUbuntu環境をすでに持っている人やWSL2などのUbuntuの仮想環境がある人はスキップしてください。

WSL2はWindows 11標準搭載の機能でLinuxをWidnows上で仮想的に動かすことができます。

まず、PowerShellを起動します。
その後、以下のコマンドを実行するとUbuntu 24.04がインストールされます。

wsl --install

インストール完了後、

wsl

を実行するとUbuntuを起動することができます。初回起動時にユーザー名とパスワードを設定するよう求められます。

ちなみに、アンインストールするには以下のコマンドを実行するだけです。

wsl --unregister Ubuntu

これだけでアンインストールできるので、最悪環境が壊れてもすぐに初期状態に戻すことができますし、自分のWindows環境には影響しません。
失敗しても安心ですね。

pyenvのインストール

pyenv は、複数の Python バージョンを簡単に切り替えられるツールです。
Pythonを直接インストールしてもよいのですが、それだとほかのバージョンのPythonを使うときにStable Difffusionが起動できなくなったり、将来的にStable DifffusionのPythonバージョンが更新された場合に、自分のパソコンのPythonバージョンを更新するのも大変なので、pyenvで環境を作るのがおすすめです。

インストール方法は以下の記事にまとめていますので、こちらを参考にインストールを進めてみてみください。

Python 3.10.6のインストール

それでは、Stable Diffusion が指定しているPython 3.10.6をインストールしましょう。

以下のコマンドでインストールができます。

pyenv install 3.10.6

pyenvでインストールしたpythonを使うときは、pythonを使いたいフォルダ内にcdコマンドで移動してから そのフォルダ内だけでpythonを有効化します。

cd pythonを使いたいフォルダのパス
pyenv local 3.10.6

CUDA Toolkit 12.8 のインストール

CUDA 12.8のインストールを行います。
NVIDIAの公式サイト(CUDA12.8のダウンロードページ)からインストールします。

以下の記事でCUDAのインストール方法を解説していますのでこちらを参考にしていただければと思います。
(ただし、以下の記事内のCUDAのダウンロードページへのURLは最新CUDAのものなので、この記事内のCUDA 12.8用のリンクを使用してください)

Stable Diffusion のインストール

Stable DiffusionのGitHubリポジトリ から一式をダウンロード(リポジトリをクローン)します。

いったんホームディレクトリに戻りましょう。インストールしたい場所があればその場所へ移動してください。

cd ~

以下のコマンドでリポジトリをクローンします。

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

するとstable-diffusion-webuiというフォルダができているのでそこに移動します。

cd stable-diffusion-webui

ここでいったんStable Diffusion を起動して必要なPythonパッケージをインストールしてもらいましょう。

まず、Python 3.10.6の仮想環境を作ります。今いるフォルダで動作するpythonを以下の通り指定します。

pyenv local 3.10.6

次に以下のコマンドで仮想環境venvを作ります。

python -m venv venv

そのあと、仮想環境を有効化します。

source venv/bin/activate

最後に以下のコマンドでStable Diffusionを起動します。

./webui.sh

しかし、今のままだとCUDA 12.8に対応していない状態で起動するので途中でエラーが出て止まってしまいます。

ただ、いったん起動を試みることで必要なパッケージがインストールされるので、あとはPyTorchを更新すればよいという状態に持っていくことができます。

PyTorchの更新

ここまでの作業を終えた状態で

pip list | grep torch

を実行すると、torch 2.6がインストールされていると思います。これとtorchvisionCUDA 12.8に対応したバージョンに変更します。

まず、以下のコマンドで古いバージョンをアンインストールします。いらない説もありますが、余計なところでトラブりたくないので消しちゃいます。

pip uninstall torch torchvision

ここで、PyTorch公式ページからインストールに必要な情報を探します。

ページにアクセスして以下のように環境を選択すると一番下の欄にインストールに必要なコマンドが出てきます。(pip3と書いていますがpipで動きます)

今回はtorchaudioは不要なので、以下のコマンドでtorch とtorchvisonをインストールします。

pip install -U --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/cu128

これでPyTorchをCUDA12.8に対応したバージョンへあげることができました。

起動→動作確認

ついに起動です。とその前に、googleが開発したメモリ使用量の最適化するパッケージを以下のコマンドで入れておきます。これを入れておかないとStable Difffusion起動時に警告が出ます。

sudo apt install libgoogle-perftools-dev

以下のコマンドでStable Diffusionを起動して問題なく画像が生成できればインストール成功です。

./webui.sh

おまけ: xformersの導入

Stable Diffusionはxformersというpythonパッケージを導入して起動することで高速化・VRAMメモリの節約が可能だと言われています。(なくても動きます)

ただ、このxformersもCUDA 12.8には対応していません。

これについてもいろいろと調べてみると、CUDA 12.8 環境で自力でxformersをビルドすることで動作するみたいなので検証してみました。

以下の記事で導入検証の情報共有を行っていますのでご参考まで。

まとめ

この記事ではRTX50シリーズでStable Diffusion ( AUTOMATIC1111 )を起動する方法を解説しました。

以下の記事でRTX50シリーズのStable Difffusionによる画像生成の性能比較をしています。
結果を踏まえておすすめGPUも選んでいるのでこちらの記事もおすすめです。

参考文献

ウェブサイト

ソフトウェアリンク

えりるについて
えりる
えりる
日本のどこかに生息する平成生まれの研究者。とっても理論家と思いきや気分屋さんでもある。基本的にめんどくさがり。修士(工学)を持っている。
記事URLをコピーしました