ほんの数十秒で、任意の手持ちのモデルを解析して、画像生成には不要な情報を削除することができる拡張機能「model toolkit」の使い方を解説し、生成される画像への影響を検証しました。
これにより、モデルによっては容量を50%以上を削減でき、ストレージの容量不足を解消できます!!
この拡張機能で何ができるの?
- モデルの不要な情報を削除しモデル容量を削減
- モデル容量削減により次のようなメリットがあります
- モデル切り替え時間短縮
- ストレージ有効活用
画像生成に必要な情報は維持しつつ、モデルの容量を削減するため、出力画像にはほとんど差異はできません。
下に一例載せておきます。
処理前のモデル(3.97GB)
容量削減後のモデル(1.99GB)
後半でより多くの比較画像を載せています。
1, 容量削減拡張機能「model-toolkit」の導入方法
この拡張機能はURLを使用してインストールできます。
以下のURLをコピペしてください。
https://github.com/arenasys/stable-diffusion-webui-model-toolkit
なお、URLを使用した拡張機能のインストール方法はこちらを参照してください。
インストールし終えたら、念のためWebUI(1111)自体を再起動します。
「Toolkit」タブがあればインストール成功です。
2, 「model-toolkit」の使い方
各種設定を行う
SettingsタブのModel Toolkitの項目を開いてください。
現時点では2つの設定項目があります。
- Fix broken CLIP position IDs : モデルのCLIP IDが壊れていたら修復する
- Enable Autopruning : 自動剪定を有効化する
どちらもチェックを入れておけばOK.
なお、設定を保存する際にエラーが出る場合があります。
その場合は、WebUIの黒い画面を一度閉じてから再び起動し、同様の設定を行ってください。
WebUI上の再起動ボタンではなく、あくまでも黒い画面を閉じてから再度起動です。
「model-toolkit」を使用する
Toolkitタブを開きます。
モデルが一覧表示されるので、容量を削減したいものを選択し、読み込みボタンをクリック。
モデルの解析結果が表示されるまで数十秒待ちます。
※モデルの解析時間はストレージ速度とCPUのスペック次第で大きく変わります。
処理が終わると基本タブに結果が表示されます。
Report (1745/2662/0018) Model is 3.97 GB. Model type identified as SD-v1. Model components are: UNET-v1-SD, VAE-v1-SD, CLIP-v1-SD. Contains no junk data. Wastes 1.99 GB on precision. Model will be pruned to 1.99 GB.
現在のモデルの容量と、削減後の容量が表示されました。
たまに予め削減済みのモデルなど容量が変わらないものもあるので、よく確認してください。
削減できることを確かめたら、保存ボタン(Save)を押します。
削減後のモデルはstable-diffusion-webui\models\Stable-diffusion
に保存されます。
ちゃんと削減できてますね(0.01GBは誤差でしょう)
3, モデルの容量削減は生成画像に影響するか検証
元のモデルと処理後のモデルを使って、ほかの条件を揃え画像生成してみました。
処理前のモデル(3.97GB)
容量削減後のモデル(1.99GB)
差はありますが、意識して探さなければ問題にはならない程度です。
xformersなどによるブレと同程度?!
具体的には、
上から2番目の画像の左袖の紫色の濃さ、右ツインテールや、
3番目の右膝上の桃色のクッションの有無などが主な違いです。
4,まとめ モデル容量削減拡張機能「model-toolkit」の使い方と画像への影響
- URLからインストール
- WebUIを一度閉じて再度起動
- Settingsタブでmodel-toolkitの設定を変える
- 容量を削減したいモデルを選択
- 削減を実行&保存!!
これだけでモデル容量を半減できます。
モデルサイズが小さいと、モデル切り替え時間短縮などの恩恵もあり、限られたストレージの有効活用にも繋がります!!
他にも有用な拡張機能はたくさんあるので、是非見ていってください!!