Scribble at 2023-08-26 08:27:42 Last modified: 2023-08-26 08:40:19

添付画像

Stable Diffusion 関連のページで、このところ目につくのがビデオ・カードのアフィリエイトを兼ねたブログだ。もちろん、画像生成 AI を快適かつ効率的に利用したければ強力なスペックのマシンを使うに越したことはない。でも、画像を生成する仕事をしているわけでもなければ、僕の環境でも十分に実用的に使えている。繰り返すが、僕の環境は Ryzen 5 + SSD 500 GB + HDD 1 TB + NVIDIA RTX 2060 6 GB という、恐らくは Stable Diffusion が動く最低ラインのスペックだ。実際、ページング(仮想メモリ)をやめるとメモリ不足のエラーが起きて画像を出力できなくなるので、ビデオ・カードのメモリだけでは明らかに足りないわけで、GPU の処理能力としても LLM を扱うには最小条件と言っていい。それでも十分に使えている。

僕が「最終出力データ」として扱っている画像の実物をアップロードするわけにはいかないので、絵柄のサンプルだけとなるが、たとえば僕のふだんの使い方としては、まず上のように 891 x 630 ピクセル(おおよそ A4 判の比率)で画像を出力する。分散モデルをトレーニングしている際の 512 x 512 ピクセルと比べて変則的なサイズやプロポーションだが、このていどで自分の求める画像を出力できないなら、それは単に Stable Diffusion Web UI の扱いや色々なパラメータの調整が不足しているというだけのことだ。もともとノイズ・デノイズの処理には一定の確率という不確定な要素があるため、常に意図した画像を出力するものではないという仕組みを理解していれば、僕らが期待するべきなのは歩留まりにすぎないわけである。で、こういう変則的なサイズでも特に問題なく画像は出せるので、色々な画像を出して遊んでいる。6月の中旬頃から使い始めたので2ヶ月ほど経過したが、たぶん概算でも数十万枚は出力している筈だ。ちなみに電気代を気にする人はいるが、目立つほど電気代が上がっている実感はない。ただし、この時期なのでエアコンを使い始めたという理由で電気代が上がっている効果も同時に出ているため、画像生成だけでどのていどのコストになるかは別の時期に昨年などと比較する方がいいのだろう(しかも、原油価格などの影響で正味の値段を比較してもしょうがないから、せいぜい変動率ていどでしかわからないが)。

さて、891 x 630 ピクセルというサイズだと、スマートフォンで眺めたり、あるいは Twitter もとい X に投稿して眺めるといった用途なら問題ないのだろうが、たとえば印刷できる版下のサイズとなると、更に大きなサイズで出力する必要がある。これは、ご承知の方も多いと思うが、幾つかのプラグインがある。僕は Tiled Diffusion というのを使っていて、A4 のフル・カラー印刷で版下として使えるほどのサイズだと 4,093 x 2,894 ピクセルていどにする必要があるため、Tiled Diffusion で5倍の精細度に変換している。モノクロだと更に 600 dpi くらいにするべきだと言われているので、標準的な変換率の範囲では限界に近い8倍の精細度で変換している。これだと、7,104 x 4,992 ピクセルというサイズだ。ここまで大きくすると、出力した画像は 30 MB くらいのファイル・サイズになるため、もちろん上のような添付ファイルとしてアップロードするには大きすぎる。しかし、ともかく僕の使っている貧弱な環境でもこれだけのサイズの画像に問題なく拡大・精細化できるわけである。なお、出力した直後の Windows プロンプトの画面も参考までにサンプルの画像と一緒に提示しておく。これも、Stable Diffusion を起動しながら Photoshop CC 2023 を起動して画像の編集ができているわけで、多くのブログ記事で書かれているほどハイ・スペックな環境がなければどうにもならないなんてわけではないのだ。たぶん、僕の環境よりもハイ・スペックなのに動作しないとか快適に出力できない(8倍のサイズに変換しても、せいぜい所要時間は2,3分だ)なら、それはマシンのチューニングが不足していたり、余計な常駐ソフトが多過ぎるせいかもしれない。でも僕のマシンだって仕事でも使うから Dropbox + Google Drive + OneDrive のクライアントが三つも起動するなんて状態だから、常駐ソフトだけの問題でもないのだろう。

それから、他にどういうオプションを使うかにもよるが、こういう場合に人物の目をきれいにしたいとか色々と盛り込みすぎると逆効果になる。たとえば目や手をキレイに描き直す ADetailer というアドオンがあって、これは最初のサイズで画像を出力するときには頻繁に使っているが(そうしないと、たいてい全身が映る程度のサイズにした人物の顔は奇形になってしまう)、これを Tiled Diffusion でさらに適用しても意味がないどころか、ADetailer が目や顔と判定して処理した部分が逆に画像として荒れてしまったりするので調整が難しいし、画像を出力する所要時間が桁外れに長くなる。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook