主要观点总结
本文介绍了Meta最新发布的Transfusion模型,该模型能够训练生成文本和图像的统一模型,实现了语言模型和图像生成的大一统。文章详细阐述了Transfusion模型的工作原理、创新点、实验数据和结论。此外,还介绍了几位共同作者的研究背景和主要贡献。
关键观点总结
关键观点1:
关键观点2:
关键观点3:
关键观点4:
关键观点5:
正文
【新智元导读】
就在刚刚,Meta最新发布的Transfusion,能够训练生成文本和图像的统一模型了!完美融合Transformer和扩散领域之后,语言模型和图像大一统,又近了一步。也就是说,真正的多模态AI模型,可能很快就要来了!
Transformer和Diffusion,终于有了一次出色的融合。
自此,语言模型和图像生成大一统的时代,也就不远了!
这背后,正是Meta最近发布的Transfusion——一种训练能够生成文本和图像模型的统一方法。
论文地址:https://arxiv.org/abs/2408.11039
英伟达高级科学家Jim Fan盛赞:之前曾有很多尝试,去统一Transformer和Diffusion,但都失去了简洁和优雅。
现在,是时候来一次Transfusion,来重新激活这种融合了!
在X上,论文共一
Chunting
Zhou,为我们介绍了Transfusion其中的「玄机」。
为何它能让我们在一个模型中,同时利用两种方法的优势?
这是因为,Transfusion将语言建模(下一个token预测)与扩散相结合,这样,就可以在混合模态序列上训练单个Transformer。
研究者从头开始,在混合文本和图像数据上预训练了参数量高达70亿的Transfusion模型。
使用文本和图像数据的混合,他们建立了一系列单模态和跨模态基准的缩放定律。
实验表明,Transfusion在单模态和多模态基准测试中,相较于对图像进行量化并在离散图像token上训练语言模型,很明显具有更好的扩展性。
研究者发现,Transfusion能够生成与相似规模的扩散模型相媲美的高质量图像,而且,它同时也保持了强大的文本生成能力。
首先,全局因果注意力加上每个图像内的双向注意力,是至关重要的。
另外,引入模态特定的编码和解码层后,可以提高性能,并且可以将每个图像压缩到64甚至16个块!
总之,研究者成功地证明了,将Transfusion方法扩展到70亿参数和2万亿多模态token后,可以生成与类似规模的扩散模型和语言模型相媲美的图像和文本。
Transfusion为真正的多模态AI模型开启了激动人心的可能性。
这些模型可以无缝处理任何离散和连续模态的组合!无论是长篇视频生成、与图像或视频的交互式编辑/生成会话,我们都可以期待了。
生图效果秒杀DALL-E 2和Stable Diffusion
Transfusion的生图效果如何?让我们来检验一下。
以下这些,都是用在2万亿多模态token上训练的70亿参数Transfusion生成的图像——
在GenEval基准测试上,它直接超越了DALL-E 2和Stable Diffusion XL!
研究者训练了一个具有U-Net编码/解码层(2×2潜在像素块)的70亿参数模型,处理相当于2T tokens的数据,其中包括1T文本语料库tokens和35亿张图像及其标注。
表9显示,Transfusion在性能上与高性能图像生成模型如DeepFloyd相当,同时超越了先前发布的模型,包括SDXL。
虽然Transfusion在SD 3后面稍显逊色,但该模型通过反向翻译利用合成图像标注,将其GenEval性能在小规模上提升了6.5%(0.433→0.498)。
此外,Transfusion模型也可以生成文本,并且其性能与在相同文本数据分布上训练的Llama模型相当。
以下这些,则是用微调后的70亿参数Transfusion模型编辑的图像——
研究者使用仅包含8000个公开可用图像编辑示例的数据集对70亿参数模型进行了微调,其中每个示例包括一个输入图像、一个编辑提示词和一个输出图像。
对EmuEdit测试集中随机示例的人工检查表明,微调的Transfusion模型可以按照指示进行图像编辑。也就是说,Transfusion模型确实可以适应并泛化到新的模态组合。
我们都知道,多模态生成模型需要能够感知、处理和生成离散元素(如文本或代码)和连续元素(例如图像、音频和视频数据)。
不过,离散元素和连续元素,却很难在同一个模型中大一统起来。
在离散模态中,是语言模型占主导地位,它靠的是在下一个token预测目标上训练的。
而在生成连续模态上,则是扩散模型及其泛化一直处于最前沿。
此前,学界曾尝试了多种方法,包括扩展语言模型,以使用扩散模型作为工具,或者通过将预训练的扩散模型移植到语言模型上。
此外,还有人通过量化连续模态,在离散tokens上训练标准语言模型,从而简化模型架构。然而这样做的代价,就是信息的丢失。
而Meta的研究者在这项工作中,通过训练单个模型,来同时预测离散文本tokens和扩散连续图像,他们成功地做到了完全整合两种模态,而不丢失信息。
这是一种训练单一统一模型的方法,可以无缝理解和生成离散和连续的模态。
研究者的主要创新就在于,他们针对不同的模态使用了不同的损失——文本使用语言建模,图像使用扩散——从而在共享的数据和参数上进行训练
研究者在50%的文本和50%的图像数据上预训练了一个Transformer模型,不过对于两种模态来说,分别使用了不同的目标。
前者的目标是,预测文本的下一个token;而后者的目标,则是图像的扩散。
在每个训练步骤中,模型都会同时接触到这两种模态和损失函数。标准嵌入层将文本tokens转换为向量,而块化层(patchification layer)则将每个图像表征为一系列块向量。
随后,研究者对文本tokens应用因果注意力,对图像块应用双向注意力。
在推理时,他们引入了一种解码算法,它结合了语言模型的文本生成和扩散模型的图像生成的标准实践。
从此,有望训练真正的多模态模型
在文本到图像生成中,研究者发现:Transfusion在计算量不到三分之一的情况下,FID和CLIP分数均超过了Chameleon的离散化方法。
在控制FLOPs的情况下,Transfusion的FID分数比Chameleon模型低约2倍。
在图像到文本生成中,也可以观察到类似的趋势:Transfusion在21.8%的FLOPs下与Chameleon匹敌。
令人惊讶的是,Transfusion在学习文本到文本预测方面也更有效,在大约50%到60%的Chameleon FLOPs下实现了文本任务的困惑度平价。
同时,研究者观察到:图像内的双向注意力非常重要,如果用因果注意力替代它,就会损害文本到图像生成。
他们还发现,通过添加U-Net上下块来编码和解码图像,就可以使Transfusion在相对较小的性能损失下,压缩更大的图像块,从而能将服务成本降低到多达64倍。
最后,研究者证明了:Transfusion可以生成与其他扩散模型相似质量的图像。
他们在2万亿tokens上,从零开始训练了一个7B参数的Transformer,它增强了U-Net的下采样/上采样层(0.27B参数)。
在这2万亿tokens中,包含1万亿的文本tokens,以及大约5个周期的692M图像及标注,相当于另外1万亿个patches/tokens。
在GenEval基准上,Transfusion模型优于其他流行模型,如DALL-E 2和SDXL。
而且,与那些图像生成模型不同的是,它还可以生成文本,在文本基准上达到了Llama 1级别的性能水平。
总之,实验表明:Transfusion是一种十分有前途的方法,可以用于训练真正的多模态模型。
数据表征
研究者在两种模态上进行了数据实验:离散文本和连续图像。
每个文本字符串被标记化为来自固定词汇表的离散token序列,其中每个token被表征为一个整数。
每个图像被编码为使用VAE的潜在块,其中每个块被表征为一个连续向量;这些块从左到右、从上到下排序,以从每个图像创建一个块向量序列。
对于混合模态的例子,研究者在将图像序列插入文本序列之前,用特殊的图像开始(BOI)和图像结束(EOI)token包围每个图像序列。
因此,就得到了一个可能同时包含离散元素(表征文本token的整数)和连续元素(表征图像块的向量)的单一序列。
模型架构
模型的大部分参数属于一个单一的Transformer,它会处理每个序列,无论模态如何。
Transformer将一个高维向量序列作为输入,并生成类似的向量作为输出。
为了将数据转换到这个空间,研究者使用了具有不共享参数的轻量级模态组件。
对于文本,这些自己组件是嵌入矩阵,会将每个输入整数转换为向量空间,并将每个输出向量转换为词汇表上的离散分布。
对于图像,研究者则尝试了两种方法,将k×k块向量的局部窗口压缩为单个Transformer向量(反之亦然):(1)一个简单的线性层,以及(2)U-Net的上下块。
研究者使用预训练的VAE(变分自编码器)将图像和潜在表征进行互相转换,然后通过简单的线性层或U-Net下采样块,将其转换为patch表征
Transfusion注意力
语言模型通常使用因果掩码,来有效地计算整个序列的损失和梯度,只需一次前向-后向传递,而不会泄露未来token的信息。
相比之下,图像通常会使用不受限制的(双向)注意力来建模。
而Transfusion通过对序列中的每个元素应用因果注意力,并在每个单独图像的元素内应用双向注意力,来结合这两种注意力模式。
这样,每个图像块就可以在关注同一图像中其他块的同时,只关注序列中先前出现的文本或其他图像的块。
在因果掩码上扩展后,Transfusion就允许同一图像的patch相互为条件
训练目标
为了训练模型,研究者将语言建模目标LLM应用于文本token的预测,将扩散目标LDDPM应用于图像块的预测。
LM损失是逐个token计算的,而扩散损失是逐个图像计算的,这可能跨越序列中的多个元素(图像块)。
具体来说,他们根据扩散过程,向每个输入潜在图像x0添加噪声ε,以在块化之前产生xt,然后计算图像级别的扩散损失。
通过简单地将每种模态上计算出的损失与平衡系数λ结合,研究者合并了这两种损失:
这个公式,也是一个更广泛想法的具体实例:将离散分布损失和连续分布损失结合,就可以优化同一模型。
推理
为了反映训练目标,解码算法也需要在两种模式之间切换:LM和扩散。
在LM模式中,从预测分布中逐个token进行采样。当采样到一个BOI token时,解码算法切换到扩散模式。
具体来说,这需要将形式为n个图像块的纯噪声xT附加到输入序列中(取决于所需的图像大小),并在T步内去噪。
在每一步t中,噪声会被预测并使用它生成x_(t−1),然后将其覆盖在序列中的x_t上。即,模型始终基于噪声图像的最后一个时间步进行条件处理,无法关注之前的时间步。
一旦扩散过程结束,就将一个EOI token附加到预测的图像上,并切换回LM模式。
与Chameleon的比较
研究者在不同模型规模(N)和token计数(D)下,比较了Transfusion与Chameleon,并使用两者的组合作为FLOPs(6ND)的代理。
为了简化和参数控制,这些实验中的Transfusion变体使用简单的线性图像编码器/解码器,块大小为2×2,以及双向注意力。
如图5所示,在每个基准测试中,Transfusion始终表现出比Chameleon更好的scaling law。
受参数、数据和计算控制的不同规模的Transfusion和Chameleon模型的性能,其中所有轴都是对数的
表3则显示了模型的评估结果,以及平价FLOP比率。
其中,平价FLOP比率用来估算相对计算效率:Transfusion和Chameleon达到相同性能水平所需的FLOPs数量之比。
计算效率的差异在图像生成中特别显著,其中FID Transfusion以1/34的计算量实现了与Chameleon的平价。
最大(7B)Transfusion和Chameleon模型在受控环境中的性能,两个模型均在0.5T token上进行训练
令人惊讶的是,纯文本基准测试也显示出Transfusion的更好性能,即使Transfusion和Chameleon以相同方式建模文本。