SANA: 高效的高分辨率图像合成线性扩散Transformer

摘要

我们介绍了Sana,一个文本到图像的框架,能够高效地生成高达4096×4096分辨率的图像。Sana能够以惊人的速度生成高分辨率、高质量的图像,并且具有强大的文本图像对齐能力,可在笔记本电脑GPU上部署。核心设计包括:(1)深度压缩自动编码器:与传统仅压缩图像8倍的AE不同,我们训练了一个可以压缩图像32倍的AE,有效减少了潜在令牌的数量。(2)线性DiT:我们将DiT中的所有普通注意力替换为线性注意力,这在高分辨率下更高效,且不牺牲质量。(3)仅解码器的文本编码器:我们将T5替换为现代仅解码器的小型LLM作为文本编码器,并通过上下文学习设计复杂的人类指令,以增强图像文本对齐。(4)高效的训练和采样:我们提出了Flow-DPM-Solver来减少采样步骤,并通过高效的标题标注和选择来加速收敛。因此,Sana-0.6B在测量吞吐量上比现代大型扩散模型(如Flux-12B)小20倍,快100倍以上。此外,Sana-0.6B可以在16GB笔记本电脑GPU上部署,生成1024×1024分辨率的图像仅需不到1秒。Sana以低成本实现内容创作。代码和模型将公开发布。

1 引言

在过去的一年中,潜在扩散模型在文本到图像研究方面取得了显著进展,并产生了巨大的商业价值。一方面,研究人员在几个关键点上达成了共识:(1)用Transformer架构替换U-Net(Chen et al. 2024a; Esser et al. 2024; Labs 2024),(2)使用视觉语言模型(VLM)进行自动标注图像(Chen et al. 2024b; OpenAI 2023; Zhuo et al. 2024; Liu et al. 2024),(3)改进变分自动编码器(VAEs)和文本编码器(Podell et al. 2023; Esser et al. 2024; Dai et al. 2023),(4)实现超高分辨率图像生成(Chen et al. 2024a)等。另一方面,工业模型变得越来越大,参数数量从PixArt的0.6B增加到SD3的8B,LiDiT的10B,Flux的12B,Playground v3的24B。这一趋势导致极高的训练和推理成本,对大多数发现这些模型难以且昂贵使用的消费者构成了挑战。面对这些挑战,一个关键问题出现了:我们能否开发一个计算高效且在云端和边缘设备上运行非常快的高质量和超高分辨率图像生成器?

图2:算法和系统协同优化减少了4096×4096图像生成的推理延迟,从469秒减少到9.6秒,比当前最先进的模型FLUX快106倍。这些数字是在A100 GPU上以批量大小为1测量的。

本文提出了Sana,一个旨在高效且经济地训练和合成从1024×1024到4096×4096分辨率的高质量图像的管道。据我们所知,除了PixArt-Σ(Chen et al. 2024a)之外,没有已发表的作品直接探索4K分辨率图像生成。然而,PixArt-Σ仅限于生成接近4K分辨率的图像(3840×2160),并且在生成如此高分辨率的图像时相对较慢。为了实现这一雄心勃勃的目标,我们提出了几个核心设计:

深度压缩自动编码器: 我们在第2.1节中引入了一个新的自动编码器(AE),将缩放因子大幅增加到32。过去,主流AE仅将图像的长和宽压缩8倍(AE-F8)。与AE-F8相比,我们的AE-F32输出的潜在令牌少16倍,这对于高效训练和生成超高分辨率图像(如4K分辨率)至关重要。

高效的线性DiT: 我们引入了一个新的线性DiT来替换普通的二次注意力模块(第2.2节)。原始DiT的自注意力的计算复杂度为O(N²),在处理高分辨率图像时呈二次增长。我们将所有普通注意力替换为线性注意力,将计算复杂度从O(N²)降低到O(N)。同时,我们提出了Mix-FFN,将3×3深度卷积集成到MLP中以聚合令牌的局部信息。我们认为,通过适当的设计,线性注意力可以实现与普通注意力相当的结果,并且对于高分辨率图像生成更高效(例如,在4K分辨率下加速1.7倍)。此外,Mix-FFN的间接好处是我们不需要位置编码(NoPE)。我们首次在DiT中移除了位置嵌入,并且没有质量损失。

