ShadowPower
2023-10-06 19:38:55 +08:00
另外,和大型语言模型是 IO 密集型任务不同,Stable Diffusion 实际上是计算密集型任务。
计算性能一般但带宽够大的设备适合前者。
Stable Diffusion 模型参数相比大型语言模型并不大,但运算量要大得多。
我用 4060Ti 16GB 就可以训练(不是推理) SDXL Lora 模型。游戏玩家会告诉你这块显卡是智商税,但玩 Stable Diffusion 的会告诉你这是非矿非改全新显卡中最实惠选择。
另外用 Stable Diffusion 直接出超高分辨率是毫无意义的,如果你生成的图像超出了训练分辨率,即:
原版 1.4 、1.5 是 512 像素边长
原版 2.0 、2.1 ,以及 NovelAI 泄露模型和衍生模型是 768 像素边长
SDXL 是 1024 边长
如果超出一点点还行。超出很多的话,并不会得到一张细节非常清晰的图,而是得到一张主体元素重复,内容四分五裂的图。只是图片看起来还能衔接起来罢了。
在使用 xformers 的情况下,我用 6GB 显存跑原版 1.5 模型都可以直出 2048x2048 。但我也就体验了一次,之后根本没有用过。
真正出大图还是用 Tile 模式,先生成一张正常的小图,然后把这张小图放大,分块,最后细化每个分块。
实际上用起来显存使用量跟生成小图差不多。
---
虽然 N 卡 16GB 显存就可以做,但我从未听说过有人用 32GB 内存的 Mac 来做同样的事情。(指训练 SDXL 的 Lora )