メインコンテンツへスキップ
見出し画像

【EVO-X2】StableDiffusionをAI ミニ PCで稼働させてみた ~Radeon 8060Sは使えるのか?~

    こんにちはRcatです。
    今回は久しぶりに画像生成AI Stable Diffusion (AUTOMATIC 1111)を動かしてみようと思います。
    何せせっかくモンスターPC手に入れましたからね!


    はじめに

    利用規約

    情報や作品の活用時は事前に利用規約をご確認ください。

    コメントについて

    利用規約のガイドラインを確認の上コメントしてください。
    則っていないコメントは削除します。


    概要

    Rcat 画像生成の歴史

    どうでもいい方はスキップw

    数年位前に画像生成を始めて、ミニPCで24H尊い生成的なことをしていました。
    AIが入っていたSSDが破損したのを機にやめてましたが、AI 用のPCが手に入ったならもう一度試すしかありません。
    しかも、以前はSDXLはメモリの関係で動かなかったので、今回からはXLにアップグレードです!

    サブ垢での癒し無限生成再開しましたw
    自己責任でEnterしてみてください。

    AUTOMATIC1111を実行する

    ダウンロードと実行

    昔からやってますので、適当にサクサク進めます。(まぁそうはいかないんだが)
    以下の公式GitHubからとりあえずgitコマンドでクローンします

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

    画像

    こんな感じでいっぱいデータが手に入ります。

    画像

    次にさっそく実行します。Linuxなのでwebui.shですね

    画像

    はい、エラーになりました。

    画像

    久しぶりで忘れてましたが、引数が必要なんですよね。
    それに対応するのがwebui-user.sh。
    これを書き換えて使います。

    該当箇所はたぶんここ。
    こちらの記事で紹介したAPIも有効にする。

    画像

    エラー祭り

    いやな祭りですね。
    まぁすんなり動くとは思っていませんでしたよ。

    コンパイルエラー

    またエラーになりました。
    今度はRustのコンパイラがないみたい。

    画像

    よくわからなかったのでGeminiに聞いてRustをインストールしました。

    画像

    インストール後は以下のコマンドを打つと一時的にPATHが追加され有効になるみたい。

    . "$HOME/.cargo/env"

    またエラー

    もう面倒なので画像はないですが、今度はOpenSSHがないぞと怒られました。
    これもGeminiに聞いて以下のコマンドでOpenSSHをLinuxに入れる。

    sudo apt install libssl-dev pkg-config

    さらにエラー

    今度はPython3.12であるパッケージがなくなったことに起因して動かなくなっていました。
    というわけで3.10に下げます

    # PPA を追加するためのユーティリティをインストール
    sudo apt update
    sudo apt install software-properties-common
    
    # deadsnakes PPA をシステムに追加
    sudo add-apt-repository ppa:deadsnakes/ppa
    
    # パッケージリストを更新
    sudo apt update
    
    #python3.10とvenvのインストール
    sudo apt install python3.10 python3.10-dev
    sudo apt install python3.10-venv

    下げたらpython3.10のほうを使うようにコマンドを書き換える。
    それっぽいところがあるので多分これでいいはず。

    画像

    動き出した

    やっと起動

    動き出しました!
    やっぱりAIは進化が速いのでほんの数年でそのままでは使えなくなりますね…。

    画像

    ファイアウォールを解除してアクセスしたところ見慣れた画面が出てきました!

    画像

    画像生成してみた

    この前手指がきれいにかけているモデルを見かけたのでそれを採用。今まで使っていたいのは、旧世代のモデルなのでアップグレードです!

    というわけでぽちっとした結果がこちら。画像出てきました。
    処理時間は大体1:40くらい。
    とりあえず動くことがわかりました。

    • サイズ512 x 768

    • DPM++ 2M

    • Step 20

    画像

    どうでもいいかもしれないけど、このモデル"yuri"の意味理解できるんだ…。
    プロンプトは面倒なので前に生成したやつ解析してコピーしましたw

    CPUで演算な件

    で、こちらを見ていただきましょうか。
    そう、CPUで演算してるんです!
    RTX2060より圧倒的に生成遅いと思ったんです。GPUなら過去の遺産より早いはずなのにです。
    ちなみにメモリは6GB程度占拠してます。16GB程度のPCだと片手間には厳しいサイズですね。演算中にさらに増えるわけですから。

    画像

    バージョン欄にはしれっとROCmって書いてあるので実は期待してたんですよね…。
    いやまぁN100 CPUで一枚15分(UPScale1時間)かけてた頃よりだいぶましではあるんですが…。

    画像

    GPUで動かす

    ここからはかなり無理やりになるのですが、GPU使えないか試していきます。

    なぜGPUが使えなかったか?

    というのも、自動で入っているtorchのROCmバージョンが5なんですが、手元のが7なんですよね。絶対あってないやつ。
    というわけで、強制的に7.xに入れ替えてしまいます。

    画像

    Radeon GPUで動くようにする

    色々調べた結果が以下
    RCOM関連の環境変数を強制的に追加。radeon8060SはGFX1151なのでそれにする。
    コマンドも再インストールを求めるオプションを追加。
    torchのインストールコマンドを公式から7.0のに変更(ちなみにプレビュー版でないと7.xはない)。

    画像

    しかもROCmはLinux限定というwわかってるではないか。

    画像

    また、再インストールがうまく効かないので、あらかじめtorch関係は削除すること

    pip uninstall torch torchvision -y

    うまく起動するとこんな感じ。7.0になっています。

    画像

    GPUメータはこんな感じ。
    26G => 40GになったのでVRAMを使っている。つまり期待できる。

    画像

    結果がこちら。
    生成時間は1:10でした。CPUの時よりは早くなりましたという感じです。後なぜか極彩色です。

    LLMベンチに似た感じですね。CPU演算でも1.5倍かかるかどうか程度なので、画像生成でも似たような感じにあるみたいです

    画像

    ちなみに、GPUなら--no-halfなくても行けるのではと思ったのですが、エラーになってダメでした。GPUが速いのは半精度が使えるからというのもあるはずなんですが。
    CPU内蔵だとFP16でもっと軽く演算とかはダメなんですかね?それともライブラリ周りの互換性か?
    →実はインストール時にrcom7.0だけ新しいので互換性の問題で警告がでていたりする。なので、とりあえず動いているからいっか状態。
    というのも原因な気がしますが、どうなんですかね。


    CPUでアップスケール

    512x768で25ステップをAnime6Bを使って、強度0.7の1.7倍サイズへアップスケール処理は10分でした。
    N100の時は通常のSD(今回はSDXL)で1時間以上かかっていたのでまぁ上出来でしょう。
    とはいえ選ばずに全部高画質化すると毎時6枚しか生成できない(電気代が…)

    画像

    まとめ

    今回は久しぶりにStable Diffusionで画像生成をしました。
    トラブルはあったものの、一応動いたのでよしとします。
    また、生成速度が劇的に変わるわけでもないので、CPUのほうで演算しようと思います。GPUはLLMも使うので、リソースの競合などを考えるとCPUでいいかという感じです。
    どうせbotを使えば24時間使えるわけなので…。逆に生成速度を落とさないと確認が大変になります。

    正直、処理速度としては過去RTX2060でやってた時以上を想定していたのですが、全然ダメ。そういえばあれはForgeで高速化されていたんでした…。
    そう考えるとやはりこの辺はNvidia一択なのか?

    EVO-X2と同時にPC組み替えて、今はRTX5070tiになったので、余裕があればこっちでも生成してみようと思います。

    次回

    せっかくローカルLLMがGPUを占拠してますので、組み合わせてしまいます。
    日本語をLLMにプロンプト化してもらって日本語から画像生成を完全ローカルでやってみようと思います。

    追記:RTX5070Ti / Web UI Forgeの結果

    RTX5070 Ti によるWeb UI Forgeの生成速度は同条件で2秒でした。圧倒的かおい…。

    画像

    最新のCUDAとTorchも最新の130にすることで特に問題なく動作しました。

    画像

    ちなみに2倍のアップスケーリングは12秒。こっちも圧倒的…

    画像
    画像

    リンク集

    【Linux】Systemd追加支援スクリプト

    ミニPCにLinuxをインストール

     
     
    モノづくりが趣味。 "売ってないなら自分で作ればいいじゃない"をコンセプトに、機械/電気/AI/プログラム/ネットワーク 全部やります。 記事執筆はAI不使用。 ご連絡や利用規約はプロフィール記事参照。

    あなたへのおすすめ