仅解码器的小型LLM作为文本编码器: 在第2.3节中,我们利用最新的LLM,Gemma,作为我们的文本编码器,以增强对用户提示的理解和推理能力。尽管文本到图像生成模型近年来取得了显著进展,但大多数现有模型仍依赖CLIP或T5进行文本编码,这些模型通常缺乏强大的文本理解和指令跟随能力。仅解码器的LLM,如Gemma,具有强大的文本理解和推理能力,能够有效跟随人类指令。在这项工作中,我们首先解决了直接采用LLM作为文本编码器时出现的训练不稳定问题。其次,我们设计了复杂的人类指令(CHI),以利用LLM强大的指令跟随、上下文学习和推理能力来提高图像文本对齐。

高效的训练和推理策略: 在第3.1节中,我们提出了一套自动标注和训练策略,以提高文本和图像之间的一致性。首先,对于每张图像,我们利用多个VLM生成重新标注。尽管这些VLM的能力各异,但它们的互补优势提高了标注的多样性。此外,我们提出了一种基于clipscore的训练策略(第3.2节),根据概率动态选择具有高clip分数的多个标注中对应的标注。实验表明,这种方法提高了训练收敛和图像文本对齐。此外,我们提出了Flow-DPM-Solver,将推理采样步骤从广泛使用的Flow-Euler-Solver的28-50步减少到14-20步,同时实现更好的结果。

总之,我们的Sana-0.6B在4K图像生成方面比当前最先进的方法(Flux)的吞吐量快100倍以上(图2),在1K分辨率下快40倍(图4),同时在许多基准测试中提供有竞争力的结果。此外,我们在第4节中详细介绍了将Sana-0.6B量化并部署在边缘设备上。在消费级4090 GPU上生成1024×1024分辨率的图像仅需0.37秒,为实时图像生成提供了强大的基础模型。我们希望我们的模型能够被所有行业专业人士和日常用户高效利用,为他们提供显著的商业价值。

2 方法

深度压缩自动编码器

2.1.1 初步

为了缓解直接在像素空间运行扩散模型的过度训练和推理成本,Rombach等人(2022)提出了在由预训练自动编码器生成的压缩潜在空间中运行的潜在扩散模型。以前潜在扩散工作中最常用的自动编码器

总之,以前的潜在扩散模型(LDM),如PixArt(Chen et al. 2024a),SD3(Esser et al. 2024)和Flux(Labs 2024),通常使用AE-F8C4P2或AE-F8C16P2,其中AE将图像压缩8倍,DiT再压缩2倍。在我们的Sana中,我们将压缩因子大幅增加到32倍,并提出了几种技术来保持质量。

2.1.2 自动编码器设计理念

与以前的AE-F8不同,我们旨在更积极地增加压缩比。动机是高分辨率图像自然包含更多的冗余信息。此外,高分辨率图像(如4K)的高效训练和推理需要自动编码器具有高压缩比。表1说明了在MJHQ-30K上,尽管以前的方法(如SDv1.5)尝试使用AE-F32C64,但质量仍然明显低于AE-F8C4。我们的AE-F32C32有效地弥合了这一质量差距,实现了与SDXL的AE-F8C4相当的重建能力。我们相信,AE的微小差异不会成为DiT能力的瓶颈。

此外,我们没有增加补丁大小P,而是认为自动编码器应完全负责压缩,使潜在扩散模型专注于去噪。因此,我们开发了一个降采样因子F=32,通道C=32的AE,并在其潜在空间中运行扩散模型,补丁大小为1(AE-F32C32P1)。这种设计将令牌数量减少了4倍,显著提高了训练和推理速度,同时降低了GPU内存需求。

2.1.3 自动编码器设计的消融研究

从模型结构的角度,我们实施了几项调整以加速收敛。具体来说,我们将普通的自注意力机制替换为线性注意力块,以提高高分辨率生成的效率。此外,从训练的角度,我们提出了一种多阶段训练策略以提高训练稳定性,涉及在1024×1024图像上微调我们的AE-F32C32,以在高分辨率数据上实现更好的重建结果。

