SD3: 公式占一半,实验很充分!全面提升高分辨率图像生成能力。理论与实践的完美融合,开源领域的又一里程碑!
Scaling Rectified Flow Transformers for High-Resolution Image Synthesis
Abstract | HTML | PDF
Stable Diffusion 3 技术报告简介
提出了更快、更准、更强的文本到图像生成技术,同时公开代码和模型权重,为生成式 AI 的进一步发展提供了重要助力,有三大贡献:
路径优化
数据流:采用"整流流"(Rectified Flow),用直线连接数据和噪声,取代传统的弯曲路径,大幅提升采样速度和质量,同时减少误差累积。
架构创新
模型:设计了一种双向信息流架构,实现文本和图像特征的互相交流,突破了传统方法中文本表示固定的局限性,显著提升生成的理解力和表现力。
实验验证
通过大规模实验验证,这些改进不仅在理论上有效,还在生成质量上全面超越了现有的最强开源模型(如 SDXL)和闭源模型(如 DALL-E 3),在自动评估和人工评分中均表现出色。
路径优化(Rectified Flow)
传统扩散生成模型与Simulation-Free Training of Flows对比
传统生成模型:ODE解法
核心原理
- 通过解普通微分方程 (ODE) 将噪声分布 <math xmlns="http://www.w3.org/1998/Math/MathML"> p 1 p_1 </math>p1转换为数据分布 <math xmlns="http://www.w3.org/1998/Math/MathML"> p 0 p_0 </math>p0:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> d y t d t = v Θ ( y t , t ) , \frac{dy_t}{dt} = v_\Theta(y_t, t), </math>dtdyt=vΘ(yt,t),
其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> v Θ v_\Theta </math>vΘ 是一个由神经网络参数化的速度场,描述了从噪声到数据的逐步演化。
计算方式
- 对 ODE 进行数值积分,逐步生成数据:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> y 0 = y T − ∫ T 0 v Θ ( y t , t ) d t , y_0 = y_T - \int_T^0 v_\Theta(y_t, t) \, dt, </math>y0=yT−∫T0vΘ(yt,t)dt,
每一步都需要调用一次神经网络 <math xmlns="http://www.w3.org/1998/Math/MathML"> v Θ v_\Theta </math>vΘ,总共可能需要数百到数千步,计算开销非常大。
形象类比
- 就像沿着一条曲折的山路开车,每一个弯道都需要减速、转弯、加速。需要谨慎处理每一步,效率很低。
当前方法:条件向量场与信噪比优化
核心原理
-
通过一个线性公式表示噪声与数据的关系:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> z t = a t x 0 + b t ϵ , ϵ ∼ N ( 0 , I ) , z_t = a_t x_0 + b_t \epsilon, \quad \epsilon \sim \mathcal{N}(0, I), </math>zt=atx0+btϵ,ϵ∼N(0,I),
其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> a t , b t a_t, b_t </math>at,bt描述了数据 <math xmlns="http://www.w3.org/1998/Math/MathML"> x 0 x_0 </math>x0和噪声 <math xmlns="http://www.w3.org/1998/Math/MathML"> ϵ \epsilon </math>ϵ 的混合比例。
-
构造向量场 <math xmlns="http://www.w3.org/1998/Math/MathML"> u t ( z ∣ ϵ ) u_t(z|\epsilon) </math>ut(z∣ϵ),直接拟合噪声与数据的映射关系:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> u t ( z ∣ ϵ ) = a t ′ a t z t − b t 2 λ t ′ ϵ , u_t(z|\epsilon) = \frac{a_t'}{a_t} z_t - \frac{b_t}{2} \lambda_t' \epsilon, </math>ut(z∣ϵ)=atat′zt−2btλt′ϵ,
其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> λ t = log a t 2 b t 2 \lambda_t = \log \frac{a_t^2}{b_t^2} </math>λt=logbt2at2 是信噪比,用于动态调整生成路径。
计算方式
- 直接优化损失函数,避免复杂的数值积分:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> L C F M = E [ ∥ v Θ ( z , t ) − u t ( z ∣ ϵ ) ∥ 2 ] . \mathcal{L}{CFM} = \mathbb{E}\left[\left\| v\Theta(z, t) - u_t(z|\epsilon) \right\|^2 \right]. </math>LCFM=E[∥vΘ(z,t)−ut(z∣ϵ)∥2].
形象类比
- 就像修建了一条笔直的高速公路,车可以以恒定的速度快速到达终点。不需要复杂的减速和转弯,既快又高效。
数学对比
特性 | 传统 ODE 解法 | 当前方法 |
---|---|---|
公式 | <math xmlns="http://www.w3.org/1998/Math/MathML"> d y t d t = v Θ ( y t , t ) \frac{dy_t}{dt} = v_\Theta(y_t, t) </math>dtdyt=vΘ(yt,t) | <math xmlns="http://www.w3.org/1998/Math/MathML"> z t = a t x 0 + b t ϵ z_t = a_t x_0 + b_t \epsilon </math>zt=atx0+btϵ |
计算方式 | 数值积分,逐步调用网络多次 | 直接拟合向量场 <math xmlns="http://www.w3.org/1998/Math/MathML"> u t u_t </math>ut |
效率 | 慢,迭代步数多,计算开销大 | 快,优化直接,计算高效 |
信噪比调整 | 无 | 动态调整 <math xmlns="http://www.w3.org/1998/Math/MathML"> λ t = log a t 2 b t 2 \lambda_t = \log \frac{a_t^2}{b_t^2} </math>λt=logbt2at2 |
形象类比 | 曲折山路,每步需谨慎控制 | 笔直高速路,一步直达终点 |
生动总结
传统方法像在曲折山路上小心驾驶,每一步都需要计算;当前方法像修了一条直线高速公路,车辆可以快速、平稳到达目的地。通过引入信噪比优化,当前方法更高效、更适合大规模生成任务。
Simulation-Free Training of Flows的Trajectories类型(修建高速公路的不同方案)
本文讨论了几种流模型的路径构造(Flow Trajectories),以及如何通过不同的采样策略和噪声分布设计来优化生成模型的表现。核心问题是如何在数据分布 <math xmlns="http://www.w3.org/1998/Math/MathML"> p 0 p_0 </math>p0和噪声分布 <math xmlns="http://www.w3.org/1998/Math/MathML"> p 1 p_1 </math>p1 之间构造最优路径,同时优化模型的训练与推理效率。
Rectified Flow (RF): 直线路径
路径公式:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> z t = ( 1 − t ) x 0 + t ϵ , z_t = (1 - t)x_0 + t\epsilon, </math>zt=(1−t)x0+tϵ,
这里 <math xmlns="http://www.w3.org/1998/Math/MathML"> x 0 x_0 </math>x0 是数据分布, <math xmlns="http://www.w3.org/1998/Math/MathML"> ϵ ∼ N ( 0 , I ) \epsilon \sim \mathcal{N}(0, I) </math>ϵ∼N(0,I) 是标准正态噪声。
特点:
-
采用数据和噪声之间的直线插值。
-
直线路径的权重 <math xmlns="http://www.w3.org/1998/Math/MathML"> w t w_t </math>wt 定义为:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> w t R F = t 1 − t . w_t^{RF} = \frac{t}{1-t}. </math>wtRF=1−tt.
-
直接参数化速度场 <math xmlns="http://www.w3.org/1998/Math/MathML"> v Θ v_\Theta </math>vΘ,计算简单高效。
直观理解 : 就像在数据和噪声之间拉了一条直线,通过线性比例控制在时间 <math xmlns="http://www.w3.org/1998/Math/MathML"> t t </math>t 的位置。
EDM (Efficient Diffusion Model): 指数权重路径
路径公式:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> z t = x 0 + b t ϵ , z_t = x_0 + b_t \epsilon, </math>zt=x0+btϵ,
其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> b t = exp ( F N − 1 ( t ∣ P m , P s 2 ) ) b_t = \exp(F_N^{-1}(t|P_m, P_s^2)) </math>bt=exp(FN−1(t∣Pm,Ps2))是时间 <math xmlns="http://www.w3.org/1998/Math/MathML"> t t </math>t 对应的标准差。
特点:
-
<math xmlns="http://www.w3.org/1998/Math/MathML"> F N − 1 ( t ∣ P m , P s 2 ) F_N^{-1}(t|P_m, P_s^2) </math>FN−1(t∣Pm,Ps2)是正态分布的分位数函数,具有平均值 <math xmlns="http://www.w3.org/1998/Math/MathML"> P m P_m </math>Pm和方差 <math xmlns="http://www.w3.org/1998/Math/MathML"> P s 2 P_s^2 </math>Ps2。
-
对应的信噪比分布:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> λ t ∼ N ( − 2 P m , ( 2 P s ) 2 ) . \lambda_t \sim \mathcal{N}(-2P_m, (2P_s)^2). </math>λt∼N(−2Pm,(2Ps)2).
-
权重函数:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> w t E D M ∝ N ( λ t − 2 P m , ( 2 P s ) 2 ) ( e − λ t + 0. 5 2 ) . w_t^{EDM} \propto \mathcal{N}(\lambda_t - 2P_m, (2P_s)^2)(e^{-\lambda_t} + 0.5^2). </math>wtEDM∝N(λt−2Pm,(2Ps)2)(e−λt+0.52).
直观理解: 数据和噪声的混合程度由指数函数控制,这种方式更灵活,能更好地分配生成的关注点。
Cosine 路径
路径公式:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> z t = cos ( π 2 t ) x 0 + sin ( π 2 t ) ϵ . z_t = \cos\left(\frac{\pi}{2}t\right)x_0 + \sin\left(\frac{\pi}{2}t\right)\epsilon. </math>zt=cos(2πt)x0+sin(2πt)ϵ.
特点:
-
通过余弦和正弦函数定义数据与噪声的混合。
-
权重函数 <math xmlns="http://www.w3.org/1998/Math/MathML"> w t w_t </math>wt:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> w t = sech ( λ t / 2 ) , w_t = \text{sech}(\lambda_t / 2), </math>wt=sech(λt/2),
或结合 <math xmlns="http://www.w3.org/1998/Math/MathML"> v v </math>v-预测优化时使用 <math xmlns="http://www.w3.org/1998/Math/MathML"> w t = e − λ t / 2 w_t = e^{-\lambda_t / 2} </math>wt=e−λt/2。
直观理解: 数据和噪声的混合程度以余弦/正弦曲线变化,类似于平滑渐变。
Linear DDPM (LDM): 线性扩散路径
路径公式:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> b t = 1 − a t 2 , b_t = \sqrt{1 - a_t^2}, </math>bt=1−at2 ,
其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> a t a_t </math>at 基于 DDPM 的扩散系数通过递归定义:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> a t = ∏ s = 0 t ( 1 − β s ) 1 / 2 , a_t = \prod_{s=0}^t (1 - \beta_s)^{1/2}, </math>at=s=0∏t(1−βs)1/2,
<math xmlns="http://www.w3.org/1998/Math/MathML"> β t \beta_t </math>βt 是扩散过程中的时间步参数。
特点:
- 使用固定扩散系数 <math xmlns="http://www.w3.org/1998/Math/MathML"> β t \beta_t </math>βt 控制噪声增长。
- 在 LDM 中,这些参数通过线性插值进一步优化。
直观理解: 数据和噪声的混合按照固定的线性步长增加,是传统扩散模型的经典路径。
Logit-Normal 和 Heavy-Tail Sampling
Logit-Normal 分布:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> π l n ( t ; m , s ) = 1 s 2 π ⋅ 1 t ( 1 − t ) ⋅ exp ( − ( logit ( t ) − m ) 2 2 s 2 ) \pi_{ln}(t; m, s) = \frac{1}{s\sqrt{2\pi}} \cdot \frac{1}{t(1-t)} \cdot \exp\left(-\frac{(\text{logit}(t) - m)^2}{2s^2}\right) </math>πln(t;m,s)=s2π 1⋅t(1−t)1⋅exp(−2s2(logit(t)−m)2)
其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> logit ( t ) = log t 1 − t \text{logit}(t) = \log \frac{t}{1-t} </math>logit(t)=log1−tt。
用途:
- 调整采样权重,倾向于中间时间步或者特定区域。
- 使用 <math xmlns="http://www.w3.org/1998/Math/MathML"> m m </math>m和 <math xmlns="http://www.w3.org/1998/Math/MathML"> s s </math>s 控制分布偏移量和宽度。
直观理解: 通过对采样时间的权重重新分配,使得生成过程对中间或边界时间更加敏感。
CosMap:基于余弦的分布采样
路径公式:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> t = f ( u ) = 1 − 1 tan ( π 2 u ) + 1 , t = f(u) = 1 - \frac{1}{\tan(\frac{\pi}{2}u) + 1}, </math>t=f(u)=1−tan(2πu)+11,
其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> u ∼ U ( 0 , 1 ) u \sim U(0, 1) </math>u∼U(0,1) 是均匀分布。
特点:
- 生成分布的密度为:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> π C o s M a p ( t ) = d d t f − 1 ( t ) = 2 π − 2 π t + 2 π t 2 . \pi_{CosMap}(t) = \frac{d}{dt}f^{-1}(t) = \frac{2}{\pi - 2\pi t + 2\pi t^2}. </math>πCosMap(t)=dtdf−1(t)=π−2πt+2πt22.
直观理解: 将时间步按照余弦分布平滑采样,确保在不同时间点的采样密度更加均衡。
总结
这些路径设计和采样方法针对不同的生成需求(速度、质量、灵活性)进行优化:
- Rectified Flow 简单直观,计算成本低。
- EDM 和 Cosine 路径更灵活,适合复杂生成任务。
- Logit-Normal 和 CosMap 调整采样权重,更加关注生成过程的关键步骤。 通过这些策略的组合,提升了生成模型的表现,同时保持高效性和可控性。
架构创新(MM-DiT)
为了让模型能够根据文本生成图像,它需要能够同时理解两种"语言":图像的视觉特征 和文本的语义信息。这就像一个艺术家,不仅要看懂画布上的图案,还需要从旁听到的描述中理解要添加的细节。为此,模型通过预训练提取文本和图像的表示,然后在扩散模型的框架中将两者结合,完成生成任务。
多模态扩散骨干MM-DiT:基于 DiT 的改进
DiT 的原始架构及其限制
模型的整体设计基于Diffusion Transformer (DiT) ,是一种将 Transformer 应用于扩散模型的创新架构。其原始设计主要用于基于类别标签的图像生成任务,例如根据类别标签生成"猫"或"狗"的图像。类别标签被编码为固定的条件向量 <math xmlns="http://www.w3.org/1998/Math/MathML"> c vec c_{\text{vec}} </math>cvec,输入到模型中控制生成。然而,这种设计仅适用于简单的分类场景,对更复杂的文本描述生成任务表现不足。原因在于类别标签只包含全局信息,缺乏细粒度的语义表达能力。
文本池化的局限与改进
简单的文本池化方法将文本平均化为一个固定向量,但这种粗粒度表示忽略了文本中词语的顺序和上下文信息。例如,当描述"蓝天白云"时,文本池化可能仅能提取"蓝"和"白"的全局信息,而无法捕捉"天上有朵形状像小狗的云"这样的细节和修饰语。
为了捕捉这些细腻的语义,模型引入了序列化的文本表示 <math xmlns="http://www.w3.org/1998/Math/MathML"> c txt c_{\text{txt}} </math>ctxt。这种表示保留了文本中每个词的顺序和嵌入信息,类似于逐词理解文本的过程。通过序列表示,模型能够更深入地理解文本的上下文关系和细节描述。
骨干Overall:文本和图像的多模态处理机制
想象一下,模型需要同时处理图像和文本,首先要让它们"说同一种语言"。这里的做法是将图像切割成小块(类似像素补丁),并将每个小块编码成一个向量。假设图像的分辨率是 <math xmlns="http://www.w3.org/1998/Math/MathML"> h × w h \times w </math>h×w,每个小块大小是 <math xmlns="http://www.w3.org/1998/Math/MathML"> 2 × 2 2 \times 2 </math>2×2,那么最终形成的"图像向量序列"长度就是 <math xmlns="http://www.w3.org/1998/Math/MathML"> 1 2 h ⋅ 1 2 w \frac{1}{2}h \cdot \frac{1}{2}w </math>21h⋅21w。
文本序列 <math xmlns="http://www.w3.org/1998/Math/MathML"> c txt c_{\text{txt}} </math>ctxt 和图像的潜在表示序列会被拼接在一起,形成一个多模态序列。这个序列输入到一个联合建模的 Transformer 中,进行文本和图像信息的融合,就像让两种语言的人坐在同一个会议室,方便后续的信息交流。多模态注意力机制允许模型在生成过程中同时关注文本和图像的特征。例如,当文本提到"小狗"时,注意力机制能够引导生成图像中出现相应的形状或特征。
文本和图像的独立处理
左图展示了整个架构的工作流程:
- 文本处理团队 :模型首先通过预训练的语言模型(如 CLIP 或 T5)对输入文本(Caption)进行编码。这种编码既保留了整体语义,也包括了具体的词序信息(如"蓝天"和"白云"的关系)。编码输出分为两个部分:
- Pooled(池化)表示:提供全局语义信息,类似于给团队一个简洁的任务总结。
- Token 表示:保留文本中每个词的独立语义细节,确保细腻的生成指导。
- 图像处理团队 :图像信息通过一个预处理步骤被转化为潜在表示 <math xmlns="http://www.w3.org/1998/Math/MathML"> x x </math>x,然后切分为多个小块(patches)。这些块被编码为固定长度的向量,再与时间步信息 <math xmlns="http://www.w3.org/1998/Math/MathML"> t t </math>t 和位置编码进行加和。这就像给团队一个拼图的每一块,并标明它们在整体中的位置。
注意力机制的交互协作
右图中展示了一个典型的 MM-DiT Block 的详细工作流程:
- 独立输入通道:文本和图像模态的信息通过各自的通道(上下两部分)进行处理,每个通道都有自己专属的 LayerNorm 和线性变换。
- 共享注意力操作 :尽管两个模态独立编码,但在注意力层,它们共享 <math xmlns="http://www.w3.org/1998/Math/MathML"> Q Q </math>Q、 <math xmlns="http://www.w3.org/1998/Math/MathML"> K K </math>K、 <math xmlns="http://www.w3.org/1998/Math/MathML"> V V </math>V(查询、键、值)矩阵。这种共享允许两种模态的特征在注意力机制中彼此交互。比如:
- 当文本描述"天空"时,注意力会引导模型关注图像中天空相关的特征块。
- 当图像包含复杂内容时,注意力可以引导模型参考文本描述中提到的细节,减少生成偏差。
- 交互后的更新:经过注意力机制的交互,每个模态都获得了对方的语义线索,同时保留了自己的特性。这种操作类似于两个团队在会议中分享见解,然后各自回到岗位优化自己的部分。
动态控制与多模态融合
在整个生成过程中,时间步 <math xmlns="http://www.w3.org/1998/Math/MathML"> t t </math>t 的加入为模型提供了动态调节能力。时间步嵌入被添加到文本和图像特征中,确保模型在不同阶段(如生成初期或接近完成时)能够适配不同的生成需求。最终,模型将所有模态的信息进行融合,生成符合文本描述的高质量图像。这一机制就像一个大型项目团队的运作:
- 文本和图像团队各自使用专属的工具分析自己的任务(独立处理)。
- 两个团队定期召开会议(注意力机制)共享进展和细节。
- 在项目的各个阶段,时间管理者(时间步信息)确保团队保持节奏并最终按时交付高质量的成果(生成图像)。 这种多模态协作的方式,让生成任务不仅高效,而且精准。
Scaling Diffusion Models
模型的深度通过参数 <math xmlns="http://www.w3.org/1998/Math/MathML"> d d </math>d 控制:
- 模型中注意力块的数量由 <math xmlns="http://www.w3.org/1998/Math/MathML"> d d </math>d 决定,深度越大,模型越强大。
- 每个隐藏层的维度为 <math xmlns="http://www.w3.org/1998/Math/MathML"> 64 ⋅ d 64 \cdot d </math>64⋅d,并在 MLP 模块中扩展到 <math xmlns="http://www.w3.org/1998/Math/MathML"> 4 ⋅ 64 ⋅ d 4 \cdot 64 \cdot d </math>4⋅64⋅d。
- 注意力头的数量也等于 <math xmlns="http://www.w3.org/1998/Math/MathML"> d d </math>d。
这种设计可以让模型规模根据资源条件灵活调整,适配不同的任务需求。U-Net 长期统治扩散模型的领域,但 Transformer 的引入为扩散模型开辟了新的可能性。通过探索扩展性规律,Transformer 在文本到图像扩散模型中的潜力可以被充分挖掘,从而为多模态生成任务提供更强大的解决方案。
Transformer 和扩散模型的架构演化
Transformer 架构(Vaswani et al., 2017)以其在自然语言处理(NLP)和计算机视觉任务中的扩展性而闻名。在 NLP 中,大规模 Transformer 模型(如 GPT 系列)展现了卓越性能(Kaplan et al., 2020);在计算机视觉中,Vision Transformer (ViT) 及其后续版本(Dosovitskiy et al., 2020;Zhai et al., 2022)成为主流方法。然而,在扩散模型领域,主流架构仍然是 U-Net(Ronneberger et al., 2015),因其强大的多尺度特征提取能力,在图像生成任务中占据主导地位(Ho et al., 2020;Rombach et al., 2022)。
扩散模型的 Transformer 架构与扩展性
尽管 U-Net 在扩散模型中应用广泛,最近一些研究开始探索基于 Transformer 的扩散模型骨干结构(Peebles & Xie, 2023;Chen et al., 2023;Ma et al., 2024)。Transformer 的全局建模能力特别适合复杂任务(如文本到图像生成),但目前缺乏针对这一领域的扩展性规律研究。相比之下,NLP 和 Vision Transformer 的扩展性规律已被广泛总结,例如模型规模与性能的非线性关系和数据量对性能的影响。
扩散模型中尚未明确的扩展性规律包括:
- 模型规模与生成质量的具体关系。
- 文本到图像生成任务中,噪声去除过程与计算复杂度的平衡。
- Transformer 在扩散任务中是否能完全超越 U-Net 的局限性。
扩散 Transformer 的特性与难点
Transformer 擅长捕捉全局上下文信息,这可能比 U-Net 更适合将文本映射到完整的图像。然而,扩散模型逐步去噪的过程依赖对细粒度特征的建模,而这正是 U-Net 的强项。此外,Transformer 的计算复杂度随输入尺寸的平方增长,在处理高分辨率图像时资源消耗巨大,而 U-Net 更高效。缺乏扩展性规律的研究也使得探索大规模 Transformer 模型的收益和瓶颈变得困难。
探索扩展性规律的未来方向
进行大规模实验可以帮助系统性地比较 Transformer 和 U-Net 的性能扩展规律。在架构上,可以结合 Transformer 的全局建模能力与 U-Net 的多尺度特征提取能力,设计出更高效的混合型扩散模型。通过稀疏注意力机制和计算优化,降低 Transformer 在扩散模型中的开销也是重要的方向。此外,借鉴 NLP 和 ViT 的研究方法,构建扩散模型的扩展性数学模型,将帮助理解模型参数规模、训练数据和生成质量之间的关系。
实验验证
数据流改进实验验证
实验目标
实验的核心目标是确定哪种无模拟训练方法(Simulation-Free Training of Flows)在正则化流模型中最为高效。为了确保比较的公平性,实验严格控制了优化算法、模型架构、数据集和采样器设置,并通过以下评估指标进行性能对比:
- 验证损失:衡量模型在训练过程中的收敛性。
- CLIP 分数:评估生成样本与目标文本的匹配程度。
- FID 分数:使用 CLIP 特征计算,衡量生成图像的质量和多样性。
方法概述
实验覆盖了 61 种不同的训练方法,包括:
- 基于 <math xmlns="http://www.w3.org/1998/Math/MathML"> ϵ \epsilon </math>ϵ和 <math xmlns="http://www.w3.org/1998/Math/MathML"> v v </math>v 预测的损失函数,采用线性(linear)和余弦(cosine)采样调度。
- 不同的 Rectified Flow 方法,包括 Logit-Normal 分布 ( <math xmlns="http://www.w3.org/1998/Math/MathML"> π lognorm \pi_{\text{lognorm}} </math>πlognorm) 和特定分布参数设置(如 <math xmlns="http://www.w3.org/1998/Math/MathML"> s s </math>s 的取值范围为 -1 到 1.75)。
- 比较 LDM-Linear 和 EDM 方法以验证其在不同采样步数下的表现。
实验结果
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表格 1 展示了不同变体方法的全局排名,用于比较它们在各种实验条件下的综合表现。非支配排序方法被用来对变体进行排序,这是一种多目标优化技术,可以综合考虑多个评估指标。 模型排名基于 EMA 权重和非 EMA 权重两种状态的性能表现,取平均值后进行排序。评估在两个数据集(如 ImageNet 和 CC12M)上进行,同时在不同采样设置下(如 5 步和 50 步采样)分别测试。通过这种方式,表格反映了变体方法的全面性能。 | 表 1: ImageNet 实验结果 |
- Logit-Normal 分布的表现最佳: 配置为
rf/lognorm(0.00, 1.00)
的 Rectified Flow 在 5 和 50 步采样中均表现出色。 - 这表明中间时间步的重要性远高于均匀时间步采样。
- 对比分析:
- Rectified Flow 超越了统一时间步采样的
rf/mode
方法。 - EDM 方法在部分配置中表现较好,但总体性能低于优化后的 Rectified Flow。
- LDM-Linear 的
ε/linear
方法在高采样步数下接近 Rectified Flow,但在低采样步数时性能不如后者。
- Rectified Flow 超越了统一时间步采样的
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表格 2 展示了在 ImageNet 和 CC12M 数据集上,不同变体方法在 25 步采样设置下的 CLIP 和 FID 分数。结果包括 Logit-Normal 分布(如 rf/lognorm(0.50, 0.60)
和 rf/lognorm(0.00, 1.00)
)等变体,以及其他基线方法(如 eps/linear
和 v/linear
)。 数据表明,Rectified Flow 的表现优于基线方法,如 eps/linear
和 v/linear
。 | 表 2: CC12M 实验结果 |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 如图 3 所示,Rectified Flow 在采样效率方面展现了显著优势: * 当采样步数较少(如 10 步或 25 步)时,rf/lognorm(0.00, 1.00)
方法的 FID 分数显著优于其他公式。 * 当采样步数增加到 50 时,Rectified Flow 的性能仍然可以与 eps/linear
方法相媲美。 这表明 Rectified Flow 特别适合低步数采样任务,在保持生成质量的同时,大幅度减少了计算成本。 | 图 3: Rectified Flow 在不同采样步数下的性能表现 |
模型改进实验验证
改进自编码器
预训练的自动编码器(如 Rombach et al., 2022)被用于将高维的 RGB 图像 <math xmlns="http://www.w3.org/1998/Math/MathML"> X ∈ R H × W × 3 X \in \mathbb{R}^{H \times W \times 3} </math>X∈RH×W×3压缩到潜在空间 <math xmlns="http://www.w3.org/1998/Math/MathML"> x = E ( X ) ∈ R h × w × d x = E(X) \in \mathbb{R}^{h \times w \times d} </math>x=E(X)∈Rh×w×d。自动编码器的重建质量直接决定了扩散模型生成图像的上限。
|----------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表格 3 展示了潜在扩散模型在不同通道配置下的自编码器重建性能,包括 FID、感知相似度、SSIM 和 PSNR 指标。随着通道数增加,所有指标均有所改善,16 通道配置表现最佳。 研究表明,更高的通道数有助于捕捉图像的复杂特征,但也增加了计算复杂度。16 通道配置为后续实验提供了最佳平衡。 | 表 3: 不同通道配置的自编码器重建性能 * **FID:**从 4 通道的 2.41 降至 16 通道的 1.06,表示生成图像更接近真实图像。 * **感知相似度:**降低到 0.45,表示模型生成的图像与目标图像在感知上的相似性更强。 * **SSIM:**增加到 0.86,说明生成图像在结构相似度上的显著提升。 * **PSNR:**提升到 28.62,表明生成的图像质量更加细腻。 |
改进文本描述
文本到图像生成任务中的描述文本(captions)是模型训练的重要组成部分。然而,人类生成的描述文本往往过于简化,主要关注图像的主体对象,而忽略了背景、场景结构或显示的文本内容等细节。这种简化可能限制模型的表现。
为了解决上述问题,作者借鉴 Betker et al. (2023) 的研究,结合合成文本(synthetic captions)和原始文本描述,采用 50% 原始文本与 50% 合成文本的混合策略。合成文本由 CogVLM 模型(一个先进的视觉-语言模型)生成,这样可以增强描述的多样性并包含更多的细节信息。合成文本的引入需要注意一个问题,即过多的合成描述可能导致模型忘记原始描述中重要的语义内容。因此,50% 的比例混合能够在保留原始数据优势的同时,注入更多细节信息。作者使用了 GenEval 基准评估方法(Ghosh et al., 2023)来验证生成质量。
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表 4: 混合文本策略对生成性能的影响 作者在两个不同的数据配置上训练了 d = 15 的 MM-DiT 模型,训练了 250k 步。表格展示了仅使用原始文本描述与 50/50 混合文本策略在不同生成任务上的性能表现。评估指标包括颜色属性、位置描述、计数能力、单对象生成、双对象生成等。 | 从结果可以看出,50/50 混合文本策略显著提升了模型在多个生成任务上的性能: * **颜色描述:**成功率从 11.75% 提升到 24.75%,模型更擅长描述颜色信息。 * **位置描述:**成功率从 6.50% 提升到 18.00%,表明模型对空间位置的理解有所增强。 * **计数能力:**成功率从 33.44% 提升到 41.56%,在复杂场景中的对象计数性能更好。 * **双对象生成:**成功率从 41.41% 提升到 52.53%,说明模型对多对象场景的生成能力得到增强。 * **总体得分:**从 43.27% 提升到 49.78%,整体性能有显著改善。 实验结果表明,混合文本策略不仅增加了描述的多样性,还改善了模型在复杂生成任务中的表现。最终研究选择了 50/50 比例的混合文本策略,作为后续生成任务的默认配置。 |
改进生成骨干网络
作者在本节中对比了现有的 Transformer-based 扩散模型骨干网络(DiT、CrossDiT 和 UViT)与其提出的新型多模态扩散骨干网络(MM-DiT)的性能。MM-DiT 专为文本和图像模态的生成任务设计,旨在通过多权重机制更高效地处理不同模态的数据需求。
- DiT:基础版本,使用序列级拼接方式整合文本和图像 token。
- CrossDiT:在 DiT 基础上引入交叉注意力机制,直接关注文本 token,提升多模态交互能力。
- UViT:结合 UNet 和 Transformer 的混合架构,在学习速度和性能上均有较好的平衡。
- MM-DiT:本文提出的多模态扩散模型,使用多套独立权重分别处理文本和图像模态。
权重设置:
- 两套权重:分别用于文本和图像 token 的优化。
- 三套权重:在独立处理文本和图像 token 的基础上,额外增加了一组权重,用于进一步提升性能。
总结
MM-DiT 的设计表明,多模态任务中针对不同模态分别优化权重可以显著提升生成性能。通过实验对比,MM-DiT 超越了传统 DiT 和 CrossDiT,在文本到图像生成任务中取得了更优的表现,同时在计算资源和性能之间实现了良好的平衡。
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 图 4: 各种架构的训练动态对比 图表展示了不同生成骨干网络(DiT、CrossDiT、UVit、MM-DiT)在训练过程中的验证损失、FID 指标和 CLIP Score 的变化情况。横轴为训练步数,纵轴分别为各指标的值。 | 从图表中可以清晰地观察到各架构的性能变化: * **UVit:**在训练早期验证损失下降速度最快,但最终性能不如 CrossDiT 和 MM-DiT。 * **CrossDiT:**通过引入交叉注意力机制,在 FID 和 CLIP Score 上表现优于 DiT 和 UVit。 * **MM-DiT (两组权重):**显著优于其他架构,在验证损失、FID 和 CLIP Score 上均取得最佳平衡。 * **MM-DiT (三组权重):**进一步提升了性能,但增加了计算资源的需求。 最终选择了两组权重的 MM-DiT 作为默认配置,以兼顾性能和资源消耗。该架构表现出对多模态任务的出色适应性和高效性。 |
大规模训练
背景
想象一下,要让一位画家在很短的时间内完成巨幅画作,并且保证每一笔都充满艺术细节和创意。对大规模生成模型的训练就如同在培养这样一位全能的艺术家。如何在海量数据中筛选出高质量的"灵感源",如何让模型稳定地处理高分辨率的"画布",都是这一过程中的关键。
本节通过数据预处理、优化训练策略以及高分辨率细化训练,帮助模型在大规模数据中快速学习,让它不仅能绘制单一物体,还能处理复杂场景,最终成为一位"顶级艺术家"。
数据预处理
数据预处理就像为艺术家挑选最优质的颜料和画布。
在训练模型之前,必须清理训练数据,避免劣质数据干扰模型的学习。以下是主要的清理步骤:
-
移除不适宜内容 :
比如,使用 NSFW 检测模型过滤掉不适合训练的内容,就像画家需要专注艺术表达,而非被不相关的内容干扰。
-
筛选高美学评分数据 :
系统性地删除美学评分较低的图像,确保模型学习的全是"美的精华"。低质量数据就像污点,会毁掉一副潜力巨大的画作。
-
去重 :
使用基于聚类的算法去除重复或相似的图像,避免模型浪费时间反复学习相同的信息。这就好比画家不需要一遍又一遍练习相同的技巧,而是需要多样化的灵感。
嵌入预计算 :
为了提升效率,提前将所有的图像和文本数据处理成"信息块",包括自动编码器的潜在特征和文本编码器的表示。这就像画家为每种画笔预备好了颜料,随用随取,省时省力。
高分辨率细化训练
训练模型生成高分辨率图像就像要求艺术家从小画布逐渐适应巨大的壁画。随着分辨率的提升,细节变得更复杂,稳定性也面临挑战。
QK 正则化
在处理高分辨率时,模型就像初学者在大画布上作画,偶尔会"用力过猛",导致注意力机制中的计算不稳定,最终引发"熵崩溃"(注意力完全无法分配)。
解决这个问题的方法是 QK 正则化:
- Q(Query)和 K(Key)是 Transformer 模型中决定注意力分配的关键。对它们进行标准化,就像为画家提供稳定的手部支撑,防止动作过大而画"出界"。
- 结合 RMSNorm 技术,这一过程变得更加平滑和高效,确保模型能够稳步学习高分辨率内容。
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 图 5: QK-Normalization 的效果对比 图表展示了在训练过程中是否使用 QK-Normalization 对模型注意力稳定性的影响。左图显示了注意力 Logit 的变化,右图展示了注意力熵的变化。 可以看出,未使用 QK-Normalization 时,最大注意力 Logit 值迅速增加至溢出(NaN),注意力熵逐渐崩溃;而使用 QK-Normalization 后,注意力保持稳定。 | 实验验证了 QK-Normalization 在高分辨率训练中的重要作用,显著提升了模型的稳定性和性能: * **Logit 值稳定:**未使用 QK-Normalization 时,注意力 Logit 的增长失控,最终导致数值溢出;使用后 Logit 值保持稳定。 * **熵崩溃避免:**未使用 QK-Normalization 时,注意力熵逐渐下降,注意力分布失控;使用后熵保持在合理范围。 * **混合精度训练支持:**QK-Normalization 与 RMSNorm 相结合,使得在 bf16 混合精度下训练更高效,避免切换到全精度训练所需的额外资源消耗。 QK-Normalization 为高分辨率生成任务提供了强大的支持,确保了注意力机制在大模型中的稳定性。尽管这一方法不能普遍适用于所有场景,但对大多数生成任务有显著效果。 |
特性 | QK-Normalization | RMSNorm |
---|---|---|
定义 | 对 Transformer 中 Query (Q) 和 Key (K) 的嵌入值进行规范化处理。 | 一种归一化方法,通过均方根(RMS)对输入特征进行归一化。 |
作用对象 | 仅针对 Q 和 K 的嵌入值。 | 可用于任何输入特征,是通用的归一化方法。 |
目标问题 | 解决注意力机制中 Logit 值增长过快和熵崩溃的问题。 | 加速模型训练,提高整体数值稳定性,替代 LayerNorm。 |
计算公式 | 通常结合 RMSNorm 实现 Q 和 K 的规范化。 | <math xmlns="http://www.w3.org/1998/Math/MathML"> RMSNorm ( x ) = x 1 d ∑ i = 1 d x i 2 ⋅ g \text{RMSNorm}(x) = \frac{x}{\sqrt{\frac{1}{d}\sum_{i=1}^d x_i^2}} \cdot g </math>RMSNorm(x)=d1∑i=1dxi2 x⋅g |
适用范围 | 专用于 Transformer 的注意力机制。 | 适用于整个模型的所有层,是一种通用方法。 |
问题解决范围 | 避免注意力矩阵中 Logit 值失控,确保注意力熵的稳定。 | 提高模型计算效率,解决数值不稳定性问题。 |
联系 | 可以使用 RMSNorm 实现,结合均方根计算对 Q 和 K 进行归一化处理。 | 是 QK-Normalization 实现中的一种技术手段。 |
区别 | 专注于局部注意力机制的稳定性问题。 | 通用的归一化方案,提升整个模型的效率和稳定性。 |
可变长位置编码
- 背景:噪声如何"扰乱"图像?:想象一下,在一幅高清晰的画布上添加噪声(比如撒上颜料颗粒),如果颜料颗粒分布得不均匀,你可能无法很好地掩盖画布上的细节。同样的道理,在高分辨率图像中,像素的数量显著增加,仅仅添加固定量的噪声可能不足以模糊掉原始信号,导致生成模型难以学习并还原细节。
时间步调整策略的核心在于如何针对不同分辨率,调整噪声的分布,使生成过程更加平滑和自然。
- 核心问题:如何让高分辨率图像"听话"?:高分辨率图像中的像素数量更多,也意味着更强的信号。传统的时间步(timestep)调度方法直接将噪声按固定方式施加到图像中,但这会导致:
- 高分辨率时噪声不足,图像细节无法被适当模糊。
- 模型训练时在高分辨率阶段变得不稳定,生成质量下降。
于是,研究者提出了一种 分辨率依赖的时间步调整策略,让高分辨率和低分辨率的噪声水平对齐,使得模型能更有效地生成高清图像。
- 时间步调整是怎么实现的?:公式是时间步调整的"魔法公式",它能够根据分辨率的比例对时间步进行重新映射:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> t m = m n t n 1 + ( m n − 1 ) t n t_m = \frac{\sqrt{\frac{m}{n}} t_n}{1 + (\sqrt{\frac{m}{n}} - 1) t_n} </math>tm=1+(nm −1)tnnm tn
让我们拆解一下这段公式:
- <math xmlns="http://www.w3.org/1998/Math/MathML"> t n t_n </math>tn:低分辨率下的时间步。
- <math xmlns="http://www.w3.org/1998/Math/MathML"> t m t_m </math>tm:高分辨率下调整后的时间步。
- <math xmlns="http://www.w3.org/1998/Math/MathML"> m , n m, n </math>m,n:分别是高分辨率和低分辨率对应的像素数量(例如 <math xmlns="http://www.w3.org/1998/Math/MathML"> m = 51 2 2 , n = 25 6 2 m = 512^2, n = 256^2 </math>m=5122,n=2562)。
- <math xmlns="http://www.w3.org/1998/Math/MathML"> m n \sqrt{\frac{m}{n}} </math>nm :是分辨率的比值,表明高分辨率需要更大调整的时间步。
通过这个公式,高分辨率和低分辨率在同一时间步上拥有一致的不确定性(即噪声水平相同),确保生成过程更加平滑。
- 形象化总结
可以将时间步调整策略想象成摄影师为拍摄不同光线场景调整快门速度的过程:
- 在低光场景(低分辨率)下,需要更长的曝光时间(较小的噪声)才能清晰地捕捉到物体。
- 在强光场景(高分辨率)下,短曝光(较大的噪声)能够避免画面过曝,保留更多细节。
通过这种灵活的"快门调节",生成模型能够适应高分辨率和低分辨率之间的差异,最终生成出令人惊叹的高清图像。
图表说明 | 结果分析 |
---|---|
图 6: 不同时间步调整对图像生成性能的影响 图表左侧展示了不同分辨率比值 <math xmlns="http://www.w3.org/1998/Math/MathML"> m / n \sqrt{m/n} </math>m/n 下时间步调整的映射曲线。右侧通过 Elo 分数对比了不同调整值在高分辨率任务中的性能差异。 图像下方展示了在 <math xmlns="http://www.w3.org/1998/Math/MathML"> m / n = 1.0 \sqrt{m/n} = 1.0 </math>m/n =1.0 和 <math xmlns="http://www.w3.org/1998/Math/MathML"> m / n = 3.0 \sqrt{m/n} = 3.0 </math>m/n =3.0 下生成的样本对比,结果表明更高的调整值能提升图像质量。 | 时间步调整策略通过优化不同分辨率下的噪声分布,显著提升了高分辨率图像的生成质量: * **时间步映射曲线:**分辨率比值越高,时间步的调整幅度越大,体现了高分辨率下对更多初始噪声的需求。 * Elo 分数对比: <math xmlns="http://www.w3.org/1998/Math/MathML"> m / n = 3.0 \sqrt{m/n} = 3.0 </math>m/n =3.0 时得分最高,说明适当的时间步调整能平衡噪声和细节。 * 样本生成质量: <math xmlns="http://www.w3.org/1998/Math/MathML"> m / n = 1.0 \sqrt{m/n} = 1.0 </math>m/n =1.0 下图像模糊,细节丢失;而 <math xmlns="http://www.w3.org/1998/Math/MathML"> m / n = 3.0 \sqrt{m/n} = 3.0 </math>m/n =3.0 下图像细节丰富,视觉效果最佳。 这一策略通过重新调整时间步,让不同分辨率间的噪声不确定性达到一致,不仅提高了生成的稳定性,还显著优化了图像的视觉质量。 |
大模型扩展与生成性能分析:为什么"大"更强?
背景:模型越深越好吗?
想象一下,一位厨师正在学习制作精致的大餐。最初,他的工具和技巧有限,因此只能完成基础的菜肴(类似于浅层模型)。随着厨艺的提升(模型深度增加)和更好的设备支持(计算资源增多),他可以处理更复杂的食材和烹饪技巧,最终端出一桌让人惊艳的美味盛宴。深度学习中的大模型扩展类似这个过程:通过增加模型的深度和复杂性,我们让生成模型能够更好地应对复杂的任务,比如多对象生成、计数、甚至精确描述颜色。
但问题是,增加模型规模是否总能带来提升?是否会付出过高的代价?本节通过实验一一解答了这些疑问。
验证损失与生成质量的关系
验证损失(Validation Loss)是衡量模型"学得好不好"的一个关键指标。图 8 上展示了验证损失随训练步数的下降曲线:
- 趋势:模型越深,验证损失下降得越低,表明更深的模型对数据的拟合能力更强。
- 关联性:验证损失与生成性能(如 GenEval 得分、人类偏好得分 ELO 等)高度相关。换句话说,如果验证损失下降了,生成质量也会显著提高。
形象地说,验证损失就像学生的考试成绩:分数越高(损失越低),说明知识掌握得越扎实,最终实际表现(生成性能)也越好。
模型深度的提升效果
表 5 和图 8 下部分展示了模型深度(例如 18 层、21 层、30 层、38 层)对性能的影响:
- 性能对比 :深度为 38 的模型在多个任务中击败了当前的顶级模型(如 DALLE-3)。
- 单对象生成:更精准。
- 计数任务:对复杂场景中的多物体数量把控更准确。
- 颜色描述:在颜色细节上的表现尤为出色。
- 总体表现:深度为 38 的模型在 GenEval 综合得分中表现最佳。
可以将模型深度的增加理解为扩展厨师的工具箱:更多的工具(层数)让他能更好地处理复杂任务,但同时也需要更多的训练(资源消耗)。
图表说明 | 结果分析 |
---|---|
表 5: GenEval 比较不同模型在生成任务中的性能 表格展示了多个模型在 GenEval 基准测试上的表现,包括 Overall 总体分数、单对象生成、计数、颜色描述、位置描述等指标。下半部分是本文提出的模型在不同深度与优化配置下的性能。 | 表格分析: * 总体性能: 深度为 38 且分辨率为 <math xmlns="http://www.w3.org/1998/Math/MathML"> 102 4 2 1024^2 </math>10242 的模型在 Overall 分数中达到了 0.74,优于所有现有开源模型,包括 DALLE-3。 * **对象生成:**在生成单个对象和多个对象时,本文模型的性能接近 1.00,几乎与现有最佳模型持平。 * **计数能力:**在复杂场景中的物体计数任务中,深度为 38 的模型(带 DPO 优化)胜率为 0.73,显著优于其他模型。 * **颜色描述:**本文模型在颜色描述任务上的性能达到 0.60,远高于其他模型的最高值 0.47。 实验结果表明,通过增加模型深度和分辨率,并引入 DPO(Direct Preference Optimization)优化,模型在多个生成任务上均表现出色,为未来模型优化提供了重要参考。 |
图 8: 模型扩展对验证损失和生成性能的影响 图表上半部分展示了模型深度(15、18、21、30、38 层)对验证损失随训练步数、计算 FLOPs 的影响;下半部分展示了验证损失与生成性能指标(GenEval、ELO 人类偏好得分等)的负相关关系。 | 实验分析了模型扩展(深度增加)对性能的影响: * **验证损失下降:**随着模型深度增加,验证损失显著降低。38 层模型在所有配置中验证损失最低,表明其拟合能力最强。 * **生成性能显著提升:**验证损失与生成性能高度负相关(r ≈ -0.92 至 -0.98),验证损失越低,生成质量(GenEval 综合得分、人类偏好得分)越高。 * **训练成本增加:**深度为 38 的模型需要更多的训练 FLOPs 和时间,但收益显著,生成性能领先于所有浅层模型。 实验结果表明,模型深度增加有助于提高生成性能,但同时带来了更高的训练成本。未来研究需在性能与效率间寻找更优的平衡点。 |
T5 文本编码器的贡献
图 9 和实验结果展示了 T5 编码器在复杂文本生成任务中的作用:
- 复杂任务中的重要性 :
- 例如生成"带有详细场景描述或长句子提示"的图像时,T5 编码器可以帮助模型更准确地理解输入,并生成更贴合的结果。
- 去掉 T5 后,复杂任务的表现明显下降(如场景细节丢失)。
- 简单任务的表现 :
- 对于简单的文本提示(如生成一个单对象),即使去掉 T5,模型也能维持不错的性能。
这就像是一位助手(T5),在面对复杂问题时提供了更精细的解读,但在简单任务中,他的作用就显得没那么重要。
图表说明 | 结果分析 |
---|---|
图 7: 人类偏好测试评估不同生成模型的表现 图表展示了多种生成模型在三个关键维度的表现:视觉美学 (Visual Aesthetics)、提示遵从性 (Prompt Following)、排版准确性 (Typography)。参与测试的模型包括 PixArt-α、SDXL 系列、Playground-V2.5、MJ-V6、DALLE-3,以及本文提出的去除 T5 编码器的模型。 | 人类偏好测试分析: * **视觉美学:**PixArt-α 和 SDXL 系列模型表现优异,胜率接近 60%,显示其在图像质量和美学设计上的优势。 * **提示遵从性:**MJ-V6 和 SDXL-Turbo 在提示语生成的精确性上表现最佳,而去除 T5 的模型胜率为 46%,稍逊于其他模型。 * **排版准确性:**Stable Cascade Playground 和 Ideogram 在生成复杂文字任务上具有显著优势,而去除 T5 的模型表现下降明显,仅有 38% 的胜率。 实验结果表明,T5 编码器对复杂任务(如排版生成)至关重要,而简单任务(如提示遵从性)中模型仍能保持较高竞争力。未来研究可以探索高效替代方案以进一步优化生成性能。 |
实验发现:更大模型的代价是什么?
- 更高的性能:深度为 38 的模型在所有评估任务上都表现优异,这让我们看到"大"的潜力。
- 更高的资源消耗 :
- 训练更深的模型需要更多的计算资源(比如显存)和时间。
- 表 6 提到,虽然更大的模型最终能达到更好的性能,但它们需要更多的训练步数才能达到"峰值表现"。
可以把这个过程比作厨师学习复杂菜谱:虽然最终他能做出绝佳的菜肴,但这需要更多的练习时间和昂贵的食材。
图表说明 | 结果分析 |
---|---|
表 6: 模型规模对采样效率的影响 表格展示了不同深度模型在不同采样步数(5/50、10/50 和 20/50 步)下的 CLIP 分数相对下降值,以及对应的采样路径长度。通过对比不同深度模型,可以分析采样效率和性能损失的关系。 | 实验分析了不同深度模型对采样效率的影响: * **CLIP 分数下降:**深层模型(如 depth=38)在 5/50 步的 CLIP 分数下降仅为 2.71%,显著优于浅层模型(depth=15,下降 4.30%)。 * **采样路径长度:**深度为 38 的模型路径长度为 185.96,明显短于浅层模型(depth=15,路径长度为 191.13),显示了深层模型在采样路径上的高效性。 * **步数与性能关系:**在相同采样步数下,深层模型的性能损失更小,说明其对路径目标的拟合能力更强。 实验表明,深度扩展能显著提高采样效率和生成质量,并减少采样过程中的性能损失,为高效生成任务提供了重要的参考依据。 |
总结:更深、更强,但也更贵
通过实验,研究者发现:
- 验证损失是重要的性能指标 :
- 损失越低,生成的图像质量越高,这为未来模型的快速评估提供了指导。
- 深度模型在复杂任务中表现优异 :
- 深度为 38 的模型在多项任务中超越了现有主流模型,尤其是在计数和多对象生成等难度较高的任务中表现突出。
- T5 编码器提升复杂任务能力 :
- 对复杂场景和长文本提示的处理尤为重要,而在简单任务中影响较小。
- 代价与收益并存 :
- 更大的模型确实更强,但同时也需要付出更高的计算成本和训练时间。
形象地说,大模型的扩展就像是打造一位全能的顶级厨师:虽然他能烹饪出最精美的菜肴,但也需要最好的设备、最长的训练时间和更多的食材投入。对于未来,如何更高效地训练大模型,依然是值得探索的问题。
Scaling Rectified Flow Transformers for High-Resolution Image Synthesis
Abstract | HTML | PDF
Stable Diffusion 3 技术报告简介
提出了更快、更准、更强的文本到图像生成技术,同时公开代码和模型权重,为生成式 AI 的进一步发展提供了重要助力,有三大贡献:
路径优化
数据流:采用"整流流"(Rectified Flow),用直线连接数据和噪声,取代传统的弯曲路径,大幅提升采样速度和质量,同时减少误差累积。
架构创新
模型:设计了一种双向信息流架构,实现文本和图像特征的互相交流,突破了传统方法中文本表示固定的局限性,显著提升生成的理解力和表现力。
实验验证
通过大规模实验验证,这些改进不仅在理论上有效,还在生成质量上全面超越了现有的最强开源模型(如 SDXL)和闭源模型(如 DALL-E 3),在自动评估和人工评分中均表现出色。
路径优化(Rectified Flow)
传统扩散生成模型与Simulation-Free Training of Flows对比
传统生成模型:ODE解法
核心原理
- 通过解普通微分方程 (ODE) 将噪声分布 <math xmlns="http://www.w3.org/1998/Math/MathML"> p 1 p_1 </math>p1转换为数据分布 <math xmlns="http://www.w3.org/1998/Math/MathML"> p 0 p_0 </math>p0:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> d y t d t = v Θ ( y t , t ) , \frac{dy_t}{dt} = v_\Theta(y_t, t), </math>dtdyt=vΘ(yt,t),
其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> v Θ v_\Theta </math>vΘ 是一个由神经网络参数化的速度场,描述了从噪声到数据的逐步演化。
计算方式
- 对 ODE 进行数值积分,逐步生成数据:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> y 0 = y T − ∫ T 0 v Θ ( y t , t ) d t , y_0 = y_T - \int_T^0 v_\Theta(y_t, t) \, dt, </math>y0=yT−∫T0vΘ(yt,t)dt,
每一步都需要调用一次神经网络 <math xmlns="http://www.w3.org/1998/Math/MathML"> v Θ v_\Theta </math>vΘ,总共可能需要数百到数千步,计算开销非常大。
形象类比
- 就像沿着一条曲折的山路开车,每一个弯道都需要减速、转弯、加速。需要谨慎处理每一步,效率很低。
当前方法:条件向量场与信噪比优化
核心原理
-
通过一个线性公式表示噪声与数据的关系:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> z t = a t x 0 + b t ϵ , ϵ ∼ N ( 0 , I ) , z_t = a_t x_0 + b_t \epsilon, \quad \epsilon \sim \mathcal{N}(0, I), </math>zt=atx0+btϵ,ϵ∼N(0,I),
其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> a t , b t a_t, b_t </math>at,bt描述了数据 <math xmlns="http://www.w3.org/1998/Math/MathML"> x 0 x_0 </math>x0和噪声 <math xmlns="http://www.w3.org/1998/Math/MathML"> ϵ \epsilon </math>ϵ 的混合比例。
-
构造向量场 <math xmlns="http://www.w3.org/1998/Math/MathML"> u t ( z ∣ ϵ ) u_t(z|\epsilon) </math>ut(z∣ϵ),直接拟合噪声与数据的映射关系:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> u t ( z ∣ ϵ ) = a t ′ a t z t − b t 2 λ t ′ ϵ , u_t(z|\epsilon) = \frac{a_t'}{a_t} z_t - \frac{b_t}{2} \lambda_t' \epsilon, </math>ut(z∣ϵ)=atat′zt−2btλt′ϵ,
其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> λ t = log a t 2 b t 2 \lambda_t = \log \frac{a_t^2}{b_t^2} </math>λt=logbt2at2 是信噪比,用于动态调整生成路径。
计算方式
- 直接优化损失函数,避免复杂的数值积分:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> L C F M = E [ ∥ v Θ ( z , t ) − u t ( z ∣ ϵ ) ∥ 2 ] . \mathcal{L}{CFM} = \mathbb{E}\left[\left\| v\Theta(z, t) - u_t(z|\epsilon) \right\|^2 \right]. </math>LCFM=E[∥vΘ(z,t)−ut(z∣ϵ)∥2].
形象类比
- 就像修建了一条笔直的高速公路,车可以以恒定的速度快速到达终点。不需要复杂的减速和转弯,既快又高效。
数学对比
特性 | 传统 ODE 解法 | 当前方法 |
---|---|---|
公式 | <math xmlns="http://www.w3.org/1998/Math/MathML"> d y t d t = v Θ ( y t , t ) \frac{dy_t}{dt} = v_\Theta(y_t, t) </math>dtdyt=vΘ(yt,t) | <math xmlns="http://www.w3.org/1998/Math/MathML"> z t = a t x 0 + b t ϵ z_t = a_t x_0 + b_t \epsilon </math>zt=atx0+btϵ |
计算方式 | 数值积分,逐步调用网络多次 | 直接拟合向量场 <math xmlns="http://www.w3.org/1998/Math/MathML"> u t u_t </math>ut |
效率 | 慢,迭代步数多,计算开销大 | 快,优化直接,计算高效 |
信噪比调整 | 无 | 动态调整 <math xmlns="http://www.w3.org/1998/Math/MathML"> λ t = log a t 2 b t 2 \lambda_t = \log \frac{a_t^2}{b_t^2} </math>λt=logbt2at2 |
形象类比 | 曲折山路,每步需谨慎控制 | 笔直高速路,一步直达终点 |
生动总结
传统方法像在曲折山路上小心驾驶,每一步都需要计算;当前方法像修了一条直线高速公路,车辆可以快速、平稳到达目的地。通过引入信噪比优化,当前方法更高效、更适合大规模生成任务。
Simulation-Free Training of Flows的Trajectories类型(修建高速公路的不同方案)
本文讨论了几种流模型的路径构造(Flow Trajectories),以及如何通过不同的采样策略和噪声分布设计来优化生成模型的表现。核心问题是如何在数据分布 <math xmlns="http://www.w3.org/1998/Math/MathML"> p 0 p_0 </math>p0和噪声分布 <math xmlns="http://www.w3.org/1998/Math/MathML"> p 1 p_1 </math>p1 之间构造最优路径,同时优化模型的训练与推理效率。
Rectified Flow (RF): 直线路径
路径公式:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> z t = ( 1 − t ) x 0 + t ϵ , z_t = (1 - t)x_0 + t\epsilon, </math>zt=(1−t)x0+tϵ,
这里 <math xmlns="http://www.w3.org/1998/Math/MathML"> x 0 x_0 </math>x0 是数据分布, <math xmlns="http://www.w3.org/1998/Math/MathML"> ϵ ∼ N ( 0 , I ) \epsilon \sim \mathcal{N}(0, I) </math>ϵ∼N(0,I) 是标准正态噪声。
特点:
-
采用数据和噪声之间的直线插值。
-
直线路径的权重 <math xmlns="http://www.w3.org/1998/Math/MathML"> w t w_t </math>wt 定义为:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> w t R F = t 1 − t . w_t^{RF} = \frac{t}{1-t}. </math>wtRF=1−tt.
-
直接参数化速度场 <math xmlns="http://www.w3.org/1998/Math/MathML"> v Θ v_\Theta </math>vΘ,计算简单高效。
直观理解 : 就像在数据和噪声之间拉了一条直线,通过线性比例控制在时间 <math xmlns="http://www.w3.org/1998/Math/MathML"> t t </math>t 的位置。
EDM (Efficient Diffusion Model): 指数权重路径
路径公式:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> z t = x 0 + b t ϵ , z_t = x_0 + b_t \epsilon, </math>zt=x0+btϵ,
其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> b t = exp ( F N − 1 ( t ∣ P m , P s 2 ) ) b_t = \exp(F_N^{-1}(t|P_m, P_s^2)) </math>bt=exp(FN−1(t∣Pm,Ps2))是时间 <math xmlns="http://www.w3.org/1998/Math/MathML"> t t </math>t 对应的标准差。
特点:
-
<math xmlns="http://www.w3.org/1998/Math/MathML"> F N − 1 ( t ∣ P m , P s 2 ) F_N^{-1}(t|P_m, P_s^2) </math>FN−1(t∣Pm,Ps2)是正态分布的分位数函数,具有平均值 <math xmlns="http://www.w3.org/1998/Math/MathML"> P m P_m </math>Pm和方差 <math xmlns="http://www.w3.org/1998/Math/MathML"> P s 2 P_s^2 </math>Ps2。
-
对应的信噪比分布:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> λ t ∼ N ( − 2 P m , ( 2 P s ) 2 ) . \lambda_t \sim \mathcal{N}(-2P_m, (2P_s)^2). </math>λt∼N(−2Pm,(2Ps)2).
-
权重函数:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> w t E D M ∝ N ( λ t − 2 P m , ( 2 P s ) 2 ) ( e − λ t + 0. 5 2 ) . w_t^{EDM} \propto \mathcal{N}(\lambda_t - 2P_m, (2P_s)^2)(e^{-\lambda_t} + 0.5^2). </math>wtEDM∝N(λt−2Pm,(2Ps)2)(e−λt+0.52).
直观理解: 数据和噪声的混合程度由指数函数控制,这种方式更灵活,能更好地分配生成的关注点。
Cosine 路径
路径公式:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> z t = cos ( π 2 t ) x 0 + sin ( π 2 t ) ϵ . z_t = \cos\left(\frac{\pi}{2}t\right)x_0 + \sin\left(\frac{\pi}{2}t\right)\epsilon. </math>zt=cos(2πt)x0+sin(2πt)ϵ.
特点:
-
通过余弦和正弦函数定义数据与噪声的混合。
-
权重函数 <math xmlns="http://www.w3.org/1998/Math/MathML"> w t w_t </math>wt:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> w t = sech ( λ t / 2 ) , w_t = \text{sech}(\lambda_t / 2), </math>wt=sech(λt/2),
或结合 <math xmlns="http://www.w3.org/1998/Math/MathML"> v v </math>v-预测优化时使用 <math xmlns="http://www.w3.org/1998/Math/MathML"> w t = e − λ t / 2 w_t = e^{-\lambda_t / 2} </math>wt=e−λt/2。
直观理解: 数据和噪声的混合程度以余弦/正弦曲线变化,类似于平滑渐变。
Linear DDPM (LDM): 线性扩散路径
路径公式:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> b t = 1 − a t 2 , b_t = \sqrt{1 - a_t^2}, </math>bt=1−at2 ,
其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> a t a_t </math>at 基于 DDPM 的扩散系数通过递归定义:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> a t = ∏ s = 0 t ( 1 − β s ) 1 / 2 , a_t = \prod_{s=0}^t (1 - \beta_s)^{1/2}, </math>at=s=0∏t(1−βs)1/2,
<math xmlns="http://www.w3.org/1998/Math/MathML"> β t \beta_t </math>βt 是扩散过程中的时间步参数。
特点:
- 使用固定扩散系数 <math xmlns="http://www.w3.org/1998/Math/MathML"> β t \beta_t </math>βt 控制噪声增长。
- 在 LDM 中,这些参数通过线性插值进一步优化。
直观理解: 数据和噪声的混合按照固定的线性步长增加,是传统扩散模型的经典路径。
Logit-Normal 和 Heavy-Tail Sampling
Logit-Normal 分布:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> π l n ( t ; m , s ) = 1 s 2 π ⋅ 1 t ( 1 − t ) ⋅ exp ( − ( logit ( t ) − m ) 2 2 s 2 ) \pi_{ln}(t; m, s) = \frac{1}{s\sqrt{2\pi}} \cdot \frac{1}{t(1-t)} \cdot \exp\left(-\frac{(\text{logit}(t) - m)^2}{2s^2}\right) </math>πln(t;m,s)=s2π 1⋅t(1−t)1⋅exp(−2s2(logit(t)−m)2)
其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> logit ( t ) = log t 1 − t \text{logit}(t) = \log \frac{t}{1-t} </math>logit(t)=log1−tt。
用途:
- 调整采样权重,倾向于中间时间步或者特定区域。
- 使用 <math xmlns="http://www.w3.org/1998/Math/MathML"> m m </math>m和 <math xmlns="http://www.w3.org/1998/Math/MathML"> s s </math>s 控制分布偏移量和宽度。
直观理解: 通过对采样时间的权重重新分配,使得生成过程对中间或边界时间更加敏感。
CosMap:基于余弦的分布采样
路径公式:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> t = f ( u ) = 1 − 1 tan ( π 2 u ) + 1 , t = f(u) = 1 - \frac{1}{\tan(\frac{\pi}{2}u) + 1}, </math>t=f(u)=1−tan(2πu)+11,
其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> u ∼ U ( 0 , 1 ) u \sim U(0, 1) </math>u∼U(0,1) 是均匀分布。
特点:
- 生成分布的密度为:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> π C o s M a p ( t ) = d d t f − 1 ( t ) = 2 π − 2 π t + 2 π t 2 . \pi_{CosMap}(t) = \frac{d}{dt}f^{-1}(t) = \frac{2}{\pi - 2\pi t + 2\pi t^2}. </math>πCosMap(t)=dtdf−1(t)=π−2πt+2πt22.
直观理解: 将时间步按照余弦分布平滑采样,确保在不同时间点的采样密度更加均衡。
总结
这些路径设计和采样方法针对不同的生成需求(速度、质量、灵活性)进行优化:
- Rectified Flow 简单直观,计算成本低。
- EDM 和 Cosine 路径更灵活,适合复杂生成任务。
- Logit-Normal 和 CosMap 调整采样权重,更加关注生成过程的关键步骤。 通过这些策略的组合,提升了生成模型的表现,同时保持高效性和可控性。
架构创新(MM-DiT)
为了让模型能够根据文本生成图像,它需要能够同时理解两种"语言":图像的视觉特征 和文本的语义信息。这就像一个艺术家,不仅要看懂画布上的图案,还需要从旁听到的描述中理解要添加的细节。为此,模型通过预训练提取文本和图像的表示,然后在扩散模型的框架中将两者结合,完成生成任务。
多模态扩散骨干MM-DiT:基于 DiT 的改进
DiT 的原始架构及其限制
模型的整体设计基于Diffusion Transformer (DiT) ,是一种将 Transformer 应用于扩散模型的创新架构。其原始设计主要用于基于类别标签的图像生成任务,例如根据类别标签生成"猫"或"狗"的图像。类别标签被编码为固定的条件向量 <math xmlns="http://www.w3.org/1998/Math/MathML"> c vec c_{\text{vec}} </math>cvec,输入到模型中控制生成。然而,这种设计仅适用于简单的分类场景,对更复杂的文本描述生成任务表现不足。原因在于类别标签只包含全局信息,缺乏细粒度的语义表达能力。
文本池化的局限与改进
简单的文本池化方法将文本平均化为一个固定向量,但这种粗粒度表示忽略了文本中词语的顺序和上下文信息。例如,当描述"蓝天白云"时,文本池化可能仅能提取"蓝"和"白"的全局信息,而无法捕捉"天上有朵形状像小狗的云"这样的细节和修饰语。
为了捕捉这些细腻的语义,模型引入了序列化的文本表示 <math xmlns="http://www.w3.org/1998/Math/MathML"> c txt c_{\text{txt}} </math>ctxt。这种表示保留了文本中每个词的顺序和嵌入信息,类似于逐词理解文本的过程。通过序列表示,模型能够更深入地理解文本的上下文关系和细节描述。
骨干Overall:文本和图像的多模态处理机制
想象一下,模型需要同时处理图像和文本,首先要让它们"说同一种语言"。这里的做法是将图像切割成小块(类似像素补丁),并将每个小块编码成一个向量。假设图像的分辨率是 <math xmlns="http://www.w3.org/1998/Math/MathML"> h × w h \times w </math>h×w,每个小块大小是 <math xmlns="http://www.w3.org/1998/Math/MathML"> 2 × 2 2 \times 2 </math>2×2,那么最终形成的"图像向量序列"长度就是 <math xmlns="http://www.w3.org/1998/Math/MathML"> 1 2 h ⋅ 1 2 w \frac{1}{2}h \cdot \frac{1}{2}w </math>21h⋅21w。
文本序列 <math xmlns="http://www.w3.org/1998/Math/MathML"> c txt c_{\text{txt}} </math>ctxt 和图像的潜在表示序列会被拼接在一起,形成一个多模态序列。这个序列输入到一个联合建模的 Transformer 中,进行文本和图像信息的融合,就像让两种语言的人坐在同一个会议室,方便后续的信息交流。多模态注意力机制允许模型在生成过程中同时关注文本和图像的特征。例如,当文本提到"小狗"时,注意力机制能够引导生成图像中出现相应的形状或特征。
文本和图像的独立处理
左图展示了整个架构的工作流程:
- 文本处理团队 :模型首先通过预训练的语言模型(如 CLIP 或 T5)对输入文本(Caption)进行编码。这种编码既保留了整体语义,也包括了具体的词序信息(如"蓝天"和"白云"的关系)。编码输出分为两个部分:
- Pooled(池化)表示:提供全局语义信息,类似于给团队一个简洁的任务总结。
- Token 表示:保留文本中每个词的独立语义细节,确保细腻的生成指导。
- 图像处理团队 :图像信息通过一个预处理步骤被转化为潜在表示 <math xmlns="http://www.w3.org/1998/Math/MathML"> x x </math>x,然后切分为多个小块(patches)。这些块被编码为固定长度的向量,再与时间步信息 <math xmlns="http://www.w3.org/1998/Math/MathML"> t t </math>t 和位置编码进行加和。这就像给团队一个拼图的每一块,并标明它们在整体中的位置。
注意力机制的交互协作
右图中展示了一个典型的 MM-DiT Block 的详细工作流程:
- 独立输入通道:文本和图像模态的信息通过各自的通道(上下两部分)进行处理,每个通道都有自己专属的 LayerNorm 和线性变换。
- 共享注意力操作 :尽管两个模态独立编码,但在注意力层,它们共享 <math xmlns="http://www.w3.org/1998/Math/MathML"> Q Q </math>Q、 <math xmlns="http://www.w3.org/1998/Math/MathML"> K K </math>K、 <math xmlns="http://www.w3.org/1998/Math/MathML"> V V </math>V(查询、键、值)矩阵。这种共享允许两种模态的特征在注意力机制中彼此交互。比如:
- 当文本描述"天空"时,注意力会引导模型关注图像中天空相关的特征块。
- 当图像包含复杂内容时,注意力可以引导模型参考文本描述中提到的细节,减少生成偏差。
- 交互后的更新:经过注意力机制的交互,每个模态都获得了对方的语义线索,同时保留了自己的特性。这种操作类似于两个团队在会议中分享见解,然后各自回到岗位优化自己的部分。
动态控制与多模态融合
在整个生成过程中,时间步 <math xmlns="http://www.w3.org/1998/Math/MathML"> t t </math>t 的加入为模型提供了动态调节能力。时间步嵌入被添加到文本和图像特征中,确保模型在不同阶段(如生成初期或接近完成时)能够适配不同的生成需求。最终,模型将所有模态的信息进行融合,生成符合文本描述的高质量图像。这一机制就像一个大型项目团队的运作:
- 文本和图像团队各自使用专属的工具分析自己的任务(独立处理)。
- 两个团队定期召开会议(注意力机制)共享进展和细节。
- 在项目的各个阶段,时间管理者(时间步信息)确保团队保持节奏并最终按时交付高质量的成果(生成图像)。 这种多模态协作的方式,让生成任务不仅高效,而且精准。
Scaling Diffusion Models
模型的深度通过参数 <math xmlns="http://www.w3.org/1998/Math/MathML"> d d </math>d 控制:
- 模型中注意力块的数量由 <math xmlns="http://www.w3.org/1998/Math/MathML"> d d </math>d 决定,深度越大,模型越强大。
- 每个隐藏层的维度为 <math xmlns="http://www.w3.org/1998/Math/MathML"> 64 ⋅ d 64 \cdot d </math>64⋅d,并在 MLP 模块中扩展到 <math xmlns="http://www.w3.org/1998/Math/MathML"> 4 ⋅ 64 ⋅ d 4 \cdot 64 \cdot d </math>4⋅64⋅d。
- 注意力头的数量也等于 <math xmlns="http://www.w3.org/1998/Math/MathML"> d d </math>d。
这种设计可以让模型规模根据资源条件灵活调整,适配不同的任务需求。U-Net 长期统治扩散模型的领域,但 Transformer 的引入为扩散模型开辟了新的可能性。通过探索扩展性规律,Transformer 在文本到图像扩散模型中的潜力可以被充分挖掘,从而为多模态生成任务提供更强大的解决方案。
Transformer 和扩散模型的架构演化
Transformer 架构(Vaswani et al., 2017)以其在自然语言处理(NLP)和计算机视觉任务中的扩展性而闻名。在 NLP 中,大规模 Transformer 模型(如 GPT 系列)展现了卓越性能(Kaplan et al., 2020);在计算机视觉中,Vision Transformer (ViT) 及其后续版本(Dosovitskiy et al., 2020;Zhai et al., 2022)成为主流方法。然而,在扩散模型领域,主流架构仍然是 U-Net(Ronneberger et al., 2015),因其强大的多尺度特征提取能力,在图像生成任务中占据主导地位(Ho et al., 2020;Rombach et al., 2022)。
扩散模型的 Transformer 架构与扩展性
尽管 U-Net 在扩散模型中应用广泛,最近一些研究开始探索基于 Transformer 的扩散模型骨干结构(Peebles & Xie, 2023;Chen et al., 2023;Ma et al., 2024)。Transformer 的全局建模能力特别适合复杂任务(如文本到图像生成),但目前缺乏针对这一领域的扩展性规律研究。相比之下,NLP 和 Vision Transformer 的扩展性规律已被广泛总结,例如模型规模与性能的非线性关系和数据量对性能的影响。
扩散模型中尚未明确的扩展性规律包括:
- 模型规模与生成质量的具体关系。
- 文本到图像生成任务中,噪声去除过程与计算复杂度的平衡。
- Transformer 在扩散任务中是否能完全超越 U-Net 的局限性。
扩散 Transformer 的特性与难点
Transformer 擅长捕捉全局上下文信息,这可能比 U-Net 更适合将文本映射到完整的图像。然而,扩散模型逐步去噪的过程依赖对细粒度特征的建模,而这正是 U-Net 的强项。此外,Transformer 的计算复杂度随输入尺寸的平方增长,在处理高分辨率图像时资源消耗巨大,而 U-Net 更高效。缺乏扩展性规律的研究也使得探索大规模 Transformer 模型的收益和瓶颈变得困难。
探索扩展性规律的未来方向
进行大规模实验可以帮助系统性地比较 Transformer 和 U-Net 的性能扩展规律。在架构上,可以结合 Transformer 的全局建模能力与 U-Net 的多尺度特征提取能力,设计出更高效的混合型扩散模型。通过稀疏注意力机制和计算优化,降低 Transformer 在扩散模型中的开销也是重要的方向。此外,借鉴 NLP 和 ViT 的研究方法,构建扩散模型的扩展性数学模型,将帮助理解模型参数规模、训练数据和生成质量之间的关系。
实验验证
数据流改进实验验证
实验目标
实验的核心目标是确定哪种无模拟训练方法(Simulation-Free Training of Flows)在正则化流模型中最为高效。为了确保比较的公平性,实验严格控制了优化算法、模型架构、数据集和采样器设置,并通过以下评估指标进行性能对比:
- 验证损失:衡量模型在训练过程中的收敛性。
- CLIP 分数:评估生成样本与目标文本的匹配程度。
- FID 分数:使用 CLIP 特征计算,衡量生成图像的质量和多样性。
方法概述
实验覆盖了 61 种不同的训练方法,包括:
- 基于 <math xmlns="http://www.w3.org/1998/Math/MathML"> ϵ \epsilon </math>ϵ和 <math xmlns="http://www.w3.org/1998/Math/MathML"> v v </math>v 预测的损失函数,采用线性(linear)和余弦(cosine)采样调度。
- 不同的 Rectified Flow 方法,包括 Logit-Normal 分布 ( <math xmlns="http://www.w3.org/1998/Math/MathML"> π lognorm \pi_{\text{lognorm}} </math>πlognorm) 和特定分布参数设置(如 <math xmlns="http://www.w3.org/1998/Math/MathML"> s s </math>s 的取值范围为 -1 到 1.75)。
- 比较 LDM-Linear 和 EDM 方法以验证其在不同采样步数下的表现。
实验结果
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表格 1 展示了不同变体方法的全局排名,用于比较它们在各种实验条件下的综合表现。非支配排序方法被用来对变体进行排序,这是一种多目标优化技术,可以综合考虑多个评估指标。 模型排名基于 EMA 权重和非 EMA 权重两种状态的性能表现,取平均值后进行排序。评估在两个数据集(如 ImageNet 和 CC12M)上进行,同时在不同采样设置下(如 5 步和 50 步采样)分别测试。通过这种方式,表格反映了变体方法的全面性能。 | 表 1: ImageNet 实验结果 |
- Logit-Normal 分布的表现最佳: 配置为
rf/lognorm(0.00, 1.00)
的 Rectified Flow 在 5 和 50 步采样中均表现出色。 - 这表明中间时间步的重要性远高于均匀时间步采样。
- 对比分析:
- Rectified Flow 超越了统一时间步采样的
rf/mode
方法。 - EDM 方法在部分配置中表现较好,但总体性能低于优化后的 Rectified Flow。
- LDM-Linear 的
ε/linear
方法在高采样步数下接近 Rectified Flow,但在低采样步数时性能不如后者。
- Rectified Flow 超越了统一时间步采样的
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表格 2 展示了在 ImageNet 和 CC12M 数据集上,不同变体方法在 25 步采样设置下的 CLIP 和 FID 分数。结果包括 Logit-Normal 分布(如 rf/lognorm(0.50, 0.60)
和 rf/lognorm(0.00, 1.00)
)等变体,以及其他基线方法(如 eps/linear
和 v/linear
)。 数据表明,Rectified Flow 的表现优于基线方法,如 eps/linear
和 v/linear
。 | 表 2: CC12M 实验结果 |
|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 如图 3 所示,Rectified Flow 在采样效率方面展现了显著优势: * 当采样步数较少(如 10 步或 25 步)时,rf/lognorm(0.00, 1.00)
方法的 FID 分数显著优于其他公式。 * 当采样步数增加到 50 时,Rectified Flow 的性能仍然可以与 eps/linear
方法相媲美。 这表明 Rectified Flow 特别适合低步数采样任务,在保持生成质量的同时,大幅度减少了计算成本。 | 图 3: Rectified Flow 在不同采样步数下的性能表现 |
模型改进实验验证
改进自编码器
预训练的自动编码器(如 Rombach et al., 2022)被用于将高维的 RGB 图像 <math xmlns="http://www.w3.org/1998/Math/MathML"> X ∈ R H × W × 3 X \in \mathbb{R}^{H \times W \times 3} </math>X∈RH×W×3压缩到潜在空间 <math xmlns="http://www.w3.org/1998/Math/MathML"> x = E ( X ) ∈ R h × w × d x = E(X) \in \mathbb{R}^{h \times w \times d} </math>x=E(X)∈Rh×w×d。自动编码器的重建质量直接决定了扩散模型生成图像的上限。
|----------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表格 3 展示了潜在扩散模型在不同通道配置下的自编码器重建性能,包括 FID、感知相似度、SSIM 和 PSNR 指标。随着通道数增加,所有指标均有所改善,16 通道配置表现最佳。 研究表明,更高的通道数有助于捕捉图像的复杂特征,但也增加了计算复杂度。16 通道配置为后续实验提供了最佳平衡。 | 表 3: 不同通道配置的自编码器重建性能 * **FID:**从 4 通道的 2.41 降至 16 通道的 1.06,表示生成图像更接近真实图像。 * **感知相似度:**降低到 0.45,表示模型生成的图像与目标图像在感知上的相似性更强。 * **SSIM:**增加到 0.86,说明生成图像在结构相似度上的显著提升。 * **PSNR:**提升到 28.62,表明生成的图像质量更加细腻。 |
改进文本描述
文本到图像生成任务中的描述文本(captions)是模型训练的重要组成部分。然而,人类生成的描述文本往往过于简化,主要关注图像的主体对象,而忽略了背景、场景结构或显示的文本内容等细节。这种简化可能限制模型的表现。
为了解决上述问题,作者借鉴 Betker et al. (2023) 的研究,结合合成文本(synthetic captions)和原始文本描述,采用 50% 原始文本与 50% 合成文本的混合策略。合成文本由 CogVLM 模型(一个先进的视觉-语言模型)生成,这样可以增强描述的多样性并包含更多的细节信息。合成文本的引入需要注意一个问题,即过多的合成描述可能导致模型忘记原始描述中重要的语义内容。因此,50% 的比例混合能够在保留原始数据优势的同时,注入更多细节信息。作者使用了 GenEval 基准评估方法(Ghosh et al., 2023)来验证生成质量。
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 表 4: 混合文本策略对生成性能的影响 作者在两个不同的数据配置上训练了 d = 15 的 MM-DiT 模型,训练了 250k 步。表格展示了仅使用原始文本描述与 50/50 混合文本策略在不同生成任务上的性能表现。评估指标包括颜色属性、位置描述、计数能力、单对象生成、双对象生成等。 | 从结果可以看出,50/50 混合文本策略显著提升了模型在多个生成任务上的性能: * **颜色描述:**成功率从 11.75% 提升到 24.75%,模型更擅长描述颜色信息。 * **位置描述:**成功率从 6.50% 提升到 18.00%,表明模型对空间位置的理解有所增强。 * **计数能力:**成功率从 33.44% 提升到 41.56%,在复杂场景中的对象计数性能更好。 * **双对象生成:**成功率从 41.41% 提升到 52.53%,说明模型对多对象场景的生成能力得到增强。 * **总体得分:**从 43.27% 提升到 49.78%,整体性能有显著改善。 实验结果表明,混合文本策略不仅增加了描述的多样性,还改善了模型在复杂生成任务中的表现。最终研究选择了 50/50 比例的混合文本策略,作为后续生成任务的默认配置。 |
改进生成骨干网络
作者在本节中对比了现有的 Transformer-based 扩散模型骨干网络(DiT、CrossDiT 和 UViT)与其提出的新型多模态扩散骨干网络(MM-DiT)的性能。MM-DiT 专为文本和图像模态的生成任务设计,旨在通过多权重机制更高效地处理不同模态的数据需求。
- DiT:基础版本,使用序列级拼接方式整合文本和图像 token。
- CrossDiT:在 DiT 基础上引入交叉注意力机制,直接关注文本 token,提升多模态交互能力。
- UViT:结合 UNet 和 Transformer 的混合架构,在学习速度和性能上均有较好的平衡。
- MM-DiT:本文提出的多模态扩散模型,使用多套独立权重分别处理文本和图像模态。
权重设置:
- 两套权重:分别用于文本和图像 token 的优化。
- 三套权重:在独立处理文本和图像 token 的基础上,额外增加了一组权重,用于进一步提升性能。
总结
MM-DiT 的设计表明,多模态任务中针对不同模态分别优化权重可以显著提升生成性能。通过实验对比,MM-DiT 超越了传统 DiT 和 CrossDiT,在文本到图像生成任务中取得了更优的表现,同时在计算资源和性能之间实现了良好的平衡。
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 图 4: 各种架构的训练动态对比 图表展示了不同生成骨干网络(DiT、CrossDiT、UVit、MM-DiT)在训练过程中的验证损失、FID 指标和 CLIP Score 的变化情况。横轴为训练步数,纵轴分别为各指标的值。 | 从图表中可以清晰地观察到各架构的性能变化: * **UVit:**在训练早期验证损失下降速度最快,但最终性能不如 CrossDiT 和 MM-DiT。 * **CrossDiT:**通过引入交叉注意力机制,在 FID 和 CLIP Score 上表现优于 DiT 和 UVit。 * **MM-DiT (两组权重):**显著优于其他架构,在验证损失、FID 和 CLIP Score 上均取得最佳平衡。 * **MM-DiT (三组权重):**进一步提升了性能,但增加了计算资源的需求。 最终选择了两组权重的 MM-DiT 作为默认配置,以兼顾性能和资源消耗。该架构表现出对多模态任务的出色适应性和高效性。 |
大规模训练
背景
想象一下,要让一位画家在很短的时间内完成巨幅画作,并且保证每一笔都充满艺术细节和创意。对大规模生成模型的训练就如同在培养这样一位全能的艺术家。如何在海量数据中筛选出高质量的"灵感源",如何让模型稳定地处理高分辨率的"画布",都是这一过程中的关键。
本节通过数据预处理、优化训练策略以及高分辨率细化训练,帮助模型在大规模数据中快速学习,让它不仅能绘制单一物体,还能处理复杂场景,最终成为一位"顶级艺术家"。
数据预处理
数据预处理就像为艺术家挑选最优质的颜料和画布。
在训练模型之前,必须清理训练数据,避免劣质数据干扰模型的学习。以下是主要的清理步骤:
-
移除不适宜内容 :
比如,使用 NSFW 检测模型过滤掉不适合训练的内容,就像画家需要专注艺术表达,而非被不相关的内容干扰。
-
筛选高美学评分数据 :
系统性地删除美学评分较低的图像,确保模型学习的全是"美的精华"。低质量数据就像污点,会毁掉一副潜力巨大的画作。
-
去重 :
使用基于聚类的算法去除重复或相似的图像,避免模型浪费时间反复学习相同的信息。这就好比画家不需要一遍又一遍练习相同的技巧,而是需要多样化的灵感。
嵌入预计算 :
为了提升效率,提前将所有的图像和文本数据处理成"信息块",包括自动编码器的潜在特征和文本编码器的表示。这就像画家为每种画笔预备好了颜料,随用随取,省时省力。
高分辨率细化训练
训练模型生成高分辨率图像就像要求艺术家从小画布逐渐适应巨大的壁画。随着分辨率的提升,细节变得更复杂,稳定性也面临挑战。
QK 正则化
在处理高分辨率时,模型就像初学者在大画布上作画,偶尔会"用力过猛",导致注意力机制中的计算不稳定,最终引发"熵崩溃"(注意力完全无法分配)。
解决这个问题的方法是 QK 正则化:
- Q(Query)和 K(Key)是 Transformer 模型中决定注意力分配的关键。对它们进行标准化,就像为画家提供稳定的手部支撑,防止动作过大而画"出界"。
- 结合 RMSNorm 技术,这一过程变得更加平滑和高效,确保模型能够稳步学习高分辨率内容。
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 图 5: QK-Normalization 的效果对比 图表展示了在训练过程中是否使用 QK-Normalization 对模型注意力稳定性的影响。左图显示了注意力 Logit 的变化,右图展示了注意力熵的变化。 可以看出,未使用 QK-Normalization 时,最大注意力 Logit 值迅速增加至溢出(NaN),注意力熵逐渐崩溃;而使用 QK-Normalization 后,注意力保持稳定。 | 实验验证了 QK-Normalization 在高分辨率训练中的重要作用,显著提升了模型的稳定性和性能: * **Logit 值稳定:**未使用 QK-Normalization 时,注意力 Logit 的增长失控,最终导致数值溢出;使用后 Logit 值保持稳定。 * **熵崩溃避免:**未使用 QK-Normalization 时,注意力熵逐渐下降,注意力分布失控;使用后熵保持在合理范围。 * **混合精度训练支持:**QK-Normalization 与 RMSNorm 相结合,使得在 bf16 混合精度下训练更高效,避免切换到全精度训练所需的额外资源消耗。 QK-Normalization 为高分辨率生成任务提供了强大的支持,确保了注意力机制在大模型中的稳定性。尽管这一方法不能普遍适用于所有场景,但对大多数生成任务有显著效果。 |
特性 | QK-Normalization | RMSNorm |
---|---|---|
定义 | 对 Transformer 中 Query (Q) 和 Key (K) 的嵌入值进行规范化处理。 | 一种归一化方法,通过均方根(RMS)对输入特征进行归一化。 |
作用对象 | 仅针对 Q 和 K 的嵌入值。 | 可用于任何输入特征,是通用的归一化方法。 |
目标问题 | 解决注意力机制中 Logit 值增长过快和熵崩溃的问题。 | 加速模型训练,提高整体数值稳定性,替代 LayerNorm。 |
计算公式 | 通常结合 RMSNorm 实现 Q 和 K 的规范化。 | <math xmlns="http://www.w3.org/1998/Math/MathML"> RMSNorm ( x ) = x 1 d ∑ i = 1 d x i 2 ⋅ g \text{RMSNorm}(x) = \frac{x}{\sqrt{\frac{1}{d}\sum_{i=1}^d x_i^2}} \cdot g </math>RMSNorm(x)=d1∑i=1dxi2 x⋅g |
适用范围 | 专用于 Transformer 的注意力机制。 | 适用于整个模型的所有层,是一种通用方法。 |
问题解决范围 | 避免注意力矩阵中 Logit 值失控,确保注意力熵的稳定。 | 提高模型计算效率,解决数值不稳定性问题。 |
联系 | 可以使用 RMSNorm 实现,结合均方根计算对 Q 和 K 进行归一化处理。 | 是 QK-Normalization 实现中的一种技术手段。 |
区别 | 专注于局部注意力机制的稳定性问题。 | 通用的归一化方案,提升整个模型的效率和稳定性。 |
可变长位置编码
- 背景:噪声如何"扰乱"图像?:想象一下,在一幅高清晰的画布上添加噪声(比如撒上颜料颗粒),如果颜料颗粒分布得不均匀,你可能无法很好地掩盖画布上的细节。同样的道理,在高分辨率图像中,像素的数量显著增加,仅仅添加固定量的噪声可能不足以模糊掉原始信号,导致生成模型难以学习并还原细节。
时间步调整策略的核心在于如何针对不同分辨率,调整噪声的分布,使生成过程更加平滑和自然。
- 核心问题:如何让高分辨率图像"听话"?:高分辨率图像中的像素数量更多,也意味着更强的信号。传统的时间步(timestep)调度方法直接将噪声按固定方式施加到图像中,但这会导致:
- 高分辨率时噪声不足,图像细节无法被适当模糊。
- 模型训练时在高分辨率阶段变得不稳定,生成质量下降。
于是,研究者提出了一种 分辨率依赖的时间步调整策略,让高分辨率和低分辨率的噪声水平对齐,使得模型能更有效地生成高清图像。
- 时间步调整是怎么实现的?:公式是时间步调整的"魔法公式",它能够根据分辨率的比例对时间步进行重新映射:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> t m = m n t n 1 + ( m n − 1 ) t n t_m = \frac{\sqrt{\frac{m}{n}} t_n}{1 + (\sqrt{\frac{m}{n}} - 1) t_n} </math>tm=1+(nm −1)tnnm tn
让我们拆解一下这段公式:
- <math xmlns="http://www.w3.org/1998/Math/MathML"> t n t_n </math>tn:低分辨率下的时间步。
- <math xmlns="http://www.w3.org/1998/Math/MathML"> t m t_m </math>tm:高分辨率下调整后的时间步。
- <math xmlns="http://www.w3.org/1998/Math/MathML"> m , n m, n </math>m,n:分别是高分辨率和低分辨率对应的像素数量(例如 <math xmlns="http://www.w3.org/1998/Math/MathML"> m = 51 2 2 , n = 25 6 2 m = 512^2, n = 256^2 </math>m=5122,n=2562)。
- <math xmlns="http://www.w3.org/1998/Math/MathML"> m n \sqrt{\frac{m}{n}} </math>nm :是分辨率的比值,表明高分辨率需要更大调整的时间步。
通过这个公式,高分辨率和低分辨率在同一时间步上拥有一致的不确定性(即噪声水平相同),确保生成过程更加平滑。
- 形象化总结
可以将时间步调整策略想象成摄影师为拍摄不同光线场景调整快门速度的过程:
- 在低光场景(低分辨率)下,需要更长的曝光时间(较小的噪声)才能清晰地捕捉到物体。
- 在强光场景(高分辨率)下,短曝光(较大的噪声)能够避免画面过曝,保留更多细节。
通过这种灵活的"快门调节",生成模型能够适应高分辨率和低分辨率之间的差异,最终生成出令人惊叹的高清图像。
图表说明 | 结果分析 |
---|---|
图 6: 不同时间步调整对图像生成性能的影响 图表左侧展示了不同分辨率比值 <math xmlns="http://www.w3.org/1998/Math/MathML"> m / n \sqrt{m/n} </math>m/n 下时间步调整的映射曲线。右侧通过 Elo 分数对比了不同调整值在高分辨率任务中的性能差异。 图像下方展示了在 <math xmlns="http://www.w3.org/1998/Math/MathML"> m / n = 1.0 \sqrt{m/n} = 1.0 </math>m/n =1.0 和 <math xmlns="http://www.w3.org/1998/Math/MathML"> m / n = 3.0 \sqrt{m/n} = 3.0 </math>m/n =3.0 下生成的样本对比,结果表明更高的调整值能提升图像质量。 | 时间步调整策略通过优化不同分辨率下的噪声分布,显著提升了高分辨率图像的生成质量: * **时间步映射曲线:**分辨率比值越高,时间步的调整幅度越大,体现了高分辨率下对更多初始噪声的需求。 * Elo 分数对比: <math xmlns="http://www.w3.org/1998/Math/MathML"> m / n = 3.0 \sqrt{m/n} = 3.0 </math>m/n =3.0 时得分最高,说明适当的时间步调整能平衡噪声和细节。 * 样本生成质量: <math xmlns="http://www.w3.org/1998/Math/MathML"> m / n = 1.0 \sqrt{m/n} = 1.0 </math>m/n =1.0 下图像模糊,细节丢失;而 <math xmlns="http://www.w3.org/1998/Math/MathML"> m / n = 3.0 \sqrt{m/n} = 3.0 </math>m/n =3.0 下图像细节丰富,视觉效果最佳。 这一策略通过重新调整时间步,让不同分辨率间的噪声不确定性达到一致,不仅提高了生成的稳定性,还显著优化了图像的视觉质量。 |
大模型扩展与生成性能分析:为什么"大"更强?
背景:模型越深越好吗?
想象一下,一位厨师正在学习制作精致的大餐。最初,他的工具和技巧有限,因此只能完成基础的菜肴(类似于浅层模型)。随着厨艺的提升(模型深度增加)和更好的设备支持(计算资源增多),他可以处理更复杂的食材和烹饪技巧,最终端出一桌让人惊艳的美味盛宴。深度学习中的大模型扩展类似这个过程:通过增加模型的深度和复杂性,我们让生成模型能够更好地应对复杂的任务,比如多对象生成、计数、甚至精确描述颜色。
但问题是,增加模型规模是否总能带来提升?是否会付出过高的代价?本节通过实验一一解答了这些疑问。
验证损失与生成质量的关系
验证损失(Validation Loss)是衡量模型"学得好不好"的一个关键指标。图 8 上展示了验证损失随训练步数的下降曲线:
- 趋势:模型越深,验证损失下降得越低,表明更深的模型对数据的拟合能力更强。
- 关联性:验证损失与生成性能(如 GenEval 得分、人类偏好得分 ELO 等)高度相关。换句话说,如果验证损失下降了,生成质量也会显著提高。
形象地说,验证损失就像学生的考试成绩:分数越高(损失越低),说明知识掌握得越扎实,最终实际表现(生成性能)也越好。
模型深度的提升效果
表 5 和图 8 下部分展示了模型深度(例如 18 层、21 层、30 层、38 层)对性能的影响:
- 性能对比 :深度为 38 的模型在多个任务中击败了当前的顶级模型(如 DALLE-3)。
- 单对象生成:更精准。
- 计数任务:对复杂场景中的多物体数量把控更准确。
- 颜色描述:在颜色细节上的表现尤为出色。
- 总体表现:深度为 38 的模型在 GenEval 综合得分中表现最佳。
可以将模型深度的增加理解为扩展厨师的工具箱:更多的工具(层数)让他能更好地处理复杂任务,但同时也需要更多的训练(资源消耗)。
图表说明 | 结果分析 |
---|---|
表 5: GenEval 比较不同模型在生成任务中的性能 表格展示了多个模型在 GenEval 基准测试上的表现,包括 Overall 总体分数、单对象生成、计数、颜色描述、位置描述等指标。下半部分是本文提出的模型在不同深度与优化配置下的性能。 | 表格分析: * 总体性能: 深度为 38 且分辨率为 <math xmlns="http://www.w3.org/1998/Math/MathML"> 102 4 2 1024^2 </math>10242 的模型在 Overall 分数中达到了 0.74,优于所有现有开源模型,包括 DALLE-3。 * **对象生成:**在生成单个对象和多个对象时,本文模型的性能接近 1.00,几乎与现有最佳模型持平。 * **计数能力:**在复杂场景中的物体计数任务中,深度为 38 的模型(带 DPO 优化)胜率为 0.73,显著优于其他模型。 * **颜色描述:**本文模型在颜色描述任务上的性能达到 0.60,远高于其他模型的最高值 0.47。 实验结果表明,通过增加模型深度和分辨率,并引入 DPO(Direct Preference Optimization)优化,模型在多个生成任务上均表现出色,为未来模型优化提供了重要参考。 |
图 8: 模型扩展对验证损失和生成性能的影响 图表上半部分展示了模型深度(15、18、21、30、38 层)对验证损失随训练步数、计算 FLOPs 的影响;下半部分展示了验证损失与生成性能指标(GenEval、ELO 人类偏好得分等)的负相关关系。 | 实验分析了模型扩展(深度增加)对性能的影响: * **验证损失下降:**随着模型深度增加,验证损失显著降低。38 层模型在所有配置中验证损失最低,表明其拟合能力最强。 * **生成性能显著提升:**验证损失与生成性能高度负相关(r ≈ -0.92 至 -0.98),验证损失越低,生成质量(GenEval 综合得分、人类偏好得分)越高。 * **训练成本增加:**深度为 38 的模型需要更多的训练 FLOPs 和时间,但收益显著,生成性能领先于所有浅层模型。 实验结果表明,模型深度增加有助于提高生成性能,但同时带来了更高的训练成本。未来研究需在性能与效率间寻找更优的平衡点。 |
T5 文本编码器的贡献
图 9 和实验结果展示了 T5 编码器在复杂文本生成任务中的作用:
- 复杂任务中的重要性 :
- 例如生成"带有详细场景描述或长句子提示"的图像时,T5 编码器可以帮助模型更准确地理解输入,并生成更贴合的结果。
- 去掉 T5 后,复杂任务的表现明显下降(如场景细节丢失)。
- 简单任务的表现 :
- 对于简单的文本提示(如生成一个单对象),即使去掉 T5,模型也能维持不错的性能。
这就像是一位助手(T5),在面对复杂问题时提供了更精细的解读,但在简单任务中,他的作用就显得没那么重要。
图表说明 | 结果分析 |
---|---|
图 7: 人类偏好测试评估不同生成模型的表现 图表展示了多种生成模型在三个关键维度的表现:视觉美学 (Visual Aesthetics)、提示遵从性 (Prompt Following)、排版准确性 (Typography)。参与测试的模型包括 PixArt-α、SDXL 系列、Playground-V2.5、MJ-V6、DALLE-3,以及本文提出的去除 T5 编码器的模型。 | 人类偏好测试分析: * **视觉美学:**PixArt-α 和 SDXL 系列模型表现优异,胜率接近 60%,显示其在图像质量和美学设计上的优势。 * **提示遵从性:**MJ-V6 和 SDXL-Turbo 在提示语生成的精确性上表现最佳,而去除 T5 的模型胜率为 46%,稍逊于其他模型。 * **排版准确性:**Stable Cascade Playground 和 Ideogram 在生成复杂文字任务上具有显著优势,而去除 T5 的模型表现下降明显,仅有 38% 的胜率。 实验结果表明,T5 编码器对复杂任务(如排版生成)至关重要,而简单任务(如提示遵从性)中模型仍能保持较高竞争力。未来研究可以探索高效替代方案以进一步优化生成性能。 |
实验发现:更大模型的代价是什么?
- 更高的性能:深度为 38 的模型在所有评估任务上都表现优异,这让我们看到"大"的潜力。
- 更高的资源消耗 :
- 训练更深的模型需要更多的计算资源(比如显存)和时间。
- 表 6 提到,虽然更大的模型最终能达到更好的性能,但它们需要更多的训练步数才能达到"峰值表现"。
可以把这个过程比作厨师学习复杂菜谱:虽然最终他能做出绝佳的菜肴,但这需要更多的练习时间和昂贵的食材。
图表说明 | 结果分析 |
---|---|
表 6: 模型规模对采样效率的影响 表格展示了不同深度模型在不同采样步数(5/50、10/50 和 20/50 步)下的 CLIP 分数相对下降值,以及对应的采样路径长度。通过对比不同深度模型,可以分析采样效率和性能损失的关系。 | 实验分析了不同深度模型对采样效率的影响: * **CLIP 分数下降:**深层模型(如 depth=38)在 5/50 步的 CLIP 分数下降仅为 2.71%,显著优于浅层模型(depth=15,下降 4.30%)。 * **采样路径长度:**深度为 38 的模型路径长度为 185.96,明显短于浅层模型(depth=15,路径长度为 191.13),显示了深层模型在采样路径上的高效性。 * **步数与性能关系:**在相同采样步数下,深层模型的性能损失更小,说明其对路径目标的拟合能力更强。 实验表明,深度扩展能显著提高采样效率和生成质量,并减少采样过程中的性能损失,为高效生成任务提供了重要的参考依据。 |
总结:更深、更强,但也更贵
通过实验,研究者发现:
- 验证损失是重要的性能指标 :
- 损失越低,生成的图像质量越高,这为未来模型的快速评估提供了指导。
- 深度模型在复杂任务中表现优异 :
- 深度为 38 的模型在多项任务中超越了现有主流模型,尤其是在计数和多对象生成等难度较高的任务中表现突出。
- T5 编码器提升复杂任务能力 :
- 对复杂场景和长文本提示的处理尤为重要,而在简单任务中影响较小。
- 代价与收益并存 :
- 更大的模型确实更强,但同时也需要付出更高的计算成本和训练时间。
形象地说,大模型的扩展就像是打造一位全能的顶级厨师:虽然他能烹饪出最精美的菜肴,但也需要最好的设备、最长的训练时间和更多的食材投入。对于未来,如何更高效地训练大模型,依然是值得探索的问题。