Stable Diffusion 3报告

报告链接:https://stability.ai/news/stable-diffusion-3-research-paper
在这里插入图片描述

文章目录

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

要点

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

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

表现

在这里插入图片描述

以 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 采用整流流 (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

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

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

相关文章

seata服务器集群搭建

搭建seata-server-1.3服务器对应SpringBoot2.3.12&#xff0c;springcloud2.2.3 <spring-cloud-alibaba.version>2.2.3.RELEASE</spring-cloud-alibaba.version> 首先你安装了nacos 1解压文件 2修改cong/file.conf 让seata集群信息可以共享&#xff0c;我们应该…

云手机运行在云端?安全性有保障吗

随着云计算技术的不断发展&#xff0c;云手机作为一种新兴的移动终端形态&#xff0c;逐渐成为人们关注的焦点。然而&#xff0c;对于许多人来说&#xff0c;云手机 是一个相对陌生的概念&#xff0c;安全性成为了他们最为关心的问题之一。本文将就云手机运行在云端的特点以及其…

Neo4j 新手教程 环境安装 基础增删改查 python链接 常用操作 纯新手向

Neo4j安装教程&#x1f680; 目前在学习知识图谱的相关内容&#xff0c;在图数据库中最有名的就是Neo4j,为了降低入门难度&#xff0c;不被网上很多华丽呼哨的Cypher命令吓退&#xff0c;故分享出该文档&#xff0c;为自己手动总结&#xff0c;包括安装环境&#xff0c;增删改查…

华为Web举例:私网用户通过三元组NAT访问Internet

Web举例&#xff1a;私网用户通过三元组NAT访问Internet 介绍私网用户通过三元组NAT访问Internet的配置举例。 组网需求 某公司在网络边界处部署了FW作为安全网关。为了使私网中10.1.1.0/24网段的用户可以正常访问Internet&#xff0c;需要在FW上配置源NAT策略。除了公网接口…

修改表中某个字段等于另一个字段减去 2 小时的 SQL

需求&#xff1a;将表中到达时间按照客户要求改为比赛时间的提前 N 小时&#xff0c;具体如下&#xff1a; 表结构 update contestSchedule SET mainRefereeArrivalTimeDATE_FORMAT(CONCAT(2024-03-04 ,gameTime)- INTERVAL 2 HOUR, %H:%i), assistantRefereeArrivalTimeDAT…

2024关于idea激活码报This license xxxx has been suspended

HOSTS文件中增加 0.0.0.0 www.jetbrains.com 0.0.0.0 account.jetbrains.com 然后

代码随想录 二叉树第五周

目录 235.二叉搜索树的最近公共祖先 701.二叉搜索树的插入操作 450.删除二叉搜索树中的节点 669.修建二叉搜索树 108.将有序数组转换为二叉搜索树 538.把二叉搜索树转换为累加树 235.二叉搜索树的最近公共祖先 235. 二叉搜索树的最近公共祖先 中等 给定一个二叉搜索树,…

浅谈MySQL 索引

MySQL 索引类型 1&#xff1a;主键索引 索引列中的值必须是唯一的&#xff0c;不允许有空值。 2&#xff1a;普通索引 MySQL中基本索引类型&#xff0c;没有什么限制&#xff0c;允许在定义索引的列中插入重复值和空值。 3&#xff1a;唯一索引 索引列中的值必须是唯一的&…

App前端开发跨平台框架比较:React Native、Flutter、Xamarin等

引言 移动应用开发领域的跨平台框架正在不断演进&#xff0c;为开发者提供更多选择。在本文中&#xff0c;我们将比较几个流行的跨平台框架&#xff1a;React Native、Flutter和Xamarin等。讨论它们的优缺点、适用场景以及开发体验。 第一部分 React Native: 优缺点、适用场景…

uniapp实现单选框卡片选择器,支持微信小程序、H5等多端

采用uniapp-vue3实现的一款单选框卡片选择器&#xff0c;纯CSS实现样式和交互&#xff0c;提供丝滑的动画选中效果&#xff0c;支持不同主题配置&#xff0c;适配多端 可到插件市场下载尝试&#xff1a; https://ext.dcloud.net.cn/plugin?id16901 使用示例 示例代码 <te…

Linux操作系统项目上传Github代码仓库指南

文章目录 1 创建SSH key2.本地git的用户名和邮箱设置3.测试连接4.创建仓库5.终端项目上传 1 创建SSH key 1.登录github官网,点击个人头像,点击Settings,然后点击SSH and GPG keys,再点击New SSH key。 Title 可以随便取&#xff0c;但是 key 需要通过终端生成。 Linux终端执行…

探究java反射取值与方法取值性能对比

探究java反射取值与方法取值性能对比 由于我开发框架时&#xff0c;经常需要对象取值。常用的取值方式有&#xff1a; 反射取值方法调用取值 环境 同一台电脑&#xff1a; jdk 21.0.2 idea 2023.3.3 1. 测试代码&#xff08;常用&#xff09; 1.1 反射取值 public stat…

【Web】浅浅地聊JDBC java.sql.Driver的SPI后门

目录 SPI定义 SPI核心方法和类 最简单的SPIdemo演示 回顾JCBC基本流程 为什么JDBC要有SPI JDBC java.sql.Driver后门利用与验证 SPI定义 SPI&#xff1a; Service Provider Interface 官方定义&#xff1a; 直译过来是服务提供者接口&#xff0c;学名为服务发现机制 它通…

如何在windows上像linux的ssh一样远程访问其它windows

主要分成两部分&#xff1a; 1. 如何远程执行指令 使用psexec&#xff0c;示例如下&#xff1a; PsExec64.exe \\远程计算机ip -u 用户名 -p 密码 -i cmd.exe 这样你就能连接到远程计算机上执行命令了&#xff0c;效果如下 2. 如何远程拷贝文件 分成两步&#xff1a; net…

【语法基础练习】1.变量、输入输出、表达式与顺序语句

&#x1f338;博主主页&#xff1a;釉色清风&#x1f338;文章专栏&#xff1a;算法练习&#x1f338;今日语录&#xff1a;You don’t know until you try. 文章简介&#xff1a;下面的题目是AcWing网站语法基础练习篇的第一小节&#xff0c;内容基础&#xff0c;难度&#xf…

计算机组成原理-累加器实验——沐雨先生

一、实验目的 1.理解累加器的概念和作用 2.连接运算器、存储器和累加器&#xff0c;熟悉计算机的数据通路 3.掌握使用微命令执行各种操作的方法。 二、实验要求 1.做好实验预习&#xff0c;读懂实验电路图&#xff0c;熟悉实验元器件的功能特性和使用方法。在实验之前设计…

list链表的创建,排序,插入, test ok

1. 链表的建立&#xff0c;打印 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stack> #include <iostream> #include <string.h> #include <string>using namespace std;struct node {int data;s…

Vue项目性能分析工具: vue-cli-plugin-webpack-bundle-analyzer

在优化项目的时候&#xff0c;每次打包后只知道包文件大&#xff0c;却不知道那个文件大&#xff0c;那个文件还有优化的空间&#xff0c;所以&#xff0c;推荐一款工具&#xff0c;只要在项目中安装配置一下&#xff0c;便可以一目了然的呈现出打包后资源所占的比例&#xff0…

军用技术民用开花,Shokz韶音要做下一个“AirPods”

Shokz韶音对打造消费级骨传导耳机的执念始于2007年。 在这之前&#xff0c;它已经成为亚洲最大的军用耳机生产商&#xff0c;以代工订单为主的商业模式是Shokz韶音的主营业务。虽然Shokz韶音靠代工赚得了第一桶金&#xff0c;但军用耳机的垂直细分市场容量有限&#xff0c;市场…

Python 实现冒泡排序算法

Python 实现冒泡排序算法 下面是用 Python 实现的冒泡排序算法示例代码&#xff1a; def bubble_sort(arr):n len(arr)# 遍历数组元素for i in range(n):# 每次遍历都将最大的元素移动到最后for j in range(0, n-i-1):# 如果相邻的元素逆序&#xff0c;则交换它们if arr[j] …