我们能否在DiT中使用更大的补丁大小来压缩令牌? 我们比较了AE-F8C16P4,AE-F16C32P2和AE-F32C32P1。这三种设置将1024×1024图像压缩为相同数量的令牌32×32。如图3(a)所示,尽管AE-F8C16具有最佳的重建能力(FID: F8C16<F16C32<F32C32),我们实证发现F32C32的生成结果更优(FID: F32C32P1<F16C32P2<F8C16P4)。这表明让自动编码器专注于高比率压缩,而扩散模型专注于去噪是最佳选择。

AE-F32中的不同通道: 我们探索了各种通道配置,最终选择C=32作为我们的最佳设置。如图3(b)所示,较少的通道收敛更快,但重建质量较差。我们观察到在35K训练步骤后,C=16和C=32的收敛速度相似;然而,C=32产生更好的重建指标,导致更好的FID和CLIP分数。尽管C=64提供更好的重建,但其后续DiT的训练收敛速度明显慢于C=32。

高效的线性DiT设计

DiT使用的自注意力的计算复杂度为O(N²),导致处理高分辨率图像时计算效率低下,并产生显著的开销。为了解决这个问题,我们首先提出了线性DiT,将原始的自注意力完全替换为线性注意力,在不影响性能的情况下实现高分辨率生成的高计算效率。此外,我们使用MixFFN替换原始的MLP-FFN,结合3×3深度卷积以更好地聚合令牌信息。这些微设计灵感来自Cai et al. 2023; Xie et al. 2021,但我们保持DiT的宏观架构设计以保持简单性和可扩展性。

图4:在1024×1024分辨率下,Sana与最先进的扩散模型进行比较。所有模型都在A100 GPU上测试。Sana仅用590M模型参数就提供了0.64的GenEval总体性能。

线性注意力块: 我们在图5中提供了我们使用的线性注意力模块的图示。为了减少计算复杂度,我们将传统的softmax注意力替换为ReLU线性注意力(Katharopoulos et al. 2020)。虽然ReLU线性注意力和其他变体(Cai et al. 2023; Wang et al. 2020; Shen et al. 2021; Bolya et al. 2022)主要在高分辨率密集预测任务中探索,但我们的工作代表了在图像生成中展示线性注意力有效性的早期探索。

图5:Sana概述:图(a)描述了高级训练管道,包含我们的32×深度压缩自动编码器、线性DiT和复杂的人类指令。请注意,我们的框架中不需要位置嵌入。图(b)描述了线性DiT中线性注意力和Mix-FFN的详细设计。

Mix-FFN块: 如EfficientViT(Cai et al. 2023)中所讨论的,线性注意力模型在计算复杂度和延迟方面优于softmax注意力。然而,缺乏非线性相似函数可能导致次优性能。我们在图像生成中观察到类似的结论,线性注意力模型尽管最终达到可比性能,但收敛速度较慢。为了进一步提高训练效率,我们将原始的MLP-FFN替换为Mix-FFN。Mix-FFN由一个倒置残差块、一个3×3深度卷积和一个门控线性单元(GLU)(Dauphin et al. 2017)组成。深度卷积增强了模型捕获局部信息的能力,补偿了ReLU线性注意力较弱的局部信息捕获能力。模型设计空间的性能消融如表8所示。

没有位置编码(NoPE)的DiT: 我们惊讶地发现,我们可以在没有任何性能损失的情况下移除位置嵌入。一些早期的理论和实践工作提到,引入3×3卷积和零填充可以隐含地包含位置信息(Islam et al. 2020; Xie et al. 2021)。与大多数使用绝对PE、可学习PE和RoPE的基于DiT的方法不同,我们提出了NoPE,这是首次在DiT中完全省略位置嵌入的设计。LLM领域最近的尖端研究(Kazennejad et al. 2024; Haviv et al. 2022)也表明,NoPE可能提供更好的长度泛化能力。

Triton加速训练/推理: 为了进一步加速线性注意力,我们使用Triton(Tillet et al. 2019)融合线性注意力块的前向和后向传递的内核,以加速训练和推理。通过将所有逐元素操作(包括激活函数、精度转换、填充操作和除法)融合到矩阵乘法中,我们减少了数据传输的开销。我们将更多来自Triton的细节和好处附加到附录中。

文本编码器设计

