3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【グラボなしで1秒画像生成】Stable Diffusionの高速版FastSD CPUを試してみた

Last updated at Posted at 2024-08-07

グラフィックボードなしでAIによる画像生成を試しているので、その備忘録です。一般的には画像生成に高価なグラフィックボードが必要になりますが、今回使用しているのはグラフィックボードなし(CPU内蔵)のモバイルPCです。

そうすると、Google Colabやその他のGPUレンタルなどの外部サービスを利用するのか?と思われますが、ローカルのみです。

これまでローカルのCPUのみで画像生成は、グラフィックボードを使用する時に比べ大幅に時間がかかっていましたが、FastSD CPUではLCM(Latent Consistency Model)やIntel社のOpenVINOを採用する事で高速生成を実現しています。

LCMとOpenVINOの詳しい説明については今回省略します。

検証に使用したマシンスペック
CPU:Core Ultra 7 155H
メモリ:32GB
GPU:Intel Arc Graphics(CPU内蔵)
OS:Windows11 23H2

OpenVINOを利用するにはIntel社製の対応したCPUが必要です
詳しくはIntel社のシステム要件をご覧ください
https://docs.openvino.ai/2024/about-openvino/release-notes-openvino/system-requirements.html

FastSD CPUとは?

FastSD CPUはCPU版のStable Diffusionの高速版です。2024年8月7日現在のバージョンはv1.0.0-beta.35です。CPU版といってもOpenVINOに対応しているのでCPU+GPUで生成出来ます。

ライセンスはMITとなっています。

FastSD CPUのページ
https://github.com/rupeshs/fastsdcpu

FastSD CPUでの画像生成時間

CPUの性能によりますが、性能が高ければ1秒未満でも生成できるようです。
1回目は時間がかかりますが、2回目以降は早くなります。
私の場合は1枚あたりの画像生成時間は1.2秒〜1.3秒程度でしたが、FastSD CPUのGithubによると0.82秒で生成できたようです。

FastSD CPUの画面

C__windows_system32_cmd.exe 2024_08_05 0_30_21.png

「a small cute cat」でGenerate

C__windows_system32_cmd.exe 2024_08_05 0_15_22.png

生成時間は1.36秒でした。
生成された画像がこちら。

9e0aae8a-1419-492f-9475-ab1a76de27b0-1.jpg

複数枚の画像生成

続いて4枚の画像を生成してみました。

FastSD CPU - Google Chrome 2024_08_14 7_05_31.png

生成時間は4枚で5.01秒
1枚あたりの生成時間は約1.25秒

C__windows_system32_cmd.exe 2024_08_14 7_08_50.png

生成された画像がこちら

83d62cd9-9eba-471e-9189-ab610970a675-2.jpg

FastSD CPUのインストール方法

・Python3.10か3.11が推奨
・Git

PythonとGitの詳しいインストール方法は省略します。

インストールを行うディレクトリに移動してfastSD CPUをCloneします。

git clone https://github.com/rupeshs/fastsdcpu.git

Cloneが完了したら、fastsdcpuのフォルダの中に移動して、install.batを実行します。インストールは結構時間がかかります。

インストールが完了したら、start-webui.batを実行して、http://127.0.0.1:7860 にアクセスします。

start-webui.batを実行してもすぐにバッチの画面が閉じる(落ちる)場合はVisual Studio CommunityのC++デスクトップ開発をインストールしてみてください。個人利用なら無償で利用できます。

Visual Studio Installer 2024_08_09 3_48_16.png

エラーのメモ
OSError: [WinError 126]指定されたモジュールが見つかりません。
Pytorch側の問題?fbgemm.dllが読み込めずコケている。

現状としてはVisual Studio CommunityのC++デスクトップ開発をインストールすることで上記の問題は回避できるようですが、将来的には改善する可能性があります。またVisual Studio CommunityのC++デスクトップ開発をインストールするより簡単に回避する方法をご存じの方おられましたら、ご教授いただけると嬉しいです。

FastSD CPUの使い方

基本的な使い方の紹介です。

Modeは当初LCMになっていますが、 OpenVINO対応の環境でしたら、LCM-OpenVINOの方が高速に生成できるかもしれません。ただしメモリはたくさん使います。

FastSD CPU - Google Chrome 2024_08_05 1_32_26.png

fantasy land scapeと書かれた場所がプロンプト入力エリアです。

練習なのでなんでもいいんですが、プロンプトエリアに「a small cute cat」と入力してGenerateを押してみてください。

C__windows_system32_cmd.exe 2024_08_05 0_30_21.png

1回目の生成は時間がかかりますが、2回目以降は早くなります。

ちなみに1秒台での画像生成に使ったモードはLCM-OpenVINO
使用したモデルが /rupeshs/sdxs-512-09-openvino
Generation Settingsタブの設定でUse tiny auto encoder for SDにチェックを入れて生成を行いました

プロンプトについては詳しく解説しているサイトを調べるか、ChatGPTなどのAIを使って生成してもらってください。

お疲れ様でした。

おまけ

FastSD CPUで他のモデルを試してみました。
LCM-dreamshaper V7 OpenVINOを利用しました。

ステップ数:4
画像サイズ:512x768

C__windows_system32_cmd.exe 2024_08_15 4_34_20.png

生成時間は13.53秒でした。

FastSD CPU - Google Chrome 2024_08_15 4_34_58.png

生成した画像

4106f7d1-a4bc-4b15-a6e5-979f8abbb73d-1.jpg

画像生成を本格的に使いたいという方には、グラフィックボード搭載のPCをお勧めしますが、趣味やお試し程度で生成AIを使う分には十分遊べる気がします。

最後までお読みいただきありがとうございます!

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?