StableDiffusion3 官方blog论文研究

博客源地址:Stable Diffusion 3: Research Paper — Stability AI

论文源地址:https://arxiv.org/pdf/2403.03206.pdf

Stability.AI 官方发布了Stable diffusion 3.0的论文研究,不过目前大家都沉浸在SORA带来的震撼中,所以这个水花貌似也就被忽略了。但,毕竟绘画领域里边最大的开源模型,还是多少可以关注一下。

🎇首先看一下模型表现

这张图直接把我看懵了,为何在这张图中,SDXL 和SDXL turbo都这么高的胜率,而且超过MJ6.0,后来仔细理解了下blog的说辞,才明白这个是以SD3作为基线,赢过这些模型的比例,三个维度分别是美学评分,提示词跟随程度 和 文字识别“排版”能力。

基于这张图,大概可以看出,在文字识别能力方面,SD3的胜率整体非常高,而在美学评分方面,略微比MJ6和DALLE3强一点。

但问题是,个人体验的MJ6和DALLE3根本不在一个档次上,MJ6还是强很多的。并且基于官方已经发布的模型生成的图片来看,并没有觉得生成质量能比MJ6能强,所以这个还是等模型实际发布之后再看吧,毕竟这种评分都是按照“人类反馈评估”来得出的,并非是一个绝对客观的数值。

官方对SD3的评价说法是根据我们的测试结果,我们发现 Stable Diffusion 3 在上述所有领域均等于或优于当前最先进的文本到图像生成系统。 

emm... 他开心就好。

官方还提到一点,在硬件测试过程中,官方最大的8B参数SD3模型“适合”RTX4090的24G显存,并且生成一张1024x1024的图像,需要50次迭代和34秒的时间,emm,可以说“普及”基本就是很远的事情了。

不过官方也提到,他们不仅仅只有一个8B的版本,从800m到8B有一大堆的版本,“以进一步消除硬件障碍”,到时候得看下缩水的版本是不是会降低太多,至少从cascade的经验来看,缩水的模型,生成的质量是直线下降的,这一点也需要等官方实际发布之后再体验了。

🧨架构细节

新版本的架构被称为MMDiT,Dit也就是Diffusion Transformer,融合了Diffusion和Transformer两种架构,如果没记错的的话,sora也是这个大的架构,当然了细节肯定有很多区别就是了。

官方这次考虑了文本和图像两种“文本生成图像”的模式。这次官方使用了三种不同的文本嵌入模型(两个clip模型和t5模型)来编码文本。

架构概念图如下:

我们改进的多模态扩散变压器块的概念可视化:MMDiT。

官方认为,新的架构可以让“信息”在图像和文本之间更好的流动,这样生成的图像会更理解提示词,包括提示词中的“文本排版”内容。并且官方认为这种架构还可以轻松扩展到视频等多种模式。

(我个人认为Sora的spatial time pathes那种方式会更适合生成视频模型,也可以更好的理解物理世界,不知道sd3的架构中是否也使用了类似的技术。)

得益于 Stable Diffusion 3 改进的提示跟随功能,新的模型能够创建专注于各种不同主题和质量的图像,同时对图像本身的风格保持高度灵活性。

更多官方示例图像:

(以下两个章节直接原博客复制翻译,非技术的朋友可以暂时忽略。)

通过重新加权改善整流流量

Stable Diffusion 3 采用整流流 (RF) 公式(Liu et al., 2022;Albergo & Vanden-Eijnden,2022;Lipman et al., 2023),其中数据和噪声在训练期间在线性轨迹上连接。这会产生更直的推理路径,从而允许用更少的步骤进行采样。此外,我们在训练过程中引入了一种新颖的轨迹采样计划。这个时间表给予轨迹的中间部分更多的权重,因为我们假设这些部分会导致更具挑战性的预测任务。我们使用多个数据集、指标和采样器设置进行比较,针对 60 个其他扩散轨迹(例如LDM、EDM和ADM )测试我们的方法。结果表明,虽然以前的 RF 配方在少步采样方案中表现出改进的性能,但它们的相对性能随着步数的增加而下降。相比之下,我们重新加权的 RF 变体不断提高性能。

缩放整流流量变压器模型

我们使用重新加权的整流流公式和 MMDiT 主干对文本到图像的合成进行了缩放研究。我们训练的模型范围从 15 个具有 450M 个参数的块到 38 个具有 8B 个参数的块,并观察到验证损失随着模型大小和训练步骤的函数而平滑下降(顶行)。为了测试这是否转化为模型输出的有意义的改进,我们还评估自动图像对齐指标(GenEval)以及人类偏好分数(ELO)(底行)。我们的结果表明这些指标与验证损失之间存在很强的相关性,表明后者是整体模型性能的有力预测因子。此外,扩展趋势没有显示出饱和的迹象,这让我们乐观地认为未来可以继续提高模型的性能。