为什么将T5替换为仅解码器的LLM作为文本编码器?当今最先进的LLM是仅解码器的GPT架构,它们在更大规模的数据上进行训练。与2019年提出的T5相比,仅解码器的LLM具有强大的推理能力。它们可以使用思维链(CoT)(Wei et al. 2022)和上下文学习(ICL)(Brown 2020)遵循复杂的人类指令。此外,一些小型LLM,如Gemma-2(Team et al. 2024),可以在非常高效的同时与大型LLM的性能相媲美。因此,我们选择采用Gemma-2作为我们的文本编码器。

如表9所示,与T5-XXL相比,Gemma-2-2B的推理速度快6倍,而Gemma-2B在Clip Score和FID方面的性能与T5-XXL相当。

使用LLM作为文本编码器稳定训练:我们提取Gemma-2解码器的最后一层特征作为文本嵌入。我们实证发现,直接采用T5文本嵌入作为关键、值和图像令牌(作为查询)进行交叉注意力训练的方法会导致极端不稳定,训练损失经常变为NaN。

我们发现T5的文本嵌入的方差比仅解码器的LLM(Gemma-1-2B,Gemma-2-2B,Qwen-2-0.5B)小几个数量级,表明文本嵌入输出中有很多大的绝对值。为了解决这个问题,我们在仅解码器的文本编码器之后添加了一个归一化层(即RMSNorm),将文本嵌入的方差归一化为1.0。此外,我们发现一个有用的技巧,通过初始化一个小的可学习比例因子(例如0.01)并将其乘以文本嵌入,进一步加速模型收敛。结果如图6所示。

图7:有或无复杂人类指令(CHI)的生成结果。没有CHI时,一个简单的提示可能导致生成结果较差,包括伪影和细节较少的结果。

复杂的人类指令提高图像文本对齐:如上所述,Gemma比T5具有更好的指令跟随能力。我们可以进一步利用这一能力来加强文本嵌入。Gemma是一个聊天模型,尽管它具有强大的能力,但它可能有些不可预测,因此我们需要添加指令来帮助它专注于提取和增强提示本身。LiDiT(Ma et al. 2024)是第一个将简单的人类指令与用户提示结合的模型。在这里,我们进一步扩展它,使用LLM的上下文学习来设计复杂的人类指令(CHI)。如表2所示,无论从头开始训练还是通过微调,在训练过程中加入CHI可以进一步提高图像文本对齐能力。

此外,如图7所示,我们发现当给定一个简短的提示,如“一只猫”时,CHI帮助模型生成更稳定的内容。这一点在模型没有CHI时经常输出与提示无关的内容中显而易见。

3 高效的训练/推理

数据整理和混合

多标题自动标注管道:对于每张图像,无论是否包含原始提示,我们都会使用四个VLM对其进行标注:VILA-3B/13B(Lin et al. 2024),InternVL2-8B/26B(Chen et al. 2024d)。多个VLM可以使标题更准确和更多样。

图8:采样步骤对FID和CLIP-Score的影响:Flow-DPM-Solver与Flow-Euler的比较。

表3:256×256分辨率下不同训练计划的比较。

基于CLIP分数的标题采样器:多标题的一个问题是选择在训练期间对应于图像的标题。朴素的方法随机选择一个标题,这可能会选择低质量的文本并影响模型性能。

级联分辨率训练:受益于使用AE-F32C32P1,我们跳过了256px的预训练,直接以512px的分辨率开始预训练,逐步微调模型到1024px,2K和4K分辨率。我们认为传统的256px预训练过于成本高昂,因为256分辨率的图像失去了太多的细节信息,导致模型在图像文本对齐方面的学习速度较慢。

基于流的训练/推理

因此,在图8中,我们的Flow-DPM-Solver在14-20步时收敛并表现更好,而Flow-Euler采样器需要28-50步才能收敛,结果较差。

4 设备部署

为了增强边缘部署,我们将模型量化为8位整数。具体来说,我们采用每令牌对称INT8量化激活和每通道对称INT8量化权重。此外,为了在保持与16位变体高语义相似性的同时产生最小的运行时开销,我们将归一化层、线性注意力和交叉注意力块中的关键值投影层保留为全精度。

