安くなってきた中古ゲーミングノートPCを使いローカル生成AIのStable-Diffusion ForgeをCUDAでチューニングしてみた。FP8+LCM Turbo+HyperTileで3.8秒〜15.4秒/枚とそこそこ高速。CPU対比5倍速。古いGPUでもオススメ

省メモリで有名なForgeです。古いNVIDIA GPUマシンでも多少チューニングすれば結構高速化します。個人向けレベルなら実用上。CPU対比5倍速。 想定以上のまずまずの結果です
15
Kapper@Linuxガジェヲタ&異世界小説家&生成AI&電子工作大好き @kapper1224

という事で中古ゲーミングノートブックPC+CUDA+Stable-Diffusion Forge+FP8+LCM Turbo+HyperTileで1024x512が7.6秒/枚 Model Memory (MB) = 819.7106971740723 Minimal Inference Memory (MB) = 1024.0 贅沢を言わなければ世代遅れマシンでも十分使える。 CPUと比べて5倍速程度だけど pic.twitter.com/IDI9ICJq8Z

2024-03-24 11:19:13
拡大
Kapper@Linuxガジェヲタ&異世界小説家&生成AI&電子工作大好き @kapper1224

安かったので2台目のNVIDIA CUDAマシンを買った。実験用。マウスのGTune WubiでUbuntu22.04とCUDAを入れた。 セキュアブートをOFFにするにはWindowsを起動してから回復オプションでBIOSに入らないと設定出来ない仕組み。セキュアブートをOFFにすればLinux使える pic.twitter.com/1balWla0YR

2024-03-24 07:12:25
拡大
Kapper@Linuxガジェヲタ&異世界小説家&生成AI&電子工作大好き @kapper1224

早速CUDAを入れてllama.cppをCUDAで動かす こちらを参考。CUDAはコピペでOK wget developer.download.nvidia.com/compute/cuda/r… sudo dpkg -i cuda-keyring_1.1-1_all.deb sudo apt update sudo apt install cuda-11-8 zhuanlan.zhihu.com/p/655365629 pic.twitter.com/yaC1bCOPQm

2024-03-24 07:27:33
拡大
Kapper@Linuxガジェヲタ&異世界小説家&生成AI&電子工作大好き @kapper1224

次は噂のStable-Diffusion ForgeをCUDAで動かす CUDAを入れたあとに git clone github.com/lllyasviel/sta… cd stable-diffusion-webui-forge python3 -m venv env/ source env/bin/activate ./webui.sh あとは自動で大量にダウンロードしてWebuiが起動

2024-03-24 08:31:50
Kapper@Linuxガジェヲタ&異世界小説家&生成AI&電子工作大好き @kapper1224

WebUIから普通にStable-Diffusion画像作成 20ステップ初期設定で 512x512で10秒 1024x1024で2分 かなり少ないメモリでもちゃんと動くのがForgeの凄い所 更にLCM-LoRaを使えば低ステップで高速で動くはず pic.twitter.com/Cpk9VMndJJ

2024-03-24 08:34:26
拡大
Kapper@Linuxガジェヲタ&異世界小説家&生成AI&電子工作大好き @kapper1224

Stable Diffusion Forgeで有名なFP8モードで起動 追加でtcmallocパッケージが必要 sudo apt install libtcmalloc-minimal4 ./webui.sh --unet-in-fp8-e5m2 --clip-in-fp8-e5m2 無事起動した pic.twitter.com/M0FiaGBNpk

2024-03-24 08:53:09
拡大
Kapper@Linuxガジェヲタ&異世界小説家&生成AI&電子工作大好き @kapper1224

Fp8 memory [Memory Management] Current Free GPU Memory (MB) = 5677.041015625 [Memory Management] Model Memory (MB) = 819.7106971740723 [Memory Management] Minimal Inference Memory (MB) = 1024.0 [Memory Management] Estimated Remaining GPU Memory (MB) = 3833.3303184509277

2024-03-24 10:20:37
Kapper@Linuxガジェヲタ&異世界小説家&生成AI&電子工作大好き @kapper1224

FP32 memory [Memory Management] Current Free GPU Memory (MB) = 4124.892578125 [Memory Management] Model Memory (MB) = 1639.4137649536133 [Memory Management] Minimal Inference Memory (MB) = 1024.0 [Memory Management] Estimated Remaining GPU Memory (MB) = 1461.4788131713867

2024-03-24 10:21:13
Kapper@Linuxガジェヲタ&異世界小説家&生成AI&電子工作大好き @kapper1224

FP8 VS FP32 モデル分の消費メモリ半分くらい。古いGPUの場合、結構大きい差。 FP8 Model Memory (MB) = 819.7106971740723 VS FP32 Model Memory (MB) = 1639.4137649536133 プラス推論メモリ Minimal Inference Memory (MB) = 1024.0

2024-03-24 10:24:45
Kapper@Linuxガジェヲタ&異世界小説家&生成AI&電子工作大好き @kapper1224

Stable-Diffusion ForgeにSampling MethodにDPM++ 2M Turbo入れて Stepを7に減らすと512x512で4秒/枚にスピードアップ CUDAの力はこんなものかもしれない。 CPUなら20秒/枚くらいかな。 古いGPUでもこのくらいの速度が出れば実用上には問題ないのでは?ちなみに1024x1024は24秒/枚程度 pic.twitter.com/ExwGjkpdFD

2024-03-24 10:55:13
拡大
Kapper@Linuxガジェヲタ&異世界小説家&生成AI&電子工作大好き @kapper1224

さらにHyperTile Integratedをチェック 512x512 が4.4秒/→3.8秒/枚 1024x1024 26.9秒/枚 →15.4秒/枚 このくらいが限界かな?まだいけるかも このスピードが出るならほどほどのGPUでも十分な気がする。 pic.twitter.com/WMNhPhcvEF

2024-03-24 11:05:35
拡大