灵活的文本编码器

正如前文提到的,SD3用到三种不同的文本嵌入模型(两个clip模型和t5模型)来编码文本。这里测试了下,如果删掉其中一个比较大的模型4.7B参数的T5文本编码器会如何。

发现删掉之后,内存需求可以显著降低,(emm...好像很合理,毕竟这个模型有4.5B的参数),同时性能损失很小。

进一步测试下,发现删除这个文本编码器,对于视觉美感的影响几乎没有,删除前后胜率五五开。但是会导致“提示词相关性”下降,删除之后胜率降低到46%。

所以最终官方的建议是保留T5编码器,这样才能体验满血版的SD3,而且官方还发现,如果删除了T5这个模型,文本版式的生成性能下降会更大,胜率会降低到38%。

也就是说,删除T5编码器后,基准50%来看(也就是五五开),美学、提示词遵循程度、文字排版会降低到:50%,46%,38%。换句话说,如果生成的画面中没有文本,而你的硬件条件又比较差的话,那么删掉T5问题不大,但是如果你要生成文本相关的画面(比如说电影海报),那么还是升级硬件吧。

删除前后效果对比:

当渲染涉及许多细节或大量书面文本的非常复杂的提示时,

删除 T5 进行推理只会导致性能显着下降。

上图显示了每个示例的三个随机样本。

以上就是官方博客的内容和我个人的理解,欢迎大家多多交流。

这里是聚梦小课堂,如果觉得内容有用,还请帮忙点个赞哈。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/735028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

将props展平传到DOM上

当我们将展平&#xff08;传播&#xff09;的属性设置子组件时&#xff0c;我们会引入风险&#xff0c;因为我们可能会往 HTML 标签上添加它不支持的属性。 坏实践 下面这个例子会在 DOM 元素上增加一个该元素本身不支持的属性flag。 const Sample () > (<Spread flag…

chrome插件chrome.storage数据写入失败QUOTA_BYTES_PER_ITEM quota exceeded

Unchecked runtime.lastError while running storage.set: QUOTA_BYTES_PER_ITEM quota exceeded at Object.callback 在开发浏览器插件的时候&#xff0c;报错提示&#xff1a;超出存储限制&#xff0c;浏览器插件存储官方文档&#xff1a;https://developer.chrome.com/docs…

Linux篇面试题 2024

目录 Java全技术栈面试题合集地址Linux篇1.绝对路径用什么符号表示&#xff1f;当前目录、上层目录用什么表示&#xff1f;主目录用什么表示? 切换目录用什么命令&#xff1f;2.怎么查看当前进程&#xff1f;怎么执行退出&#xff1f;怎么查看当前路径&#xff1f;3.怎么清屏&…

Keras用tf的Strategy()分布式训练时候报XLA错误

We failed to lift variable creations out of this tf.function, so this tf.function cannot be run on XLA. A possible workaround is to move variable creation outside of the XLA compiled function. 最早用的pip -U 安装的keras没注意版本&#xff0c;直接可用。 之…

国外网站,similarweb统计网站流量的原理是什么? 这个统计数据是准确的吗? 有没有 没统计不到的?

标签&#xff1a; SimilarWeb&#xff1b; 国外网站 SimilarWeb 提供网站流量和其他互联网指标的估计&#xff0c;主要用于网站分析、竞争对手分析和市场研究。它如何工作&#xff0c;以及其数据的准确性&#xff0c;是很多人关心的问题。下面是对SimilarWeb统计网站流量原理的…

Golang-channel合集——源码阅读、工作流程、实现原理、已关闭channel收发操作、优雅的关闭等面试常见问题。

前言 面试被问到好几次“channel是如何实现的”&#xff0c;我只会说“啊&#xff0c;就一块内存空间传递数据呗”…所以这篇文章来深入学习一下Channel相关。从源码开始学习其组成、工作流程及一些常见考点。 NO&#xff01;共享内存 Golang的并发哲学是“要通过共享内存的…

【AI辅助研发】-开端:未来的编程范式

编程的四种范式 面向机器编程范式 面向机器编程范式是最原始的编程方式&#xff0c;它直接针对计算机硬件进行操作。程序员需要了解计算机的内部结构、指令集和内存管理等细节。在这种范式下&#xff0c;编程的主要目标是编写能够直接控制计算机硬件运行的机器代码。面向机器…

数据伦理:当大数据遇见道德

