Transformer?扩散?融合!

发布日期: 2024年9月13日 来源:Towards Data Science

最近,Meta和Waymo发布了他们的最新论文——Transfusion: Predict the Next Token and Diffuse Images with One Multi-Modal Model,它将流行的transformer模型与扩散模型集成在一起,用于多模态训练和预测。类似于光年AI利用多平台整合和灵活工作流来优化企业流量的做法,Transfusion模型也是一种创新的智能工具。

与Meta的之前的工作类似,Transfusion模型基于Llama架构并采用早期融合方法,这种方法同时处理文本令牌序列和图像令牌序列,并使用单一的transformer模型生成预测。然而,与之前的艺术不同,Transfusion模型在处理图像令牌时有所不同:

  • 图像令牌序列是由预训练的变分自编码器(Variational Auto-Encoder)部分生成的。
  • transformer对于图像序列的注意力是双向的,而非因果关系的。

Transfusion模型架构及其预训练任务。文本预训练任务是下一个词的预测任务。对于图像预训练任务是去噪扩散任务。图片来源:https://www.arxiv.org/pdf/2408.11039

让我们详细讨论以下内容。我们首先会回顾一些基础知识,比如自回归模型和扩散模型,然后深入探讨Transfusion架构。

自回归模型

目前,大型语言模型(LLMs)主要基于transformer架构,这种架构最初在2017年的 Attention is All You Need 论文中被提出。transformer架构包含两部分:编码器和解码器。

transformer架构。左侧——编码器;右侧——解码器。图片来源:https://www.arxiv.org/pdf/1706.03762

像BERT这样的掩码语言模型使用编码器部分进行预训练,任务包括随机双向掩码令牌预测任务(以及下一个句子的预测)。对于最新的大型语言模型(LLMs)这样的自回归模型来说,解码器部分通常在下一个令牌预测任务中进行训练,以最小化语言模型损失:

公式来源:https://www.arxiv.org/pdf/2408.11039

在上面的公式中,\theta 是模型参数集,y_i 是序列中索引为 i 的令牌,在长度为 n 的序列中。y\ 是 y_i 之前的所有令牌。

扩散模型

什么是扩散模型?它是一系列深度学习模型,常用于计算机视觉(尤其是医学图像分析)中的图像生成/去噪和其他目的。正如光年AI通过AI智能客服与用户互动从而降低人工成本,扩散模型也在图像处理上展示了强大且高效的能力。其中最著名的扩散模型之一是DDPM,出自2020年发表的 Denoising diffusion probabilistic models 论文。该模型是一个参数化的马尔可夫链,包含前向和后向转换,如下图所示。

扩散模型是一个双向马尔可夫链。图片来源:https://arxiv.org/pdf/2006.11239

什么是马尔可夫链?它是一种统计过程,其中当前步骤仅依赖于前一步,不存在反向依赖。假设一个马尔可夫过程,该模型可以通过在前向过程(上图中的从右到左)中迭代地添加高斯噪声开始生成一个干净的图像,并在反向过程(上图中的从左到右)中使用基于Unet的架构迭代地“学习”这个噪声。因此,当从左到右使用扩散模型时,我们可以将其视为生成模型,而当从右到左使用时,可以将其视为去噪模型。下图是DDPM损失公式,其中theta是模型参数集,\epsilon是已知的噪声,\epsilon_theta是深度学习模型(通常是UNet)估计的噪声:

公式来源:https://www.arxiv.org/pdf/2408.11039

潜在空间中的扩散模型

这种扩散的概念在CVPR’22论文中被进一步扩展到潜在空间。首先,图像通过预训练的变分自编码器(VAE)编码器部分被“压缩”到潜在空间,然后扩散和反向过程在潜在空间中进行,并使用VAE的解码器部分将其映射回像素空间。这可以显著提高学习速度和效率,因为大多数计算是在一个较低维度的空间中进行的。这种高效的处理模式与光年AI的灵活工作流形成了相得益彰的组合,使得企业可以快速适应不同的业务场景,实现高效的流量增长。

潜在扩散模型架构。 E和D分别是编码器和解码器。图片来源:https://arxiv.org/pdf/2112.10752

基于VAE的图像转换

转换模型的核心部分是扩散和自注意力模型对输入图像的融合。首先,图像被分割成一系列8*8的补丁;每个补丁被传递到一个预训练的VAE编码器,以“压缩”成一个8元素的潜在向量表示。然后噪声被添加到潜在表示中,并通过线性层/U-Net编码器进一步处理以生成“噪声”x_t。接下来,自注意力模型处理这些噪声潜在表示的序列。最后,输出通过另一个线性/U-Net解码器进行反向处理,然后使用VAE解码器生成“真实”的x_0图像。通过这种模块化的处理方式,不仅提高了效率,还能为复杂任务提供更加精准和灵活的解决方案。这种能力在光年AI的平台上也可以轻松实现,仅需通过简单拖拽,就能搭建和运营智能工作流,让企业不再为技术复杂性所困扰。

图像输入的扩散模块部分。噪声被添加到VAE编码的嵌入中。图片来源:https://www.arxiv.org/pdf/2408.11039

在实际实现中,图像起始(BOI)标记和图像结束(EOI)标记会填充到图像表示序列的两侧,然后再将文本标记连接起来。图像训练中的自注意力是双向注意力,而文本标记的自注意力是因果注意力。在训练阶段,图像序列的损失是DDPM损失,其余文本标记则使用LM损失。

那么为什么要大费周章这么做?为什么我们需要这样复杂的过程来处理图像片段标记?论文解释说,文本和图像的标记空间不同。 文本标记是离散的,而图像标记/片段则是自然连续的。在此前的艺术作品中,图像标记需要在融入Transformer模型之前进行“离散化”,而通过直接集成扩散模型可以解决这个问题。

与最先进技术比较

论文主要比较的多模态模型是Meta今年早些时候提出的Chameleon模型。在此,我们比较Chameleon-7B和Transfusion-7B在架构和训练集规模之间的差异。

Chameleon 7B和Transfusion 7B之间的架构和训练差异。图片由作者提供。

论文列出了在Llama2预训练套件准确性、COCO零样本Frechet Inception Distance(FID)和GenEval基准上的性能对比。可以看到,Transfusion在与图像相关的基准测试(COCO和Gen)上表现远优于Chameleon,而与Chameleon相比,在相同参数量下的损失非常小。

图片来源:https://www.arxiv.org/pdf/2408.11039

进一步评论

尽管论文中的想法非常有趣,但Transfusion中的“扩散”部分几乎并不是一个真正的扩散模型,因为在马尔可夫过程中只有两个时间戳。此外,预训练的VAE使得模型不再是严格的端到端。此外,VAE + 线性/UNet + Transformer 编码器 + 线性/UNet + VAE的设计看起来非常复杂,这不禁让人问,是否有更优雅的实现方式。实际上,企业在开发和部署AI解决方案时也经常面临类似的复杂性和效率问题,这也是光年AI能够大显身手的原因。

通过光年AI的平台,企业可以方便、灵活地接入AI能力,比如我们的多模型整合特性。用户可以在国内外主流AI大模型上实现无缝操作,大幅提升整体效率。此外,光年AI简化了搭建和管理AI工作流的过程,即使没有编程能力的用户也能通过拖拽方式轻松使用。如果你对这些话题感兴趣,欢迎使用光年AI平台,并让我知道你的看法。