表5:设备部署:我们的推理引擎在W8A8量化下在笔记本电脑GPU上生成1024px图像时实现了2.4倍的加速。Sana的性能通过MJHQ-30K(Li et al., 2024a)上的CLIP-Score和前1K图像上的Image-Reward(Xu et al., 2024)进行评估。

表5显示了在笔记本电脑GPU上部署优化前后的速度比较。对于生成1024px图像,我们的优化实现实现了2.4倍的加速,仅需0.37秒,同时几乎无损图像质量。

5 实验

模型细节: 表6描述了网络架构的细节。我们的Sana-0.6B仅包含590M参数,层数和通道数几乎与原始DiT-XL和PixArt-Σ相同。我们的Sana-1.6B将参数增加到1.6B,每层20层和2240个通道,FFN中的通道增加到5600。我们认为在20到30层之间保持模型层数在效率和质量之间取得了良好的平衡。

表7:我们的方法与最先进方法在效率和性能上的综合比较。速度在FP16精度的A100 GPU上测试。吞吐量:批量大小为16时测量。延迟:批量大小为1且采样步骤为20时测量。我们突出显示了最佳、第二最佳和第三最佳条目。

表8:Sana块设计空间的性能。速度在FP16精度的A100 GPU上测试,图像大小为1024。MACs:单次前向传递的乘积累加操作。TP(吞吐量):批量大小为16时测量。延迟:批量大小为1时测量。

评估细节: 我们使用五个主流评估指标来评估我们的Sana的性能,即FID,Clip Score,GenEval(Ghosh et al. 2024),DPG-Bench(Hu et al. 2024)和ImageReward(Xu et al. 2024),并与最先进的方法进行比较。FID和Clip Score在MJHQ-30K(Li et al. 2024a)数据集上进行评估,该数据集包含来自Midjourney的30K图像。GenEval和DPG-Bench都侧重于测量图像文本对齐,分别有533和1,065个测试提示。ImageReward评估人类偏好性能,包含100个提示。

性能比较和分析

我们将Sana与最先进的文本到图像扩散模型进行了比较,如表7所示。对于512×512分辨率,Sana-0.6的吞吐量比具有相似模型大小的PixArt-Σ快5倍,并且在FID,Clip Score,GenEval和DPG-Bench上显著优于它。对于1024×1024分辨率,Sana明显强于大多数<3B参数的模型,并且在推理延迟上表现优异。即使与最先进的大型模型Flux-dev相比,我们的模型也能实现有竞争力的性能。例如,尽管在DPG-Bench上的准确性相当,在GenEval上略低,但Sana-0.6B的吞吐量快39倍,Sana-1.6B快23倍。

在表8中,我们分析了在1024×1024分辨率设置下将原始DiT的模块替换为相应线性DiT模块的效率。我们观察到,使用AE-F8C4P2,将原始全注意力替换为线性注意力可以将延迟从2250ms减少到1931ms,但生成结果较差。添加Mix-FFN可以补偿性能损失,尽管牺牲了一些效率。通过Triton内核融合,我们的线性DiT最终在1024px尺度上略快于原始DiT,在高分辨率下更快。此外,从AE-F8C4P2升级到AE-F32C32P1,MACs可以进一步减少4倍,吞吐量也可以提高4倍。Triton内核融合可以带来约10%的速度加速。

图9的左侧比较了Sana,Flux-dev,SD3和PixArt-Σ的生成结果。在第一行的文本渲染中,PixArt-Σ缺乏文本渲染能力,而Sana可以准确渲染文本。在第二行中,我们的Sana和Flux生成的图像质量相当,而SD3的文本理解不准确。图9的右侧显示Sana可以在笔记本电脑上成功部署。附录中提供了一个演示视频。

6 相关工作

我们在正文中简要概述了相关工作,并在补充材料中提供了更全面的版本。在生成模型架构方面,扩散Transformer(Peebles and Xie 2022)和基于DiT的文本到图像扩展(Chen et al. 2024a; Esser et al. 2024; Labs 2024)在过去一年中取得了显著进展。关于文本编码器,最早的工作(Rombach et al. 2022)使用CLIP,而后续工作(Saharia et al. 2022; Chen et al. 2024a)采用T5-XXL。还有一些结合T5和CLIP的努力(Balaji et al. 2022; Esser et al. 2024)。对于高分辨率生成,PixArt-Σ(Chen et al. 2024a)是第一个能够直接生成4K分辨率图像的模型。此外,GigaGAN(Kang et al. 2023)可以使用超分辨率模型生成4K图像。在设备部署方面,Zhao et al. 2023; Li et al. 2024b探索了在移动设备上部署扩散模型。

