見出し画像

【入門】GTX 1660ti の限界を調べる【StableDiffusion】

割引あり

はじめに

先に結論です。設定したやり方では限界に到達しませんでした。。

webUIが発表された当時だと 1660 (6G) では、512x512 解像度でも失敗する事があり、実用的な上限は1024x1024でした。

しかし2024年現在、メモリ管理周りが大きく改善した Stable Diffusion webUI Forge と最新の Nvidia GPU ドライバを利用すると、システムメモリをGPUのディスク・スワップ(仮想メモリ)のようにしてエラー終了を回避し、解像度の高い画像が生成可能になっています。

この記事では、Stable Diffusion webUI Forge を利用して、SDXLモデル  juggernautXL_version6Rundiffusion.safetensors の txt2img、img2img の上限を調べようと思います。 (たぶんモデル依存はないと思いますが)

条件

システム

OS:Linux Mint 21.3 x86_64
CPU:Intel i7 6700
GPU:NVIDIA GeForce GTX 1660 Ti(6G)

Stable Diffusion webUI forge

生成実行

プロンプト&ネガティブ・プロンプト

※ 記事の一番最後(有料)に載せています。SD1.5・SDXL 共に筆者が良く使うプロンプトです。

txt2img

次の解像度で調査しました。すべて問題なく生成できました。

  • 1024x768

  • 1280x968

  • 1440x1088

  • 1600x1208

  • 1920x1448

  • 2048x1544

1024x768
生成したライオン達
生成時間

綺麗に比例しているので、極端な生成時間の低下もありません。つまりGPUメモリが足りなくなって、ディスクスワップのようなものが極端に発生していない事になります。限界はもうすこし先のようですね。

img2img

一般に、最終的な解像度が同じでも、txt2txt よりも img2img の方がメモリを多く使います。

txt2img 1024x768 で生成した画像を入力として、img2img を実行します。プロンプトは同じで、ステップ数も20としています。(※ img2imgのデフォルトでは20よりもかなり少なくなります)

次の解像度で調査しました。

  • 1600x1200

    • 219.3秒で成功

  • 2048x1536

    • 381.2秒で成功

すべて成功してしまいました。。

まとめ

GTX 1660 系はtensorコアのないモデルなので、RTX系に比べると利用メモリ量が増加します。予想ではSDXLモデル1024x1024解像度が上限だと思っていたので、すべて成功してしまった事にびっくりしました。

付録

今回の生成に利用したプロンプトとネガティブ・プロンプトです。

ここから先は

1,581字
この記事のみ ¥ 0〜

この記事が気に入ったらサポートをしてみませんか?