A10显卡跑Stable Diffusion,出图速度到底能快到什么程度

最近公司给我分配了一台带A10显卡的实例做AI推理测试,顺手就把Stable Diffusion跑了一遍。说实话,第一次看到出图速度的时候我愣了一下——这玩意儿真的会谢,比我本地的RTX 3060快得不是一点半点。

A10是NVIDIA面向数据中心推出的专业卡,24GB GDDR6显存,基于Ampere架构,FP16算力大概在31.2 TFLOPS,INT8可以跑到125 TOPS。跟消费级显卡最大的区别是它的显存带宽和ECC支持,跑大模型的时候显存不够用直接爆掉的情况少很多。

先说测试环境,别嫌我啰嗦

测试用的是WebUI(AUTOMATIC1111),版本1.9.x,后端是xformers加速,模型用的是Realistic Vision V5.1(写实类)和Anything V5(二次元),两个风格差异比较大,方便对比。采样器主要用DPM++ 2M Karras,这个在速度和质量之间平衡得比较好。

系统环境:Ubuntu 22.04,CUDA 12.1,Python 3.10,PyTorch 2.1。显存24GB全给模型用,没有跑其他任务抢资源。

实测数据,直接上表

测了几种常见分辨率和步数组合,每组跑10张取平均,单位是秒/张:

分辨率 采样步数 批量大小 平均耗时(秒/张) it/s
512×512 20步 1 1.8s ~11 it/s
512×512 20步 4 1.2s/张 ~16 it/s
768×768 20步 1 3.6s ~5.5 it/s
1024×1024 20步 1 8.2s ~2.4 it/s
512×512 40步 1 3.5s ~11 it/s
1024×1024(Hires.fix) 20+10步 1 22s

512×512跑20步,1.8秒一张,这个速度在云端GPU里算是很能打的。批量出图的时候因为并行利用率更高,单张均摊时间还能再压下来。

Hires.fix那行22秒看起来有点长,但你要知道它实际上跑了两次采样——先生成低分辨率底图,再放大重绘,等于两张图的计算量,22秒其实不离谱。

跟其他显卡比,差距有多大

我把手头能找到的数据整理了一下,都是512×512、20步、DPM++ 2M Karras的条件:

目录结构
全文
显卡 显存 it/s(参考值)