Stable Diffusion 3报告

报告链接:Stable Diffusion 3: Research Paper — Stability AI
在这里插入图片描述

文章目录
  • 要点
  • 表现
  • 架构细节
  • 通过重新加权改善整流流量
  • Scaling Rectified Flow Transformer Models
  • 灵活的文本编码器
  • RF相关论文

引言

随着人工智能技术的飞速发展,文本到图像生成领域正经历着前所未有的变革。Stable Diffusion 3(简称SD3)作为这一领域的最新突破,以其卓越的性能和创新的技术架构,引起了业界的广泛关注。本报告旨在全面介绍Stable Diffusion 3的技术特点、创新点以及市场应用前景。

要点

  • 发布研究论文,深入探讨Stable Diffuison 3的底层技术
  • 基于人类偏好评估,Stable Diffusion 3 在排版和提示遵守方面优于最先进的文本到图像生成系统,例如 DALL·E 3、Midjourney v6 和 Ideogram v1
  • 新的多模态扩散Transformer (MMDiT) 架构对图像和语言表示使用单独的权重集合,与以前版本的 SD3 相比,这提高了文本理解和拼写能力

继宣布 Stable Diffusion 3 的早期预览版之后,又发布了一份研究论文,概述了即将发布的模型的技术细节。

技术概述

Stable Diffusion 3采用了与Sora相同的DiT(Diffusion Transformer)架构,并在排版和提示遵守方面表现优于DALL·E 3、Midjourney v6和Ideogram v1等最先进的文本到图像生成系统。SD3模型套件的参数范围在800M和8B之间,为用户提供了从轻量级到高性能的不同选择,以满足不同场景的创意需求。

SD3的核心技术是多模态扩散变换器(MMDiT)架构,它使用分离权重集合来处理图像和语言表示,相比之前的版本,显著改善了文本理解和拼写能力。MMDiT架构结合了DiT和矩形流(RF)形式,使用两个独立的变换器来处理文本和图像嵌入,并在注意力操作中结合两种模态的序列。这种设计不仅提高了模型的文本理解能力,还增强了图像合成的细节处理和风格多样性。

在这里插入图片描述

以 SD3 作为基线,根据人类对视觉美学、提示跟随和版式的评估,概述其与竞争模型对比情况

将 Stable Diffusion 3 的输出图像与其他各种开放模型(包括 SDXL、SDXL Turbo、Stable Cascade、Playground v2.5 和 Pixart-α)以及闭源系统(如 DALL·E 3、Midjourney v6 和 Ideogram v1)进行基于人类反馈的性能对比。在这些测试中,向人类评估者提供了每个模型的示例输出,并要求他们根据模型输出与提示上下文的紧密程度(“提示跟随”)、基于提示的文本呈现程度(“排版”)以及哪幅图像具有更高的美学质量(“视觉美学”)来选择最佳结果。

测试结果表明Stable Diffusion 3在所有上述领域都等于或优于当前最先进的文本到图像生成系统。在早期的消费者硬件上进行的未优化推理测试中,最大的SD3模型具有8B个参数,适合RTX 4090的24GB VRAM,当使用50个采样步骤时,需要34秒能生成分辨率为1024x1024的图像。此外,Stable Diffusion 3在首次发布期间将有多种变体,从800M到8B的参数模型,以进一步消除硬件障碍。

架构细节

对于文本到图像的生成,SD3模型考虑文本和图像这两种模式,这是为什么将这种新架构称为 MMDiT,指的是它处理多种模式的能力。与之前版本的稳定扩散一样,使用预训练模型来导出合适的文本和图像表示。具体来说,SD3使用三种不同的文本嵌入器(两个 CLIP 模型和 T5)来编码文本表示,并使用改进的自动编码模型来编码图像tokens。
在这里插入图片描述

MMDIT

SD3 架构建立在 DiT 的基础上。由于文本和图像嵌入在概念上完全不同,因此对这两种模式使用两组独立的权重。如上图所示,这相当于每种模态都有两个独立的Transformers,但是将两种模态的序列连接起来进行注意力操作,这样两种表示都可以在自己的空间中工作,同时考虑另一种表示。
在这里插入图片描述
训练过程中测量视觉保真度和文本对齐,MMDiT 架构优于已建立的文本到图像主干,UViT 和 DiT

