技術の木

ビックリ!グラボがなくてもAI画像を生成できる!Stable Diffusionを実行する方法(Minisforum UM350)

スポンサーリンク

はじめに

本記事では、話題の画像生成AI「Stable Diffusion」をミニPCのUM350にインストールして実際に画像生成を行う方法を解説します。

Stable Diffusionは、高性能なグラフィックボードが必要となりますが、UM350でも画像生成が可能であることが分かりました。

UM350での画像生成には制限があるものの、必要なスペックやWeb UIのインストール方法など、具体的な手順を説明しています。

本記事を読むことで、話題の画像生成AIに興味あるけど高いグラボを持っていないし・・・と思っている人が少しでもStable Diffusionに興味を持ってくれたらと思います。

Stable Diffusionとは何か?

Stable Diffusionは、機械学習の一種であるディープラーニングを用いた、画像生成技術です。GANと同じく、入力としてノイズを与え、そのノイズを元に画像を生成することができます。ただし、GANとは異なり、Stable Diffusionは、生成された画像の品質を高めるために、ノイズを段階的に変化させながら画像を生成する手法を採用しています。これにより、より自然な画像が生成されるようになりました。

Stable Diffusionの学習アルゴリズムは、複数のスケールで画像を生成することで、高品質な画像を生成します。また、画像生成の際には、ノイズを加えることで生成画像の多様性を高めることもできます。これにより、単一の画像から多数のバリエーションを生成することができます。

Stable Diffusionの実行に必要なPCスペック

Stable Diffusionを実行するためには、NVIDIA製の高性能なグラフィックボードを搭載したPCが必要と言われています。これは、Stable Diffusionが大量のデータを処理するために、高い計算能力が必要だからです。

また、Stable DiffusionはVRAM(ビデオメモリ)を多く必要とするため、GPUのVRAMが16GB以上であることが条件となります。

Stable DiffusionをUM350で使うために

Stable Diffusionを使うためには、一般的にはNVIDIA製のグラフィックボードが必要ですが、UM350には高性能なグラフィックボードが搭載されていないため、内蔵されたRyzen CPUのGPUを使用することになります。UM350にはAMD Ryzen 5 3550Hが搭載されており、Radeon™ Vega 8 グラフィックスというGPUを搭載しています。

このGPUを使ってStable Diffusionを実行する場合は、生成する画像サイズや出力条件を下げる必要がありますが、通常よりも時間はかかるものの、生成することができます。

Stable Diffusionのインストール

インストールにはAUTOMATIC1111版Stable Diffusion web UIを使用します。

またNVIDIA推奨のStable DiffusionをAMDのGPUで使うため、以下のページを参考にインストールを行いました。

Install and Run on AMD GPUs
Stable Diffusion web UI. Contribute to AUTOMATIC1111/stable-...

参照先のページにも記載されていますが、流れは次の通りです。

  1. Install Python 3.10.6 (ticking Add to PATH), and git
  2. paste this line in cmd/terminal: git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml && cd stable-diffusion-webui-directml && git submodule init && git submodule update
    (you can move the program folder somewhere else.)
  3. Double-click webui-user.bat
  4. If it looks like it is stuck when installing or running, press enter in the terminal and it should continue.

ここでは詳細には記載しませんが、流れを少し補足して説明します。

1.Install Python 3.10.6 (ticking Add to PATH), and git

Pythonの3.10.6とGitをインストールします。

インストール後、コマンドプロンプトで実行できない場合は、PATHが環境変数に追加されているか確認してください。
※インストール時にPATHに追加するOPTIONがある場合はチェック

2.paste this line in cmd/terminal

コマンドプロンプトを起動して以下のコマンドをコピー&ペーストし実行します。

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

コマンドを実行すると、現在のフォルダ配下に「stable-diffusion-webui-directml」フォルダが生成されます。

コマンドを実行する前にCDコマンドでインストールしたいフォルダに移動してください。

3.Double-click webui-user.bat

「webui-user.bat」を実行します。

※webui-user.batはstable-diffusion-webui-directmlフォルダの中にあります。

デフォルトのままでは動作しないかもしれないので、「webui-user.bat」を以下のように編集してください。

COMMANDLINE_ARGS=–opt-sub-quad-attention –lowvram –disable-nan-check –precision full –no-half

説明

  • VRAMが4~6GB程度
    –opt-sub-quad-attention –lowvram –disable-nan-check
  • Radeon RX 6000 シリーズや RX 500 シリーズ以外のGPUを使用
    –precision full –no-half
4.If it looks like it is stuck when installing or running, press enter in the terminal and it should continue.

下イメージのように「Running on local URL: http://127.0.0.1:7860」が出力されたらブラウザを起動し、URLにhttp://127.0.0.1:7860と入力してStable Diffusion web UI画面を開きます。

今回モデルのインストールについては割愛しています。

モデルが一つもない場合、自動的に「Stable Diffusion v1-5 Model」がダウンロードされるようになっている様です。
※昔はエラーとなっていたようなので、もしもダウンロードされない場合はモデルをインストールしてください。

UM350での画像生成

それではStable Diffusion web UIを使って画像生成を行ってみます。

Promptに「cat」を入力してGenerateボタンを押して実行します。
※その他出力設定がありますが、今回はデフォルトのまま

すると、画像が生成され始めます。
※時間がかかるので進行バーを見ながらゆっくり待ちましょう

しばらくして以下のように画像が生成されたら完了です。
※Size: 512×512で4m 26.33s掛かりました。

画像の生成に失敗した場合、VRAM不足の可能性があります。
サイズを変更小さくすることで使用するVRAMを抑えることができます。

出力時間を短くするには
  • サイズを小さくする
    縦長にする場合、Width:348・Height:512
  • Sampling stepsを少なくする
    デフォルト20でも問題なければそのままで
    ※あまり小さくすると変な画像が生成されるので15以上推奨

さいごに

UM350を使ってStable Diffusionを実行してみましたが、グラフィックボードを搭載した高性能なPCと比べると、生成には時間がかかりました。しかし、UM350でもStable Diffusionを実行することができる点は、非常に興味深いと感じました。

今後、より小型化・省エネ化されたPCが登場し、より多くの人がStable Diffusionを使えるようになることを期待しています。Stable Diffusionを使用することで、独創的なアイデアや新しいデザインを生み出すことができるかもしれません。是非、一度試してみてはいかがでしょうか。

タイトルとURLをコピーしました