このページの本文へ

Stable Diffusion入門 from Thailand 第20回

話題の画像生成AI「FLUX.1」をStable Diffusion用の「WebUI Forge」で動かす(高速化も試してみました)

2024年08月18日 17時00分更新

文● 田口和裕

  • この記事をはてなブックマークに追加
  • 本文印刷

さっそく生成してみよう

 以下はStable Diffusion WebUI Forgeの起動画面だ。

Stable Diffusion WebUI ForgeのUI

 画面左上の「UI」セクションでは、利用するAIモデルを選択できるようになっている。今回はFLUX.1を使用するので「flux」をクリックしてみよう。

UIをfluxに変更

 すると、画面上部の要素がFLUX.1専用のものに変更される。

fluxのUI

 ここでは「Checkpoint」欄に「flux1-dev-bnb-nf4-v2.safetensors」、「VAE/Text Encoder」欄に「t5xxl_fp16.safetensors」を選択しよう。

Checkpoint、VAE/Text Encoderを選択

 次に各種設定を確認していこう。AUTOMATIC1111版WebUIやForgeを利用したことがある人ならスムーズに理解できるだろう。

 ①「Prompt」:描いてほしい画像の説明を英語で記入する。推奨は75トークン以下となっている。

 ②「Negative Prompt」:FluxモデルはNegative Promptを使用しないためここは空欄で。

 ③「Sampling steps」:「Dev」は20、「Schnell」は4が推奨されている。

 ④「Width / Height」:ここでは「1152/896」とした。

 ⑤「CFG Scale」:Fluxモデルは「1」で固定。

 ⑥「Distiler CFG Scale」:Fluxモデル特有の機能で、通常のCFG Scaleを補完または置き換える。推奨値は「3.5」。

 ⑦「Generate」:画像生成を開始

 プロンプトは前回も使用したものを流用。なお、これで30トークンなのでこれの2.5倍くらいの分量まではいけそうだ。

プロンプト:A photorealistic portrait of a young woman with dyed pastel pink hair and subtle makeup, wearing trendy streetwear, standing in a bustling urban crossing with neon signs in the background

 「Generate」をクリックすると生成が開始される。ログを注意深く見ていくとわかるが、モデルのロードに必要なメモリーの計算をして、GPUメモリーで足りない分はCPU側のメモリーにロードしているようだ。

 タスクマネージャーのパフォーマンスを見ると、GPUメモリーは12GB中7.7GBしか使われておらず、CPUのメモリーが23.6GB使われていることがわかる。貴重なGPUメモリーをCUDAの共有GPUメモリーではなく通常のCPUメモリーで肩代わりしているわけだ。

タスクマネージャー

 ということで、無事いつものピンク髪お姉さんが生成された。かかった時間は50秒だったが、2度目以降は35秒ほどに落ち着いた。ComfyUIでは1分以上かかっていたので大幅なスピードアップに思えるが、今回使用しているのは前述のように量子化によって軽量化したNF4版のため、純正モデルより画像のクオリティーは落ちているはずだ。

Dev(NF4)版

カテゴリートップへ

この連載の記事
ピックアップ