通过使用这种方法,信息可以在图像和文本标记之间流动,以提高生成的输出中的整体理解和排版。正如在论文中讨论的那样,这种架构还可以轻松扩展到视频等多种模式。
在这里插入图片描述
得益于 Stable Diffusion 3 改进的提示跟随功能,模型能够创建专注于各种不同主题和质量的图像,同时对图像本身的风格保持高度灵活性。
在这里插入图片描述
在这里插入图片描述

技术创新

Stable Diffusion 3的技术创新主要体现在以下几个方面:

  1. Rectified Flow模型的优化:SD3对Rectified Flow模型的训练方法进行了改进,通过引入感知相关的尺度偏差,优化了噪声采样过程。这使得模型在图像合成上的表现更加精准和高效,从而在高分辨率文本到图像合成方面取得了比传统扩散模型更优越的性能。
  2. Transformer架构的创新:新提出的Transformer架构通过分离图像和文本的权重流,实现了两者之间的双向交互。这种设计不仅提高了模型对文本的理解能力,还增强了图像合成的细节处理和风格多样性。此外,MMDiT架构还可以扩展到多模态数据,如视频等,为未来的应用提供了更广阔的空间。
  3. 内存密集型T5文本编码器的移除:在SD3中,移除了内存密集型的T5文本编码器,显著减少了模型的内存需求,同时仅伴随少量性能损失。这一改进使得SD3能够更高效地运行在消费者硬件上,降低了使用门槛。

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

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

Scaling Rectified Flow Transformer Models

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

灵活的文本编码器

通过移除用于推理的内存密集型 4.7B 参数 T5 文本编码器,SD3 的内存需求可以显着降低,而性能损失很小。删除此文本编码器不会影响视觉美感(无 T5 的胜率:50%),只会导致文本依从性略有下降(胜率 46%),如上图“性能”部分下所示。然而,建议包括 T5,以充分利用 SD3 生成书面文本的能力,因为观察到,如果没有 T5,版式生成的性能会大幅下降(胜率 38%),如下例所示:
在这里插入图片描述

RF相关论文

  • Flow Straight and Fast: Learning to Generate and Transfer Data with Rectified Flow
  • Building Normalizing Flows with Stochastic Interpolants
  • Flow Matching for Generative Modeling

市场应用前景

Stable Diffusion 3在文本到图像生成领域的卓越性能和创新技术架构,为其在市场上的广泛应用提供了有力支持。以下是SD3可能的应用场景:

  1. 创意设计:设计师可以利用SD3将文本描述快速转化为高质量的图像素材,提高设计效率和质量。SD3对文本理解和图像生成的精准控制,使得生成的图像更符合设计师的创意需求。
  2. 广告营销:在广告营销领域,SD3可以根据广告文案快速生成符合品牌形象和宣传需求的图像素材。这种快速、高效的图像生成方式可以大大缩短广告制作周期,降低制作成本。
  3. 娱乐产业:在游戏、动漫等娱乐产业中,SD3可以根据剧情和角色设定快速生成高质量的图像素材。这种技术可以加速游戏开发和动漫制作流程,提高产品质量和用户体验。
  4. 教育培训:在教育培训领域,SD3可以帮助学生更好地理解抽象概念和复杂知识。通过将文本描述转化为直观的图像素材,可以帮助学生更快地掌握知识和技能。

Stable Diffusion 3作为文本到图像生成领域的新里程碑,以其卓越的性能和创新的技术架构,为市场带来了全新的发展机遇。随着技术的不断发展和优化,相信SD3将在未来为更多领域和行业带来深刻的变革和创新。

本文参考文章:Stable Diffusion 3报告_stable diffusion 3: research paper-CSDN博客

精彩文章合辑

基于AARRR模型的录音笔在电商平台进行推广的建议-CSDN博客

【附gpt4.0升级秘笈】AutoCoder进化:本地Rag知识库引领智能编码新时代-CSDN博客

【附gpt4.0升级秘笈】OpenAI 重磅官宣免登录用 ChatGPT_openai 4.0 免费-CSDN博客

