Stable Diffusionは自由にプロンプトを入力することができ、誰でも比較的簡単にAI画像を生成できる便利なツールですが、ときには画像の生成速度が遅くて使いづらいと感じることもあるのではないでしょうか?
そんなときは、「ToMe」という拡張機能を使うことで、画像の生成速度を格段と早くすることができます。
今回は、「画像の生成速度が遅くて困っている」という方向けに、Stable Diffusionの拡張機能である「ToMe」について解説していきたいと思います!
※Stable Diffusionの立ち上げ方・使い方については、以下の記事で詳しく解説しています。
拡張機能「ToMe」とは?
まずは、「ToMe」という拡張機能が一体どのようなものなのかについて詳しく解説していきたいと思います。
「ToMe」とは、「Token Merging」の略称のことを表していて、使用するにあたって基本的に追加料金を払う必要がない拡張機能です。
「Token Merging」とは、「redundant tokens」を取り除き、それらを一つに統合することで、処理を高速化したり、メモリの効率を図ったりすることができる技術のことを指します。
「redundant tokens」は、日本語で表すと、「文中に必要のない冗長なトークン」という意味になります。
つまり、「ToMe」を用いることで、データの処理が高速化され、画像の生成速度をあげることができるということです。
また、「ToMe」は「xformers」との併用も可能であることが「Github」の公式サイトに記載されています。
特にアップスケーラーを用いて高画質化を図る際に効果を発揮します。
拡張機能「ToMe」の導入方法
続いて、「ToMe」の導入方法について解説していきます。
「ToMe」の導入は以下の手順を踏むことで可能です。
- Stable Diffusionを起動し「Extensions」タブを開く
- 「Install fromURL」をクリックする
- 「URL for extension’s git repository」に「https://github.com/SLAPaper/a1111-sd-webui-tome」と入力する
- 「Install」をクリックする
以下の手順で「ToMe」のインストールが完了したら、Stable Diffusionを再起動してください。
そうすることで、「ToMe」の使用が可能になります。
Stable Diffusionを再起動した際、「Seed」という項目の下に「Enable ToMe optimization」と記載されていれば、正常にインストールされていることになります。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい
拡張機能「ToMe」の使い方
ここからは、「ToMe」の具体的な使い方について解説していきます。
「ToMe」の使用手順は、以下のとおりです。
- Stable Diffusionを起動し、「Settings」タブを開く
- 「ToMe Settings」をクリックする
- 「ToMe merging ratio」を設定する
- 「Only activate tome if image width reach this value」を設定する
- 「Only activate tome if image height reach this value」を設定する
- 「txt2img」タブか「img2img」タブを開き、「Enable ToMe optimization」にチェックを入れる
また、上記の手順に記載したとおり「ToMe」を使用するにあたって設定が必要なパラメーターは、
- 「ToMe merging ratio」
- 「Only activate tome if image width reach this value」
- 「Only activate tome if image height reach this value」
の3つとなります。
それぞれのパラメーターについて詳しく解説していきます。
「ToMe merging ratio」
こちらは、どの程度画像の生成速度を上げるかを設定することができるパラメーターとなっています。
スライダーを右にスライドして数値を大きくするほど画像の生成速度は早くなる一方で、生成される画像の細部の質は低下していきます。
基本的には、デフォルトの「0.5」の状態にしておくことをおすすめします。
「Only activate tome if image width reach this value」
「Only activate tome if image height reach this value」
こちらの2つのパラメーターは、「ToMe」を有効化する画像のサイズを設定することができるパラメーターです。
例えば、「ToMe」を有効化して「768×768」のサイズの画像を生成したい場合、こちらのパラメーターの数値も「768×768」に設定しておく必要があるため、スライダーをスライドして、「Only activate tome if image width reach this value」と「Only activate tome if image height reach this value」の数値をともに「768」にする必要があります。
ただし、「ToMe」の使用目的が高画質化のみの場合はこの2つの数値はデフォルトのままで大丈夫です。
【検証】拡張機能「ToMe」を使ったらどのくらい生成速度が変わる?
それでは、実際に画像を生成しながら、「ToMe」を有効化した場合とそうでない場合で、どのくらい画像の生成速度が変わるのか検証していきたいと思います。
まず、条件をそろえるために、「ToMe」以外のパラメーター設定はデフォルトの状態のままにしておきます。
そして、プロンプトや「Seed」に関しても、「ToMe」を有効化した場合とそうでない場合で同様のものを使用します。
今回用いたプロンプトは以下です。
・プロンプト
1girl, long hair, red eyes
・ネガティブプロンプト
worst quality, low quality, bad body, poorly eyes
また、今回の検証に使用した「Seed」は以下です。
608593136
最初に、「ToMe」を有効化せずに、画像を生成してみました。
すると、「7.93」秒で、以下の画像が生成されました。
そして、「ToMe」を有効化してから画像を生成すると、「6.47」秒で以下の画像が生成されました。
「ToMe」を有効化したところ、「1.16」秒も早く画像が生成されたことがわかります。
まとめ
いかがでしたでしょうか?
今回は、画像の生成速度をあげることができる拡張機能「ToMe」について解説してきました。
今回のポイントをまとめると、以下のようになります。
- 「ToMe」は、データの処理を高速化し、画像の生成速度をあげることができる拡張機能
- 実際に「ToMe」を使って画像を生成してみると、使わなかった時より1.16秒も生成速度が上がったことから、生成速度を少しでも早くしたい方は「ToMe」を導入するべき
「ToMe」がどのような拡張機能かご理解いただけたでしょうか?
「ToMe」を使うと画像生成速度が格段とアップするので、画像生成が遅くて困っている方はぜひ活用してみてください!
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい