Stable Diffusion web UIのモデルやVAEをRAMにキャッシュさせて高速化
Stable Diffusion web UIは様々な画像やイラストをかなりの高精度で生成できる画像生成AIツールですが、それだけに非常にマシンパワーを要し、ハードウェアの制約、グラフィックボードの制約と日々格闘している人も多いと思います。
今日はStable Diffusion web UIを高速化するためのテクニック。モデルやVAEをRAMにキャッシュさせて高速化する手法を解説したいと思います。
モデルファイルとVAEをRAMにキャッシュさせる
ディフォルトでは、モデルデータをキャッシュする設定が無効になっており、この設定を有効化します。WebUIの設定から「Stable Diffusion」のモデルについては「Checkpoints to cache in RAM」、VAEについては「VAE Checkpoints to cache in RAM」を1以上に設定します。
モデルデータについてはSDXLで大きくても現状8GB〜10GBなので、RAMが32GB程度あれば十分に利用可能だと考えます。SD1.5の場合であればさらに少なくても行けるかも知れませんね。ちなみにSDXLのモデルとビューをキャッシュした際のメモリ利用料は以下の通り。
生成速度の違い
SDXLモデルで1024×1024で画像を生成してみてタイムトークンの違いを見てみます。手元の環境だとおおよそ2秒縮まりました。
キャッシュ無し
Time taken: 6.0 sec.
モデル・VAEキャッシュ有り
Time taken: 3.9 sec.
RAMに余裕があるのであればオススメ
Stable Diffusionを利用する場合、1枚画像生成して終わりなどということは無く、何枚も生成する方が多いと思います。仮に1秒程度の短縮だとしても1000枚出力すれば15分以上の短縮となりますので、RAMに余裕があるという方は是非ご活用ください。