StableDiffusion3 官方blog论文研究

news2024/11/17 10:40:15

博客源地址: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.coloradmin.cn/o/1506467.html

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

相关文章

力扣530. 二叉搜索树的最小绝对差

思路1&#xff1a;中序遍历&#xff0c;递归排序成有序数组&#xff1b;因为是有序&#xff0c;只需要求相邻两个值的最小差值。 class Solution {ArrayList <Integer> list new ArrayList();int ans 100001;//题目最大 100000public int getMinimumDifference(TreeNo…

docker学习笔记——Dockerfile

Dockerfile是一个镜像描述文件&#xff0c;通过Dockerfile文件可以构建一个属于自己的镜像。 如何通过Dockerfile构建自己的镜像&#xff1a; 在指定位置创建一个Dockerfile文件&#xff0c;在文件中编写Dockerfile相关语法。 构建镜像&#xff0c;docker build -t aa:1.0 .(指…

异步编程实战:使用C#实现FTP文件下载及超时控制

博客标题: 异步编程实战&#xff1a;使用C#实现FTP文件下载及超时控制 如果你的函数不是async&#xff0c;你仍然可以实现相同的超时功能&#xff0c;但你将不得不依赖更多的同步代码或使用.Result或.GetAwaiter().GetResult()来阻塞等待任务完成&#xff0c;这可能导致死锁的风…

Breach-2.1

靶场环境说明 该靶场是静态IP地址&#xff0c;需要更改网络配置&#xff0c;攻击机kali做了两张网卡&#xff1b; 信息收集 # nmap -sT --min-rate 10000 -p- 192.168.110.151 -oN port.nmap Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-09 10:47 CST Stats: 0:00:…

java通过poi-tl生成word

我看公司之前做电子合同&#xff0c;使用TIBCO jaspersoft做的报表模板&#xff0c;如果是给自己公司开发或者给客户做项目&#xff0c;这个也没有什么&#xff0c;因为反正模板是固定的&#xff0c;一次性开发&#xff0c;不用担心后续的问题。即使后期有调整&#xff0c;改一…

深入解读 Elasticsearch 磁盘水位设置

本文将带你通过查看 Elasticsearch 源码来了解磁盘使用阈值在达到每个阶段的处理情况。 跳转文章末尾获取答案 环境 本文使用 Macos 系统测试&#xff0c;512M 的磁盘&#xff0c;目前剩余空间还有 60G 左右&#xff0c;所以按照 Elasticsearch 的设定&#xff0c;ES 中分片应…

总结:Spring创建Bean循环依赖问题与@Lazy注解使用详解

总结&#xff1a;Spring创建Bean循环依赖问题与Lazy注解使用详解 一前提知识储备&#xff1a;1.Spring Bean生命周期机制&#xff08;IOC&#xff09;2.Spring依赖注入机制&#xff08;DI&#xff09;&#xff08;1&#xff09;Autowired注解标注属性set方法注入&#xff08;2&…

面具安装LSP模块时提示 Unzip error错误的解决办法

面具(Magisk Delta)安装LSP模块时提示 Unzip error错误的解决办法 ​​ 如果前面的配置都正常的话&#xff0c;可能是LSP版本有问题重新去Github下载一个最新版的吧&#xff1b;我是这么解决的。 我安装1.91那个版本的LSP就是死活安装不上&#xff0c;下载了1.92的版本一次就…

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

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

⭐每天一道leetcode:83.删除排序链表中的重复元素(简单;链表遍历、删除经典题目)

⭐今日份题目 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 示例1 输入&#xff1a;head [1,1,2] 输出&#xff1a;[1,2] 示例2 输入&#xff1a;head [1,1,2,3,3] 输出&#xff1a;[1,2,3] …

Linux 进程程序替换

&#x1f493;博主CSDN主页:麻辣韭菜-CSDN博客&#x1f493;   ⏩专栏分类&#xff1a;http://t.csdnimg.cn/G90eI⏪   &#x1f69a;代码仓库:Linux: Linux日常代码练习&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多Linux知识   &#x1f51d;&#x1f5…

考研经验|如何从考研失败中走出来?

对我来说&#xff0c;太丢人了 其实我在本科的时候在同学眼中&#xff0c;一直很优秀&#xff0c;每年奖学金必有我的&#xff0c;国家励志奖学金&#xff0c;国家奖学金&#xff0c;这种非常难拿的奖学金&#xff0c;我也拿过&#xff0c;本科期间学校有一个公费去新西兰留学的…

美化console

console简介 控制台&#xff08;Console&#xff09;是JS开发里最重要的面板&#xff0c;主要作用是显示网页加载过程中产生各类信息,我们经常使用console.log()这个函数在控制台打印一些东西 但是,console这个对象不仅仅有log这个函数,还有很多其他的函数,如下 console.de…

vue学习笔记22-组件传递多种数据类型props效验

组件传递多种数据类型 通过props传递数据&#xff0c;不仅可以传递字符串类型的数据&#xff0c;还可以是其他类型&#xff0c;例如&#xff1a;数字、对象、数组等&#xff0c;但实际上任何类型的值都可以作为props的值被传递&#xff08;即组件与组件之间的传递是没有限制的…

Text Field文本输入框

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 Text Field文本输入框 一、最基本的本文输入框1、基础示例2、一些表单属性3、验证 二、多行文本 一、最基本的本文输入框 1、基础示例 import {Box, TextField} from "…

CSS拖曳盒子案例

让我为大家带来一个小案例吧&#xff01; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>* {margin: 0;padding: 0;}.box1 {width: 100px;height: 100px;background-color: black;margin-bot…

基于springboot+layui仓库管理系统设计和实现

基于 java springbootlayui仓库管理系统设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取…

HarmonyOS(二)Ability应用模型概述

目录 1 Ability概念 2 Ability形态 3 Stage优势 4 Stage模型结构 5 总结 注&#xff1a;本章内容提前声明。 基于HarmonyOS开发者3.1/4.0版本配套的开发者文档&#xff0c;对应API能力级别为API 9 Release。 详情可参考官网API入门第一章应用模型文档中心 1 Ability概念…

机器学习(五) -- 监督学习(1) -- 线性回归

系列文章目录 机器学习&#xff08;一&#xff09; -- 概述 机器学习&#xff08;二&#xff09; -- 数据预处理&#xff08;1-3&#xff09; 机器学习&#xff08;三&#xff09; -- 特征工程&#xff08;1-2&#xff09; 机器学习&#xff08;四&#xff09; -- 模型评估…

【LeetCode: 212. 单词搜索 II - dfs】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…