表9:不同文本编码器的比较。所有模型都在FP16精度的A100 GPU上测试。Gemma-2B模型在相似速度下比T5-large表现更好,并且与更大、更慢的T5-XXL性能相当。

图9:左:Sana-1.6B与FLUX-dev、SD3和PixArt-Σ的可视化比较。速度在FP16精度的A100 GPU上测试。右:量化后的Sana-1.6B可在GPU笔记本电脑上部署,在1秒内生成1K×1K图像。

7 结论

本文构建了一个名为Sana的新高效文本到图像管道。我们在以下维度进行了改进:我们提出了深度压缩自动编码器,广泛使用线性注意力替换DiT中的自注意力,利用仅解码器的LLM作为文本编码器并设计复杂的人类指令,建立自动图像标题管道,并提出基于流的DPM-Solver以加速采样。Sana可以生成最大分辨率为4096×4096的图像,吞吐量比最先进的方法高100倍以上,同时保持有竞争力的生成结果。

未来,我们将考虑基于Sana构建一个高效的视频生成管道。这项工作的潜在限制是无法完全保证生成图像内容的安全性和可控性。此外,在某些复杂情况下,如文本渲染和人脸和手的生成,仍存在挑战。

附录A 完整相关工作

高效的扩散Transformer: 扩散Transformer(DiT)的引入(Peebles and Xie 2023)标志着图像生成模型的一个显著转变,用Transformer架构取代了传统的U-Net。这一创新为更高效和可扩展的扩散模型铺平了道路。基于DiT,PixArt-α(Chen et al. 2024b)将概念扩展到文本到图像生成,展示了Transformer基础扩散模型的多功能性。稳定扩散3(SD3)(Esser et al. 2024)进一步推进了这一领域,提出了多模态扩散Transformer(MM-DiT),有效整合了文本和图像模态。最近,Flux(Labs 2024)展示了DiT架构在高分辨率图像生成中的潜力,将其扩展到12B参数。此外,早期的作品如CAN(Cai et al. 2024)和DiG(Zhu et al. 2024)在类条件图像生成中探索了线性注意力机制。一些工作还涉及修改模型配置,例如,没有注意力的扩散(Yan et al. 2024; Teng et al. 2024)和级联模型结构(Pernias et al. 2023; Ren et al. 2024; Tian et al. 2024)。

图像生成中的文本编码器: 图像生成模型中文本编码器的演变显著影响了该领域的进展。最初,潜在扩散模型(LDM)(Rombach et al. 2022)采用了OpenAI的CLIP作为文本编码器,利用其预训练的视觉语言表示。随着Imagen(Saharia et al. 2022)的引入,采用T5-XXL语言模型作为其文本编码器,展示了优越的文本理解和生成能力,发生了范式转变。随后,eDiff-I(Balaji et al. 2022)提出了混合方法,结合T5-XXL和CLIP编码器,以结合它们在语言理解和视觉文本对齐方面的各自优势。最近的进展,如Playground v3(Li et al. 2024a),探索了使用仅解码器的大型语言模型(LLM)作为文本编码器,可能提供更细致的文本理解和生成。这一趋势反映了该领域在追求改进文本到图像对齐和生成质量方面的持续追求。

设备部署: 几项研究探索了后训练量化(PTQ)技术,以优化扩散模型在边缘设备的推理。该领域的研究重点是校准目标和数据获取方法。BRECQ(Li et al. 2021)将Fisher信息纳入目标函数。ZeroQ(Cai et al. 2020)使用蒸馏生成代理输入图像进行PTQ。SQuant(Guo et al. 2022)使用基于Hessian谱敏感性的目标的随机样本。最近的工作如Q-Diffusion(Li et al. 2023)仅使用4位权重实现了高质量生成。在我们的工作中,我们选择W8A8以减少峰值内存使用。

附录B 更多实现细节

