进行Stable Diffusion的ai训练怎么选择显卡?
Stable Diffusion主要用于从文本生成图像,是人工智能技术在内容创作行业中不断发展的应用。要在本地计算机上运行Stable Diffusion,您需要一个强大的 GPU 来满足其繁重的要求。强大的 GPU 可以让您更快地生成图像,而具有大量 VRAM 的更强大的 GPU 可以让您更快地创建更高分辨率的图像。那么,最适合Stable Diffusion的消费类 GPU 是什么?让我们看看NVIDIA和AMD的部分GPU上的Stable Diffusion性能来寻找答案。
关于Stable Diffusion
什么是Stable Diffusion?
Stable Diffusion是一种机器学习模型。由于它能够根据文本提示生成图像,因此它越来越多地用于内容创建。Stable Diffusion 的独特之处在于它缺乏商业开发的软件,而是依赖于各种开源应用程序。此外,与其他类似的文本到图像模型不同,它通常在本地系统上本地使用,而不是使用在线 Web 服务。
Stable Diffusion 可以在具有至少 8GB VRAM 的中档 GPU 上运行。然而,它极大地受益于具有更多 VRAM 的强大现代 GPU。
Stable Diffusion的组成框架
您可以直接使用Stability AI和Runway开发的Stable Diffusion版本。然而,大多数人使用第三方创建的基于网络的版本。最常用的Stable Diffusion是:
- Automatic 1111:这主要用于 NVIDIA GPU,尽管 AMD 和 Apple Silicon 也有分支。它允许您使用xformers,它可以显着提高 NVIDIA GPU 的性能。
- SHARK:SHARK 是Automatic 1111 的替代方案。它本身支持 NVIDIA 和 AMD GPU。然而,AMD GPU 的性能往往较高,而 NVIDIA GPU 的性能往往较低。
- 自定义:有些人使用他们需要的功能创建自己的应用程序,因为Stable Diffusion是公开的,任何人都可以直接使用。
每个实现在功能和可用性方面都有独特的优点和缺点。从性能和基准测试的角度来看,推荐使用Automatic 1111和SHARK。根据您要测试的GPU,建议同时使用Automatic 1111和SHARK。使用 Automatic 1111 测试 NVIDIA GPU,使用 SHARK 测试 AMD GPU。
注意:Stable Diffusion 会不断更新,因此您使用的不同版本可能会导致性能变化。
什么影响Stable Diffusion的性能?
首先,Stable Diffusion设置和模型
最常调整的设置(例如提示、否定提示、cfg 比例和种子)不会对性能产生显着影响。生成狗或山地景观的图像需要相同的时间。即使选择的模型也往往只会导致生成时间的微小差异。看下面的图像,尽管有不同的提示和 cfg 比例,但它们的生成时间几乎完全相同。