【附升级gpt4.0方案】探索人工智能在医疗领域的革命-CSDN博客

【文末 附 gpt4.0升级秘笈】超越Sora极限,120秒超长AI视频模型诞生-CSDN博客

【附gpt4.0升级秘笈】身为IT人,你为何一直在“高强度的工作节奏”?-CSDN博客

【文末附gpt升级4.0方案】英特尔AI PC的局限性是什么-CSDN博客

【文末附gpt升级4.0方案】FastGPT详解_fastgpt 文件处理模型-CSDN博客

大模型“说胡话”现象辨析_为什么大语言模型会胡说-CSDN博客

英伟达掀起AI摩尔时代浪潮,Blackwell GPU引领新篇章-CSDN博客

如何订阅Midjourney_midjourney付费方式-CSDN博客

睡前故事001:代码的梦境-CSDN博客

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

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

相关文章

【map、set】C++用红黑树来封装map、set容器

🎉博主首页: 有趣的中国人 🎉专栏首页: C进阶 🎉其它专栏: C初阶 | Linux | 初阶数据结构 小伙伴们大家好,本片文章将会讲解map和set之用红黑树来封装map、set容器的相关内容。 如果看到最后您…

CasaOS系统玩客云安装内网穿透工具实现无公网IP远程访问

文章目录 前言1. CasaOS系统介绍2. 内网穿透安装3. 创建远程连接公网地址4. 创建固定公网地址远程访问 前言 2月底,玩客云APP正式停止运营,不再提供上传、云添加功能。3月初,有用户进行了测试,局域网内的各种服务还能继续使用&am…

kubeadm部署k8s v1.28

一、主机准备 主机硬件配置说明 作用IP地址操作系统配置k8s-master01192.168.136.55openEuler-22.03-LTS-SP12颗CPU 4G内存 50G硬盘k8s-node01192.168.136.56openEuler-22.03-LTS-SP12颗CPU 4G内存 50G硬盘k8s-node02192.168.136.57openEuler-22.03-LTS-SP12颗CPU 4G内存 50G…

C++: 多态

目录 一、多态的概念 二、多态的定义及实现 2.1虚函数 2.2虚函数的重写 2.3多态的构成条件 2.4虚函数重写的两个例外 1.协变 2.析构函数的重写 2.5虚函数重写的实质 2.6override 和 final(C11) 1.final 2.override 2.7重载、覆盖&#xff0…

Leetcode刷题笔记2:数组基础2

导语 leetcode刷题笔记记录,本篇博客记录数组基础1部分的题目,主要题目包括: 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II 知识点 滑动窗口 所谓滑动窗口,就是不断的调节子序列的起始位…

反射获取或修改对象属性的值