Rectified-Flow vs. DDPM: 在我们的理论分析中,我们研究了流匹配方法快速收敛的原因,表明1阶流匹配和EDM模型依赖于类似的公式。与使用噪声预测的DDPM不同,流匹配和EDM关注数据或速度预测,导致更好的性能和更快的收敛。这种从噪声预测到数据预测的转变在t=T附近尤为关键,因为噪声预测往往不稳定,并导致累积误差。正如Balaji等人(2022)所指出的,t=T附近的注意力激活更强,进一步强调了在这一关键时间点准确预测的重要性。

 图10:Flow-Euler采样器与50步和Flow-DPM-Solver与5/8/14/20步的可视化比较。

基于流的DPM-Solver算法: 我们在算法1中展示了基于修正流的DPM-Solver采样过程。该修改后的算法包含几个关键变化:超参数和时间步长转换,以及模型输出转换。这些调整以蓝色突出显示,以区分它们与原始求解器。

除了在主论文的图8中显示的FID和CLIP-Score的改进外,我们的Flow-DPM-Solver还展示了比Flow-Euler采样器更好的收敛速度和稳定性。如图10所示,Flow-DPM-Solver保留了原始DPM-Solver的优势,仅在10-20步内收敛,生成稳定的高质量图像。相比之下,Flow-Euler采样器通常需要30-50步才能达到稳定结果。

多标题自动标注管道: 在图11中,我们展示了基于CLIP分数的多标题自动标注管道的结果,其中每张图像与其原始提示和由不同强大VLM生成的4个标题配对。这些标题相互补充,通过其变化增强了语义对齐。

Triton加速训练/推理细节: 本节描述了如何使用Triton通过内核融合加速训练推理。具体来说,对于前向传递,ReLU激活融合到QKV投影的末端,精度转换和填充操作融合到KV和QKV乘法的起始,除法融合到QKV乘法的末端。对于后向传递,除法融合到输出投影的末端,精度转换和ReLU激活融合到KV和QKV乘法的末端。

2K/4K微调: 我们在基于1K模型的2K模型微调期间重新引入位置编码(PE)以提高性能。对于基于2K模型的4K模型微调,我们应用了Chen et al. 2024a中使用的相同PE插值策略。添加位置编码(PE)的训练过程收敛速度惊人地快,通常在10K次迭代内完成。

附录C 更多结果

自动编码器比较: 图12展示了原始图像与由两个不同模型生成的重建图像之间的视觉差异:我们的DC-AE-F32C32(Chen et al. 2024c)和SDXL的VAE-F8C4。两个模型都提供了几乎与原始图像无法区分的重建,展示了它们强大的编码和解码能力。

表10:最先进方法在GenEval上的详细比较。表格包括不同的指标,如总体性能、单个对象、两个对象、计数、颜色、位置和颜色属性。

表11:最先进方法在DPG-Bench和ImageReward上的详细比较。表格包括不同的指标,如总体性能、实体、属性、关系和其他类别。

Sana块的消融: 表12描述了不同块设计如何影响性能。直接将DiT的自注意力切换为线性注意力会导致FID和Clip Score性能损失,但添加Mix-FFN可以补偿性能损失。添加Triton内核融合可以在不影响性能的情况下加速训练/推理。

复杂人类指令分析: 为了观察CHI的有效性,我们将用户提示输入Gemma-2,有/无CHI。我们认为LLM输出与文本嵌入质量之间存在强正相关。如图13所示,没有CHI,尽管Gemma-2可以理解输入的含义,但输出是会话式的,不专注于理解用户提示本身。添加CHI后,Gemma-2的输出更好地专注于理解和增强用户提示的细节。

DPG-Bench,GenEval和ImageReward的详细结果: 作为主论文中表7的扩展,我们在表10和表11中分别显示了GenEval,DPG-Bench和ImageReward的所有指标细节以供参考。

发现:零样本语言迁移能力: 如图14所示,我们惊讶地发现,通过使用Gemma-2作为文本编码器,并以中文/表情符号作为文本提示,我们的Sana也可以理解和生成相应的图像。请注意,我们在训练期间过滤掉了所有非英语提示,因此Gemma-2带来了中文/表情符号的零样本生成能力。

