RadeonRX570(8G)でも画像生成AIを動かしたい・・・!【ComfyUI】

コンピュータ関連
この記事は約20分で読めます。

(2025.1.3 記)

今生成AIが流行ってますが、調べてみてもどれもこれもNvidiaの高メモリのグラボばかり・・・

グラボのメモリ8Gbもあれば動くらしく、MMORPGをするのに利用していたグラボがちょうどRadeonRX570(8G)

一般的に画像生成に利用されるのは「StableDiffusion-WebUI」の「DirectML」を利用するバージョンになると思いますが、実際にセットアップしてみるとクッソ重くて使えたもんじゃありませんでした

そもそも一般的に公開されているモデルはNvidiaの基盤プラットフォームの「CUDA」の利用に特化されてのが現状

Radeonのプラットフォーム「ROCm」や「DirectML」を利用も可能ですが、代替処理になるのでどうにも重い・・・

その中で「ComfyUI」という「StableDiffusion」が利用できるとても軽いプラットフォームを見つけたので、それをセットアップして利用してみた備忘録になります。

(正確にはGeminiに聞いて色々トライエラーして動くようになったやり方を紹介する内容です。)

 

所要時間:初めてだったので、まる5日(約40時間)かかりました

 

0.実行環境

■環境構築に利用した環境

・Windows10

 RadeonRX570(8Gb)

 メモリ32Gb

 AMD Ryzen 5 2400G

 

1.StableDiffusion-ComfyUI のインストール

1.Git のインストール

まずGitをインストールします。

これはGitHubというクラウドに管理されているファイルを取得、管理するためのツールになります。

↓からページに入り、64-bit Git for Windows Setup をダウンロード、インストールすればOKです。

Git - Install for Windows

選択肢は何も考えず、全部初期設定値を選択肢OKを押していけば大丈夫です。

 

2.Python3.10.6 のインストール

記載日では、ComfyUIで上記Pythonのバージョンが指定されてましたので、指定通りインストールすることとします。

↓からページに入り、下にスクロールしていけば指定のバージョンのインストーラが見つかると思います

Python Releases for Windows
The official home of the Python Programming Language

インストール時、次の部分だけ注意し、後は初期値のままインストールすればOKです。

 

3.Miniconda3 のインストール

これは仮想環境構築ソフトになります。

この仮想環境内にComfyUIが動作するサーバを構築し、ブラウザより仮想サーバを通してAIツールを利用するといった感じです。

↓からページに入り、Windows版のMinicondaをダウンロードします。

Installing Miniconda - Anaconda

インストール時には次の1点注意点があり、それ以外は初期値でOKです。

 

4.ComfyUI のダウンロード

まず任意のディレクトリにComfyUIをインストールするためのフォルダを作成します。

ここにはモデルとなる「Checkpoint」や、追加学習モデル「Lora」の格納場所ともなりますし、特にモデルは6Gb程大きなファイルとなるので、Cドライブではなく、他の保存領域に作ると良いです。

自分はDドライブ直下に、「StableDiffusion-ComfyUI」という名前のフォルダを作成しました。

フォルダを作成しましたら、そのフォルダの中に入り、アドレスバーに「cmd」と入力し[Enter]ボタンを押下します。

※指定したディレクトリでコマンドプロンプトが開きます。

そのまま次のコマンドを入力します。

git clone https://github.com/comfyanonymous/ComfyUI.git

これは、指定されたクラウド上からリソースをダウンロードするコマンドになります。

これにより、実行時に最新のComfyUIのリソースが、コマンドプロンプト開いたディレクトリにダウンロードされます。

※リソースの容量が大きいので、ダウンロードに時間がかかります

実行が完了されると、先ほどのフォルダ内に、「ComfyUI」という名前のフォルダが存在する(ダウンロードされている)はずです。

次に、次のコマンドを入力し、先ほどダウンロードしたフォルダに移動します。

cd comfyui

 

5.Miniconda 内に ComfyUI の実行環境を作成

次のコマンドを入力し、Miniconda内にComfyUIの実行環境を作成します。

正確には、Minicondaという仮想環境内に、ComfyUIのAPサーバを建てる、ということを行っています。

conda create -n comfyui python=3.10.6

もし、Pythonのバージョンが違うものを導入している場合は、このpythonのバージョン数を変えてあげればOKです。

ここの「comfyui」というのは仮想環境につける名前ですので、これは任意の名前で大丈夫です。(わかりやすいよう便宜的に付けてます。)

途中、「Yes / No」で聞かれるところがあるので、そこは「y」でYesを選択すればOKです。

 

次に、建てたサーバ内に、ComfyUIの実行環境をセットアップしていきます。