利用反射既可以获取也可以写入,首先咱们先写几个获取的例子。 一:利用反射修改各数据(利用resultField.set修改) 首先定义实体类 public class Dog {private String dogUser;private int age;把DogUser的"hahaha"改为"geggegegege" Dog dog = new Do…

Docker快速搭建Oracle服务

服务器:CentOS7.9 1.安装docker yum install -y docker 2. 设置镜像加速 修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值 阿里云的docker镜像需要自己注册账号,也可以不注册账号,直接使用下面的连接。 也可以写入多…

C语言 数组——计算最大值的函数实现

目录 计算最大值 计算最大值的函数实现 应用实例:计算班级最高分​编辑​编辑 返回最大值所在的下标位置 返回最大值下标位置的函数实现​编辑 一个综合应用实例——青歌赛选手评分​编辑​编辑​编辑​编辑​编辑 计算最大值 计算最大值的函数实现 应用实例&…

键盘盲打是练出来的

键盘盲打是练出来的,那该如何练习呢?很简单,看着屏幕提示跟着练。屏幕上哪里有提示呢?请看我的截屏: 截屏下方有8个带字母的方块按钮,这个就是提示,也就是我们常说的8个基准键位,我…

【蓝桥杯】

题目列表 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<bits/stdc.h> using llunsigned long long; #define int ll const int N2e510; int k0; std::string s; int a,b,c,d; void solve() {char op;std::cin>>op;if(opA){std::string s;for(int i1;i&l…

Kafka-偏移量(含消费者事务)

Kafka概述 1.什么是偏移量&#xff1a; 在 Kafka 中&#xff0c;每个分区的消息都会被分配一个唯一的偏移量&#xff08;offset&#xff09;。偏移量简单来说就是消息在分区中的位置标识。 偏移量从 0 开始递增&#xff0c;每条消息的偏移量都会比前一条消息的偏移量大 1。 消…

如何对Linode Windows虚拟机进行“本地”访问

大部分时候&#xff0c;IT运维工作都可以远程进行&#xff0c;只要能通过网络访问被管理的系统&#xff0c;就可以执行几乎所有任务。如果因为某些原因导致无法通过网络访问呢&#xff1f;此时可能需要亲自到达相关硬件设备旁&#xff0c;通过“本地访问”来排错。 如果这些硬…

python实现520表白图案

今天是520哦&#xff0c;作为程序员有必要通过自己的专业知识来向你的爱人表达下你的爱意。那么python中怎么实现绘制520表白图案呢&#xff1f;这里给出方法&#xff1a; 1、使用图形库&#xff08;如turtle&#xff09; 使用turtle模块&#xff0c;你可以绘制各种形状和图案…

Thinkphp内核开发盲盒商城源码v2.0 对接易支付/阿里云短信/七牛云存储

源码简介 这套系统是我从以前客户手里拿到的,100完整可用,今天测试防红链接失效了,需要修改防红API即可!前端页面展示我就不放了,懂的都懂 优点是Thinkphp开发的&#xff0c;二开容易。 源码图片 资源获取&#xff1a;Thinkphp内核开发盲盒商城源码v2.0 对接易支付/阿里云短…

苹果MacOS系统使用微软远程桌面连接Windows电脑桌面详细步骤

文章目录 前言1. 测试本地局域网内远程控制1.1 Windows打开远程桌面1.2 局域网远程控制windows 2. 测试Mac公网远程控制windows2.1 在windows电脑上安装cpolar2.2 Mac公网远程windows 3. 配置公网固定TCP地址 前言 日常工作生活中&#xff0c;有时候会涉及到不同设备不同操作系…

面了一个程序员,因为6休1拒绝了我

人一辈子赖以生存下去的主要就考虑三件事&#xff0c;职业&#xff0c;事业&#xff0c;副业&#xff0c;有其1-2都是很不错的。如果还没到40岁&#xff0c;那不妨提前想下自己可能遇到的一些情况&#xff0c;提前做一些准备&#xff0c;未雨绸缪些。 今年整体就业大环境也一般…

CDN用户平台安装说明

CDN用户平台安装说明 登录管理员系统 在”系统设置” – “高级设置” – “用户节点”中点击”添加节点” 如果所示&#xff1a; 节点名称 - 可以任意填写 进程监听端口 - 启动用户节点后&#xff0c;进程所监听的端口&#xff0c;通常是HTTP 80或者HTTPS 443&#xff0c;…

网关路由SpringCloudGateway、nacos配置管理(热更新、动态路由)

文章目录 前言一、网关路由二、SpringCloudGateway1. 路由过滤2. 网关登录校验2.1 鉴权2.2 网关过滤器2.3 登录校验2.3.1 JWT2.3.2 登录校验过滤器 3. 微服务从网关获取用户4. 微服务之间用户信息传递 三、nacos配置管理问题引入3.1 配置共享3.1.1 在Nacos中添加共享配置3.1.2 …

vue.js状态管理和服务端渲染

状态管理 vuejs状态管理的几种方式 组件内管理状态&#xff1a;通过data&#xff0c;computed等属性管理组件内部状态 父子组件通信&#xff1a;通过props和自定义事件实现父子组件状态的通信和传递 事件总线eventBus&#xff1a;通过new Vue()实例&#xff0c;实现跨组件通…

yolov8训练自己数据集时出现loss值为nan。

具体原因目前暂未寻找到。 解决办法 将参数amp改成False即可。 相关资料&#xff1a; https://zhuanlan.zhihu.com/p/165152789 https://github.com/ultralytics/ultralytics/issues/1148