文本编码器的详细速度比较: 在表13中,我们比较了各种T5模型和Gemma模型的延迟和参数。值得注意的是,Gemma-2B模型表现出与T5-large相似的延迟,同时显著增加了模型大小。这种模型大小的增加是实现更高效率和更强能力的关键因素。

图12:原始图像与我们的DC-AE-F32C32(Chen et al., 2024c)和SDXL的VAE-F8C4的比较。

表12:Sana块设计空间的性能。我们使用相同的52K次迭代训练设置训练所有模型。

表13:基于速度和参数的各种T5模型和Gemma模型的比较。序列长度(Seq Len)是文本令牌的数量。

图13:Gemma-2有/无复杂人类指令的输出示例,以及我们复杂人类指令的完整提示。

图14:零样本语言迁移能力的可视化。我们的Sana在训练期间只有英语提示,但在推理期间可以理解中文/表情符号。这得益于Gemma-2强大预训练带来的泛化能力。

表14:不同分辨率下的吞吐量和延迟比较。所有模型在FP16精度的A100 GPU上测试。

图15:4K和1K分辨率图像的比较。我们可以看到4K图像包含更多细节。

图16:更多由Sana生成的样本。

扩散模型的详细速度比较: 在表14中,我们详细比较了主流DiT基础文本到图像方法和我们的模型在不同分辨率(512,1024,2048和4096)下的吞吐量和延迟。我们的Sana在不同分辨率下远远领先于其他方法。随着分辨率的增加,我们的Sana的效率优势变得更加显著。

更多可视化图像: 如图15所示,我们可以看到4K图像比1K图像包含更多的细节。在图16中,我们展示了由我们的模型生成的更多图像,带有各种提示。我们还在补充材料(zip文件)中提供了一个视频mp4演示,展示了Sana在笔记本电脑上的部署。

比较不同自动编码器 图12展示了原始图像与由两个不同模型生成的重建图像之间的视觉差异:我们的DC-AE-F32C32(Chen et al. 2024c)和SDXL的VAE-F8C4。两个模型都提供了几乎与原始图像无法区分的重建,展示了它们强大的编码和解码能力。

Sana块的消融研究 表12描述了不同块设计如何影响性能。直接将DiT的自注意力切换为线性注意力会导致FID和Clip Score性能损失,但添加Mix-FFN可以补偿性能损失。添加Triton内核融合可以在不影响性能的情况下加速训练/推理。

复杂人类指令分析 为了观察CHI的有效性,我们将用户提示输入Gemma-2,有/无CHI。我们认为LLM输出与文本嵌入质量之间存在强正相关。如图13所示,没有CHI,尽管Gemma-2可以理解输入的含义,但输出是会话式的,不专注于理解用户提示本身。添加CHI后,Gemma-2的输出更好地专注于理解和增强用户提示的细节。

DPG-Bench,GenEval和ImageReward的详细结果 作为主论文中表7的扩展,我们在表10和表11中分别显示了GenEval,DPG-Bench和ImageReward的所有指标细节以供参考。

发现:零样本语言迁移能力 如图14所示,我们惊讶地发现,通过使用Gemma-2作为文本编码器,并以中文/表情符号作为文本提示,我们的Sana也可以理解和生成相应的图像。请注意,我们在训练期间过滤掉了所有非英语提示,因此Gemma-2带来了中文/表情符号的零样本生成能力。

文本编码器的详细速度比较 在表13中,我们比较了各种T5模型和Gemma模型的延迟和参数。值得注意的是,Gemma-2B模型表现出与T5-large相似的延迟,同时显著增加了模型大小。这种模型大小的增加是实现更高效率和更强能力的关键因素。

扩散模型的详细速度比较 在表14中,我们详细比较了主流DiT基础文本到图像方法和我们的模型在不同分辨率(512,1024,2048和4096)下的吞吐量和延迟。我们的Sana在不同分辨率下远远领先于其他方法。随着分辨率的增加,我们的Sana的效率优势变得更加显著。

更多可视化图像 如图15所示,我们可以看到4K图像比1K图像包含更多的细节。在图16中,我们展示了由我们的模型生成的更多图像,带有各种提示。我们还在补充材料(zip文件)中提供了一个视频mp4演示,展示了Sana在笔记本电脑上的部署。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值