其他设置(例如步长、分辨率和采样方法)将影响Stable Diffusion的性能。
- 步骤:调整步骤会影响生成图像所需的时间,但不会改变每秒迭代的处理速度。尽管许多用户选择 20 到 50 步,但将步数增加到 200 左右往往会在每次运行中产生更一致的结果。
- 分辨率:图像分辨率不仅对性能影响最大,还会影响生成图像所需的 VRAM 量。出于基准测试目的,您可以使用 512×512 分辨率来确保与各种 GPU 型号的兼容性。
- 采样方法(Euler、DPM等)。它会显着影响生成时间,某些选项所需的时间大约是其他选项的两倍。“Euler”和“Euler a”使用最广泛,并且往往提供最佳性能。其他方法(例如 DPM2)往往需要大约两倍的时间。出于 GPU 基准测试的目的,建议坚持使用 Euler 的变体以保持一致性。
其次是硬件
- GPU :GPU 对速度和图像质量影响最大。更强大的 GPU 具有更高的内存带宽和更多的 VRAM,可以更快地生成稳定的扩散图像,尤其是在更高分辨率的情况下。GPU 上的 VRAM 数量决定了可以生成的最高分辨率图像。建议至少 8GB,更高分辨率需要 12GB 或更多。
- CPU :虽然 GPU 处理大部分繁重的工作,但快速的 CPU 仍可以在较小程度上提高性能。具有更高时钟速度和更多内核的 CPU 可以提供较小的提升。
- RAM :系统内存有助于向 GPU 提供数据,因此至少拥有 16GB RAM 可以确保最佳性能。更多 RAM(高达 32GB 或 64GB)可以进一步提高速度。
实现Stable Diffusion的最佳 GPU
要了解最适合Stable Diffusion的消费类 GPU,我们将检查这些 GPU 在其两个最流行的实现(其最新公开版本)上的Stable Diffusion性能。
许多Stable Diffusion实现通过计算“每秒迭代次数”或“ it/s ”来显示它们的工作速度。因此,为了检查Stable Diffusion性能,该指标是常用且很好的衡量标准。每秒迭代次数是通过将迭代次数除以生成图像所需的秒数来计算的。例如,如果生成具有 200 次迭代的图像需要 15 秒,则每秒的迭代次数约为13.3(即 200 次迭代除以 15 秒)。
首先,让我们看一下 Puget Systems 在 4000 系列 GPU 以及最近三代 NVIDIA 和 AMD RX 7900 XTX 和 RX 6900 XT的顶级 GPU 上测试的基准测试结果。
Automatic 1111性能

Automatic 1111是Stable Diffusion最常用的表现形式,通常可以在 NVIDIA GPU 上提供最佳性能。
NVIDIA 在这方面的表现明显优于 AMD。在 NVIDIA 的 GPU 列表中,RTX 4090 是获胜者,在Automatic 1111上提供了最高的性能结果。 甚至 RTX 3060 Ti 的速度也是 Radeon GPU 的两倍。只有 GTX 1080 Ti 比 RX 7900 XTX 差。
较新的 4000 系列 GPU 在图像生成速度方面具有明显的优势,同时性能与价格呈线性增长。RTX 4070 Ti 比之前的 RTX 3090 Ti 快约 5%,RTX 4060 Ti 比 3060 Ti 快近 43%,这表明了这一点。如果您仍然拥有 2000 或 1000 系列 GPU,即使是中档 4000 系列 GPU 也能提供显着的性能提升。
Shark性能测试

