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.rhkb.cn/news/273520.html

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

相关文章

JavaScript基础Ⅱ

接上文 JavaScript基础Ⅰ JavaScript基础Ⅰ-CSDN博客 目录 第2章 JavaScript基础语法(掌握) 11-JS代码调试 12-JS函数 第3章 JS事件 14-事件的绑定方式 常用事件(了解) 15-常用事件 第4章 JS内置对象(掌握) 16-数组 17-日期 18-数学运算 19-数字 20-全局函数 第2章…

CrossOver2024实现Mac/Linux上快速运行Win软件和游戏

作为软件产品专家,我对各类软件都有较为深入的了解,下面介绍CrossOver2024这款软件的功能特点。 CrossOver2024是一款功能强大的类虚拟机软件,它的设计目标是在Mac和Linux系统上实现Windows软件和游戏的快速运行。这款软件不仅具有出色的兼容…

【SSM】整合原理和配置实战

文章目录 SSM整合是什么?SSM整合核心问题第一问:SSM整合需要几个IoC容器?第二问:每个IoC容器对应哪些类型组件?第三问:IoC容器之间关系和调用方向?第四问:具体多少配置类以及对应容器…

Mybatis-Plus——04,自动填充时间(新注解)

自动填充(新注解) 一、数据库添加两个字段二、实体类字段属性上增加注解三、编写填充器四、查看结果4.1 插入结果4.2 修改结果 五、同步修改5.1实体类属性改成 INSERT_UPDATE5.2 在填充器的方法这里加上 updateTime5.3 查看结果————————创作不易…

英飞凌电源管理PMIC的安全应用

摘要 本篇文档主要用来介绍英飞凌电源管理芯片TLF35584的使用,基于电动助力转向应用来介绍。包含一些安全机制的执行。 TLF35584介绍 TLF35584是英飞凌推出的针对车辆安全应用的电源管理芯片,符合ASIL D安全等级要求,具有高效多电源输出通道&…

EDM营销怎么做才能提高转化率?怎么策划?

EDM营销怎么做才能达到最大效果?如何成功制定EDM营销策略? EDM营销仍然是企业营销策略中不可或缺的一环。然而,仅仅发送电子邮件并不足以保证高转化率,EDM营销怎么做才能真正达到预期效果呢?接下来,AokSen…

解锁ChatGPT:如何通过语言设置巧妙解决无响应之谜

近日,ChatGPT的众多用户纷纷报告遭遇了一个令人困惑的现象:在发送消息后,却迟迟无法获得任何反馈。经过一番深入探索与研究,终于揭示了这一谜题的答案——原来,这一切都源于一个官方的语言设置漏洞。 要想彻底解决这个…

嘴尚绝卤味:纯正滋味,回味无穷

卤味,作为中国传统美食的代表之一,以其独特的口感和丰富的味道赢得了广大食客的喜爱。在众多卤味品牌中,嘴尚绝卤味凭借其纯正的味道和精湛的工艺,成为了市场上的一股清流,让人们在品尝美食的同时,也感受到…

有趣的CSS - 新拟态按钮

大家好,我是 Just,这里是「设计师工作日常」,今天分享的是一个好看的新拟态风格的按钮。 《有趣的css》系列最新实例通过公众号「设计师工作日常」发布。 目录 整体效果核心代码html 代码css 部分代码 完整代码如下html 页面css 样式页面渲染…

Linux之线程控制

目录 一、POSIX线程库 二、线程的创建 三、线程等待 四、线程终止 五、分离线程 六、线程ID:pthread_t 1、获取线程ID 2、pthread_t 七、线程局部存储:__thread 一、POSIX线程库 由于Linux下的线程并没有独立特有的结构,所以Linux并…

柚见第十期(后端队伍接口详细设计)

创建队伍 用户可以 创建 一个队伍,设置队伍的人数、队伍名称(标题)、描述、超时时间 P0 队长、剩余的人数 聊天? 公开 或 private 或加密 信息流中不展示已过期的队伍 请求参数是否为空?是否登录,未登录不…

基于pytest的证券清算系统功能测试工具开发

需求 1.造测试数据:根据测试需要,自动化构造各业务场景的中登清算数据与清算所需起来数据 2.测试清算系统功能: 自动化测试方案 工具设计 工具框架图 工具流程图 实现技术 python, pytest, allure, 多进程,mysql, 前端 效果 测…

MySQL 的基础操作

数据库的基础操作 1. 库操作2. 表的操作3. 数据类型 数据库是现代应用程序中至关重要的组成部分,通过数据库管理系统(DBMS)存储和管理数据。 1. 库操作 创建数据库 创建数据库是开始使用数据库的第一步。下面是一些常见的创建数据库的示例&a…

Python从0到100(三):Python中的变量介绍

前言: 零基础学Python:Python从0到100最新最全教程。 想做这件事情很久了,这次我更新了自己所写过的所有博客,汇集成了Python从0到100,共一百节课,帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

Day6 java 常用API

文章目录 1、Calendar1.1 Calendar日历对象 2、JDK8 之后新增的时间类2.1 LocalDate、LocalTime 、LocalDateTime2.2 ZoneId 、ZoneIdTime2.3 Instant2.4 DateTimeFormatter2.5 Period2.6 Duration 1、Calendar 在了解calendar之前,先用SimpleDateFormat 写一个小例…

Linux快速入门学习-2 Linux安装环境准备

文章目录 Linux发展前景及就业形势Windows操作系统简介硬盘分区简介Linux安装环境准备Linux系统安装图解 Linux发展前景及就业形势 权威部门统计,未来几年内我国软件行业的从业机会十分庞大,中国每年对IT软件人才的需求将达到200万人左右。而对于Linux专…

Docker进阶:深入理解 Dockerfile

Docker进阶:深入理解 Dockerfile 一、Dockerfile 概述二、为什么要学习Dockerfile三、Dockerfile 编写规则四、Dockerfile 中常用的指令1、FROM2、LABEL3、RUN4、CMD5、ENTRYPOINT6、COPY7、ADD8、WORKDIR9、 ENV10、EXPOSE11、VOLUME12、USER13、注释14、ONBUILD 命…

Java面试题之JVM

JVM整体架构 堆 minor gc:回收年轻代的垃圾对象 full GC:回收整个堆的垃圾对象 当full GC也回收不了就会OOM STW运行时会停掉所有用户线程 JVM调优的真正目的就是为了减少STW的次数 为什么会有STW:避免非垃圾对象发生变化,暂…

【深度学习笔记】优化算法——Adam算法

Adam算法 🏷sec_adam 本章我们已经学习了许多有效优化的技术。 在本节讨论之前,我们先详细回顾一下这些技术: 在 :numref:sec_sgd中,我们学习了:随机梯度下降在解决优化问题时比梯度下降更有效。在 :numref:sec_min…

Linux-socket套接字

前言 在当今数字化时代,网络通信作为连接世界的桥梁,成为计算机科学领域中至关重要的一部分。理解网络编程是每一位程序员必备的技能之一,而掌握套接字编程则是深入了解网络通信的关键。本博客将深入讨论套接字编程中的基本概念、常见API以及…