Stable Diffusion

Stable Diffusion 系列教程(基础篇) —— 性能优化

波比AI · 5月2日 · 2025年本文共3907个字 · 预计阅读14分钟82次已读

Stable Diffusion 在同等硬件情况下,通过调整配置优化也可以提升训练性能

一、加速配置

1.(可以提速5.4倍)使用令牌合并。

在SD automatic1111中,进入设置>选择优化>将令牌比率设置为0.2-0.5之间,人们注意到,你设置的比率越高,细节就会丢失,任何0.6或以上的比率都会有恶化的细节效果…但会更快。根据你的喜好测试不同的比例。
Stable Diffusion 系列教程(基础篇) —— 性能优化


2.(可以提速2倍以上)安装TensorRT的扩展。

地址:https://github.com/AUTOMATIC1111/stable-diffusion-webui-tensorrt

转换trt模型的最佳设置是批量大小为7(可生成的并发图像),宽度和高度为512。对于那些想生成可变长宽比的人,如16:9或9:16或4:3或3:4等等等等,另一个设置是,批量大小为1,最大宽度为768,最大高度为960,或反过来宽度为960高度为768。注意须有两个转换:一个是横向长宽比,一个是纵向长宽比。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/office/47501.html

另外,可使用这个Pull Request( https://github.com/jebarpg/stable-diffusion-webui-tensorrt )来帮助你在选择如何将你的onnx转换为rt时确定哪些尺寸可以使用。有一个动态更新的标签,当你把最大宽度、最大高度或最大批量尺寸滑到高时,会变成红色。


3.在webui-user.bat中使用不同的标志来帮助加快批处理。

我发现只使用’–opt-sdp-no-mem-attention’标志在我的RTX 4070 GPU上获得了最佳速度。set COMMANDLINE_ARGS=–opt-sdp-no-mem-attention 注意:我没有包括任何内存优化,因为我读到了较低的内存使用量的交易会减少它/S。

同时在你的webui-user.bat文件的顶部添加这两行,确保将你的cuda可见设备改为正确的编号,点击Windows键>输入设备管理器>点击显示适配器的下拉菜单>右击你的主GPU>选择属性>在位置旁边你会看到PCI总线(一些#),设备(一些#这是你用来设置CUDA_VISIBLE_DEVICES的数字),函数(一些#):

set SAFETENSORS_FAST_GPU=1
set CUDA_VISIBLE_DEVICES=0


4.安装并使用Opera GX浏览器,将硬件加速设置改为关闭。

打开Opera > 顶部右键菜单图标 > 选择设置或按’Alt+P’ > 在搜索框中输入系统 > 切断’可用时使用硬件加速’。此外,Firefox和Avase安全浏览器也是其他不错的选择。请确保在这些浏览器中也关闭硬件加速。


5.在windows中,也要关闭GPU硬件加速。

在图形设置中切换关闭 “硬件加速的GPU调度”。

注意:不同人有不同的结果,所以测试一下这个选项,看看它对你是否有改善。


6.一般来说,在不失去你在图像中所需细节的情况下,尽量用较少的文字来描述你的正面提示和负面提示,如果适用的话。


7.将你的驱动程序更新到最新版本


8.手动设置DWM.exe和explorer.exe使用集成显卡或处于省电模式

在Windows中打开图形设置。在底部点击浏览并选择 “C:/Windows/System32/dwm.exe “点击添加。然后点击选项并选择 “省电”,对 “C:/Windows/explorer.exe “进行同样操作。同时添加你将使用的浏览器exe(即Opera),不要设置 “省电”,而是将其设置为 “高性能”。


9.在Nvidia控制面板中改变电源模式

右击桌面>选择Nvidia控制面板>选择管理3D设置>选择电源管理模式>选择首选最大性能


10.将计算机电源设置模式改为最佳性能。


11.关掉HDR。

右击桌面 > 选择显示设置 > 切断HDR。如果启用了宽色域(WCG),也要关闭。使用推荐的显示设置,包括比例和分辨率。系统 > 显示


12.禁用不需要的服务。

Windows +R>键入msconfig点击回车>选择Servicestab>点击Hide all Microsoft servicescheckbox>点击Disable all>点击OK。


13.调整视觉效果设置。

按Windows键,然后输入env,选择 “编辑系统环境变量”>在性能部分选择 “设置”>选择调整为最佳性能>点击确定。

14. 关闭模型哈希计算

关闭可节省启动时间,但会导致页面内与图片生成数据中无法正常显示模型哈希信息,适用于低速硬盘。

普通机械硬盘建议关闭,固态硬盘可以开启,不影响出图

启动命令:

--no-hashing

15. 显存优化

  • 开启 FP 8
    Stable Diffusion 系列教程(基础篇) —— 性能优化

16. 半精度优化

常见报错信息:

modules.devices.NansException: A tensor with all NaNs was produced in VAE. This could be because there’s not enough precision to represent the picture. Try adding –no-half-vae commandline argument to fix this. Use –disable-nan-check commandline argument to disable this check.

精度不足,SD-WebUl检测到VAE模型在运算中产生了无效数据(黑图)。请前往高级设置-计算精度设置处关团“VAE半精度优化”选项以解决此问题

这个半精度优化报错会中断出图进程,重开就能跑,但是未来还会报错,关闭以后永久不会出现问题。

启动参数:

no-half--no-half-vae --disable-nan-check

17. SD 图片保存命名规则

推荐保存文件名样式

序号+种子:[seed]

序号+种子+模型名:[seed]-[model_name]

按图配置,序号会自动添加在文件名前缀。

18. 启用 API 搭配第三方工具

19. SD 专属优化

根据Pytorch官方最近laoxiongb2c的说法,2.1版本的Pytorch要比上一个版本bobyai运行快40%~60,Pytorch2.1还自带了优化指令,比第三方的Xformers还要快。

升级到Pytorch2.1之后,就不再需要另外安装Xformers显存优化库了。

在所有参数相同的情况下,三者的对比情况如下:

Pytorch1.13.1 + CUDA117 + Xformers版本,运行平均值大约= 2.07 it/s,出图时间= 24s

Pytorch2.1+CUDA118新版本,运行平均值大约= 3.09 it/s,出图时间= 14s

Pytorch2.1+bobyaiCUDA118(-opt-sdp),运行最高峰值可达5.28 it/s,出图时间= 11s

Pytorch2.1提供了两个优化指令代码,说明如下:

–opt-sdp-attention

——速度比使用xformer更快,属于非确定性优化,不能百分之百复现原图。

–opt-sdp-no-mem-attention

——速度比使用xformer更快,略慢于–opt-sdp-attention,属于确定性优化,可以精确复现原图。

二选一添加以上命令,建议使用–opt-sdp-no-mem-attention(秋叶版配置参考图片),此时Stable Diffusion的运行速度在PyTorch2.0基础上还可以再增加20%+。

20. 调整 Lora 卡片缩略图

配置 Lora 卡片/缩略圈
Stable Diffusion 系列教程(基础篇) —— 性能优化

21. 增加批量大小

通过增加批量大小(增加到 4 左右),您可以实现显着的速度提升。使用 4-6 的批量大小将导致每次图像生成之间进行 VRAM 转储,从而提高渲染速度。
Stable Diffusion 系列教程(基础篇) —— 性能优化
然而,值得注意的是,对于较大的批量大小,性能优势趋于稳定。

22. 禁用实时预览

提高渲染速度的另一个有价值的技巧是在生成图像时禁用“实时预览模式”。您还可以将“实时预览显示周期”设置为-1。这将确保图像仅在批次完成后显示。要更改这些设置,请执行以下操作:

  • 转到“设置”选项卡
  • 单击左侧边栏中的“实时预览”
  • 确保取消选中“显示所创建图像的实时预览”框以禁用实时预览
  • 将“实时预览显示周期”一直向左滑动(值 -1)以仅显示已完成的批次图像。

设置应该如下所示:
Stable Diffusion 系列教程(基础篇) —— 性能优化

23. 加速图像生成的替代方案(LCM LoRA)

最近,LCM LoRA 模型进入了Stable Diffusion社区。在对更快、更高效的图像生成的追求的推动下,LCM 带来了一场革命,允许在预先训练的 LDM 上以最少的步骤进行快速、高保真采样。

二、测速插件

请下载测速插件

Stable Diffusion 系列教程(基础篇) —— 性能优化

进入系统消息(System Info)选项卡,界面如下

Stable Diffusion 系列教程(基础篇) —— 性能优化

选择 quick/normal/extensive 分别对应 1/1,2,4/1,2,4,8,10 批量 点击跑图 ,等待后出现速度,在询问他人速度是否正常时,可以直接截图当前的整条信息。

Stable Diffusion 系列教程(基础篇) —— 性能优化

然后判断你的速度是否正常/排名,请看网站:测速排名搜索你的显卡型号,查看其他人的速度,以及他们的各选项,如果速度不对,只需要一一比对参数,然后抄作业就可以了。

Stable Diffusion 系列教程(基础篇) —— 性能优化
要注意的是,部分加速手段会对图片质量及显存有较大影响,所以综合取舍最合适自己设备的选项即可

总结

参考

[Total: 0 Average: 0]
0 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!