尽管 SHARK 不如Automatic 1111 常用,但许多 AMD 用户更喜欢它。看看上面的基准测试结果,原因就很清楚了。
RX 7900 XTX 的性能在 SHARK 的帮助下翻了四倍,每秒的迭代次数与运行 1111 的 RTX 4090 类似。同样,RX 6900 XT 的性能提升幅度甚至更大,达到了 1100%,但这仅使其与低端产品具有竞争力。已测试 NVIDIA GPU。
使用 SHARK 时,NVIDIA GPU 的性能比自动1111差约 30% ,尽管相对性能保持相同。
重要提示:正确使用Stable Diffusion非常重要,因为它会极大地影响性能。它可以从减少 30% 到大幅增加 1100%!上述GTX 1080 Ti的结果证明了这一点。在 Puget Systems 的本次测试中,它无法运行 SHARK。
总结
最突出的是各种Stable Diffusion实现之间性能的巨大差异。NVIDIA GPU 在Automatic 1111上提供最高性能,而 AMD GPU 在 SHARK 上工作效果最佳。顶级 GPU 各自的实现具有相似的性能。
如果您尚未决定使用特定的实现,NVIDIA 和 AMD 的高端 GPU 都提供了出色的性能。GeForce RTX 4090 和Radeon RX 7900 XTX 在Stable Diffusion的首选实现中均提供约 21 it/s 的速度。
值得注意的是,Stable Diffusion是一个不断发展的模型,具有一组工具。今天的运作方式与几个月前或未来的运作方式截然不同。 它的性能将在未来几个月和几年内发生变化。因此,本文中的性能结果可能会随着时间的推移而发生变化。作为明智的读者,我们希望您理解这些基准测试结果仅供参考。
如果您有兴趣在 RTX 4090 等顶级 GPU 上测试当前使用的Stable Diffusion实现的性能,请查看我们下面的服务。
赞奇云工作站- Stable Diffusion的云服务平台
Stable Diffusion 主要是为单 GPU 使用而设计的;然而,通过一些额外的软件和配置,它可以利用多个 GPU。通过将工作分散到多个 GPU 上,可以提高整体迭代速度。虽然大多数Stable Diffusion实现默认设计为在单个 GPU 上运行,但一种常用的实现(Automatic1111)可以选择以最少的附加配置启用多 GPU 支持。
运行Stable Diffusion算力越强,出图越快。显存越大,所设置图片的分辨率越高,所以一般的配置电脑还是带不动stable diffusion的,所以还是推荐选择赞奇云工作站,相比传统电脑无需一次性投入大量金钱,还可以随开随用,按需使用,高效助力设计。
上赞奇云工作站不需要复杂的安装和部署,就能随时随地享受到行业领先配置的机器,高画质稳定输出作品,减少本地配置时间和成本投入,完全不同担心电脑卡顿、运行不动等问题。
相关文章:
进行Stable Diffusion的ai训练怎么选择显卡?
Stable Diffusion主要用于从文本生成图像,是人工智能技术在内容创作行业中不断发展的应用。要在本地计算机上运行Stable Diffusion,您需要一个强大的 GPU 来满足其繁重的要求。强大的 GPU 可以让您更快地生成图像,而具有大量 VRAM 的更强大的…...
【Linux】【驱动】第一个相对完整的驱动编写
【Linux】【驱动】第一个相对完整的驱动编写 续1.驱动部分的代码2 app 代码3 操作相关的代码 续 这个章节会讲述去直接控制一个GPIO,高低电平。 因为linux不允许直接去操作寄存器,所以在操作寄存器的时候就需要使用到函数:ioremap 和iounma…...
PHP 高德地图,获取经纬度
function addresstolatlag($address){$abc "xxx学校(xx路店)";$key"24fb21b484f89f212dc3f4fd016e2b4d";//没有key$address $abc;$regeo_url"https://restapi.amap.com/v3/geocode/geo";$address_location$regeo_url."?outputJSON&a…...
Node基础--Node基础使用体验
在上一篇文章中提到我们按照好Node.js之后,就可以在控制台看到其版本。那么下面我们一起来看看如何使用node执行js文件代码。 (1).在本地创建一个名称为hello.js的文件,输入内容如下所示: console.log("helloworld");var a 1;var b 2;cons…...
22 从0到1:API测试怎么做?常用API测试工具简介
API 测试的基本步骤 准备测试数据(可选,不一定所有 API 测试都需要这一步);通过 API 测试工具,发起对被测 API 的 request;验证返回结果的 response。 Postman操作步骤 发起 API 调用;添加结…...
Skywalking Kafka Tracing实现
背景 Skywalking默认场景下,Tracing对于消息队列的发送场景,无法将TraceId传递到下游消费者,但对于微服务场景下,是有大量消息队列的业务场景的,这显然无法满足业务预期。 解决方案 Skywalking的官方社区中…...
Perl 解析字符串为日期对象并获取多天前的日期字符串
Perl 解析字符串 perl语言中的库 Time::Piece可以将字符串解析为日期对象。 use Time::Piece; my ($y, $m, $d) 20230823 ~ /^([0-9]{4})([0-9]{2})([0-9]{2})\z/ or die;my $dt Time::Piece->strptime("$y$m$d","%Y%m%d");Perl获取多天之前的日期 …...
C语言问题 - 关于一维数组和二维数组用*a+i形式表达
问题 今天在编写程序时被一个语句搞懵了: #include<stdio.h>int main() {int *pa[6];int a[2][3] {{1,2,3},{4,5,6}};int sum 0;int i,j,k 0;for (i0; i<2; i){for (j0; j<3; j){*(pa k) *(a i) j;k;}}for (i0; i<k; i){printf("%d &q…...
验证码识别DLL ,滑块识别SDK,OCR图片转文字,机器视觉找物品
验证码识别DLL ,滑块识别SDK 你们用过哪些OCR提取文字,识图DLL,比如Opencv,Labview机器视觉找物品之类?...
【图论】最小生成树的应用
一.题目 P1550 [USACO08OCT] Watering Hole G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 二.分析 1.我们是要使所有的农场都要有水 2.可以从起点引水,也可以互相引水。 3.费用要最小 这时我们可以想到最小生成树,建立一个虚拟节点即可。思路一…...
C++类模板的特化(三)
本文主要介绍类模板的特化、局部特化和缺省模板实参; 1.类模板的特化 类模板的特化(Class Template Specialization)是指为特定的模板参数提供自定义实现的过程。通过特化,我们可以针对某些特定的类型或条件提供不同的行为或实现…...
基于YOLOV8模型的课堂场景下人脸目标检测系统(PyTorch+Pyside6+YOLOv8模型)
摘要:基于YOLOV8模型的课堂场景下人脸目标检测系统可用于日常生活中检测与定位课堂场景下人脸,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检…...
java八股文面试[数据结构]——Map有哪些子类
知识来源: 【23版面试突击】 用过哪些Map类,都有什么区别,HashMap是线程安全的吗?_哔哩哔哩_bilibili https://www.cnblogs.com/bubbleboom/p/12694013.html...
司徒理财:8.23今日黄金原油走势分析附操作策略
黄金走势分析: 黄金下跌遇阻,短线开启震荡调整走势,但跌势依旧没有改变,没有突破1906压力前,还是偏空走势,反弹继续干空。趋势行情,不要轻言翻转!即便下跌结束,…...
使用动态IP是否会影响网络
今天我们要谈论的话题是关于动态IP和网络的关系。也许有些小伙伴对这个概念还比较陌生,但别担心,我会简单明了的给你理清楚。让我们一起看看动态IP到底能否影响到网络。 首先,我们先来搞明白什么是动态IP。在互联网世界中,每一个连…...
Linux学习笔记-常用指令说明
本文目录 一、Linux指令笔记 二、"授人以鱼,不如授人以渔" 一、Linux指令笔记 0、cd 命令是 change dir 的简写,它可以把终端当前所在的路径切换至目标路径。 1、mkdir 建立文件夹。是 make directory 的简写,它可以在文件系统中创建一个新的目…...
MyBatisPlus进阶版
1.映射 1.1自动映射 【1】表名和实体类名映射 -> 表名user 实体类名User 【2】字段名和实体类属性名映射 -> 字段名name 实体类属性名name 【3】字段名下划线命名方式和实体类属性小驼峰命名方式映射 -> 字段名 user_email 实体类属性名 userEmail MybatisPlus…...
安防视频云平台EasyNVR视频汇聚平台硬件无法进入服务器的问题处理方法
EasyNVR是基于RTSP/Onvif协议的视频接入、处理及分发的安防视频云平台,可提供的视频能力包括:设备接入、实时视频直播、录像、云存储、录像回放与检索、告警、级联等,平台可支持将接入的视频流进行全平台、全终端的分发,分发的视频…...
流媒体内容分发终极解决方案:当融合CDN与P2P视频交付结合
前言 随着互联网的发展,流媒体视频内容日趋增多,已经成为互联网信息的主要承载方式。相对传统的文字,图片等传统WEB应用,流媒体具有高数据量,高带宽、高访问量和高服务质量要求的特点,而现阶段互联网“尽力…...
根据源码,模拟实现 RabbitMQ - 内存数据管理(4)
目录 一、内存数据管理 1.1、需求分析 1.2、实现 MemoryDataCenter 类 1.2.1、ConcurrentHashMap 数据管理 1.2.2、封装交换机操作 1.2.3、封装队列操作 1.2.4、封装绑定操作 1.2.5、封装消息操作 1.2.6、封装未确认消息操作 1.2.7、封装恢复数据操作 一、内存数据管理…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...
linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
是不是受够了安装了oracle database之后sqlplus的简陋,无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话,配置.bahs_profile后也能解决上下翻页这些,但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可,…...