随着科技的飞速发展&#xff0c;大数据已经成为了我们生活中不可或缺的一部分。从智能手机到智能家居&#xff0c;从电子商务到医疗保健&#xff0c;大数据无处不在。然而&#xff0c;随着数据的广泛应用&#xff0c;数据伦理问题也逐渐浮出水面。本文将探讨大数据时代下的数据…

redis使用笔记

redis使用笔记 1、Redis简介1.1 含义1.2 功能1.3 特点 2. 常用的数据结构2.1 HASH 3 redis接口定义3.1 redisReply3.2 redisContext3.3 redisCommand 4 实践操作4.1 遇到问题4.1.1 Get哈希的时候返回error4.1.2 长度一直为0&#xff0c;str没法打印&#xff08;未解决&#xff…

uniapp地图围栏代码

UniApp 是一个使用 Vue.js 开发所有前端应用的框架&#xff0c;可以编译到 iOS、Android、H5、以及各种小程序等多个平台。在 UniApp 中实现地图围栏功能&#xff0c;通常需要使用地图服务API。对于大多数地图服务来说&#xff0c;实现围栏功能通常需要以下几个步骤&#xff1a…

java正则表达式概述及案例

前言&#xff1a; 学习了正则表达式&#xff0c;记录下使用心得。打好基础&#xff0c;daydayup! 正则表达式 什么是正则表达式 正则表达式由一些特定的字符组成&#xff0c;代表一个规则。 正则表达式的功能 1&#xff1a;用来校验数据格式是否合规 2&#xff1a;在一段文本…

Android 二维码相关(一)

Android 二维码相关(一) 本篇文章主要记录下android下使用zxing来创建二维码. 1: 导入依赖 api "com.google.zxing:core:3.5.1"2: 创建二维码 创建QRCodeWriter对象 QRCodeWriter qrCodeWriter new QRCodeWriter(); 将文本内容转换成BitMatrix BitMatrix encode …

2024,互联网打工人最终没能逃得过 AI

时间很快就来到了三月份&#xff0c;回首看过去的一年&#xff0c;如果要选择最令人着迷的新技术&#xff0c;那非 ChatGPT 莫属。 从美国的硅谷、华尔街到中国的后厂村、中关村&#xff0c;几乎所有的科技大厂们都在讨论“AIGC”。 既 ChatGPT 之后&#xff0c;几乎每天都有…

【深度学习笔记】7_2 梯度下降和随机梯度下降

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;部分标注了个人理解&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 7.2 梯度下降和随机梯度下降 在本节中&#xff0c;我们将介绍梯度下降&#xff08;gradient descent&#xff09;的工作原理。虽然梯度…

️网络爬虫与IP代理:双剑合璧,数据采集无障碍️

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

day16_购物车(添加购物车,购物车列表查询,删除购物车商品,更新选中商品状态,完成购物车商品的全选,清空购物车)

文章目录 购物车模块1 需求说明2 环境搭建3 添加购物车3.1 需求说明3.2 远程调用接口开发3.2.1 ProductController3.2.2 ProductService 3.3 openFeign接口定义3.3.1 环境搭建3.3.2 接口定义3.3.3 降级类定义 3.4 业务后端接口开发3.4.1 添加依赖3.4.2 修改启动类3.4.3 CartInf…

关于VS-QT中创建ui文件没有同时创建h和cpp文件的解决方法

以下只提供一种解决方案&#xff0c;只针对我遇到的一种情况&#xff0c;并非对所有人有效。 1.新建一个QWidget Application,项目名称建议取名为所需要的ui类的名字&#xff0c;不过不是也没关系 2.按照提示下一步&#xff0c;基类选择QWidget还是QMainWindow看自己的需要&am…

基于springboot实现摄影网站系统项目【项目源码】

基于springboot实现摄影网站系统演示 摘要 随着时代的进步&#xff0c;社会生产力高速发展&#xff0c;新技术层出不穷信息量急剧膨胀&#xff0c;整个社会已成为信息化的社会人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。如在查找情报资料、处理银行账…

invoke()到底是个什么方法???

调用jquery的方法返回属性值 1、invoke&#xff08;‘val’&#xff09; 在form的select下&#xff1a; cy.get(.action-select-multiple).select([apples, oranges, bananas])// when getting multiple values, invoke "val" method first jquery中val方法是用于返…

花店小程序有哪些功能 怎么制作

​花店小程序可以为花店提供一个全新的线上销售平台&#xff0c;帮助花店扩大市场份额&#xff0c;提升用户体验&#xff0c;增加销售额。下面我们来看看花店小程序应该具备哪些功能&#xff0c;以满足用户的需求。 1. 商品展示&#xff1a;展示花店的各类花卉和花束&#xff…