まずは次のコマンドで仮想環境に入ります。

conda activate comfyui

ここの「comfyui」は、先ほど名前を付けた仮想環境の名前になります。

仮想環境内に入ったかどうかは、コマンドライン上の表記の頭に、「(comfyui)」という仮想環境名が表示されてれば入れていると判断できます。

次のコマンドで、RadeonでComfyUIを動かすためのモジュールを導入します。

pip install torch-directml

これはDirectML版のtorchというモジュールを導入するって意味ですね。

どんどん行きます。

pip install -r requirements.txt

これは先ほどダウンロードしたファイルの中の「requirements.txt」に、セットアップに必要なモジュール名が列記されてあるので、これらを次々に読み込んで導入してくれるスクリプトです。

導入はここまでです。

では実際に、次のコマンドで実行テストしてみます。

python main.py --directml

暫くしてブラウザで次の画面が開くと思います。そうしたら成功となります。

毎回コマンドを入力するのが面倒なので、バッチ化します。

とりあえず、一度ブラウザを閉じます。

その後、コマンドプロンプト上で「Ctrl+C」を入力し、サーバを停止させます。

停止したら、コマンドプロンプトも閉じます。

ComfyUI」フォルダ内で 右クリック → 新規作成 → テキストドキュメント を選択しテキストファイルを作成します。

名前を次の通り変更します。

start.bat

※拡張子は表示する設定にしておいてくださいね

そしたらそのファイルを、右クリック → メモ帳で編集 で編集画面を開きます。

次のコマンドをコピペし、保存しましょう。

call conda activate comfyui

python main.py --directml --auto-launch --lowvram --disable-smart-memory

青字は起動オプションになります。

メモリが少ないとクラッシュするので、なるべく消費メモリは抑えてね・・・という呪文になります。

オプションについては、知識がある人であればここを見ながら微調整してみてください。

次回からは、このバッチファイルをダブルクリックするだけで起動するはずです。

 

2.モデル等の紹介

実際にインストールが終わっても、モデルと呼ばれるファイルが無いと生成できません。

次のサイトは、様々なモデルがアップロードされているサイトになりますので、お好きなモデルを見つけてみてください。

Civitai: The Home of Open-Source Generative AI
Explore thousands of high-quality Stable Diffusion & Flux models, share your AI-generated art, and engage with a vibrant...

モデルは大きく次の2つに分類されます。

  • Checkpoint: ベースモデルです。絵柄などのベースになります。「ComfyUI」フォルダ内の「Model / Checkpoint」に保存して利用します。
  • Lora: ベースモデルに対し、追加学習されたモデルになります。例えばキャラクタやポーズなど、ベースモデルの絵柄で特定のキャラクタを出力したい場合、対象のLoraファイルを追加利用する形になります。「ComfyUI」フォルダ内の「Model / Lora」に保存して利用します。

凄く大量にあるので、頑張って見つけてみてください。

 

3.ワークフロー解説

実際は、ワークフローという、各々処理するブロックを連結させたものを作って生成するのですが、私は以下のようにしてワークフローを作っています。

一応これがオーソドックスな形かと。

もっと複雑にして色々細かい処理を行うこともできますが、有料、無料含めて色々なサイトで紹介されていますので、探してみると良いかと思います。

サンプラーの値は、利用するベースモデルの適正値がありますので、その値付近で微調整し、自分なりの値を見つけてみてください。

 

4.最後に

RX570(8Gb)だと、1280×1040pixサイズ2枚出力するのに、約20分時間がかかりました。

※これには最初にCheckpointやLoraを読込む時間は含まれていません

また、Radeonを利用する欠点として、記述日時点では動画生成が利用できない(CUDAで処理してくださいというエラーが出る)という点です。

昨今のメモリ価格高騰により、自分のAIに関する自己学習の為に、NvidiaRTX4060Ti(16Gb)を買っちゃいました・・・(7万・・・)

で、多分どんどん高騰してる・・・

同様の処理を行い、スピードは約1分30秒

くっそはえぇ・・・

ちなみにNvidiaであれば、「ComfyUIアプリ」というそもそも1つのアプリケーションになったものがあるので、そちらを使った方が早いです。

Exeでインストールするだけで、使い方は一緒なので。

ComfyUI | Generate video, images, 3D, audio with AI
The most powerful and modular visual AI application and engine

何はともあれ、RX570であれば安い(約2万?)ですし、生成AIを始めてみよう!という人には良いかと思います。

8Gbもメモリが載ってるので、ある程度のゲームもサクサク行くかと思うので、生成AIに飽きても問題ないかと。

それでは良きAIライフを。

 

コメント

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