多模态模型 Transfusion 与 Show-o 深度解析
近期,Meta 发布了 Transfusion,Show Lab 与字节跳动联合发布了 Show-o。这两项工作均宣称实现了利用单一 Transformer 架构同时处理文本和图像任务,无需借助额外的文本编码器即可实现图像生成,并融合了自回归生成与扩散模型的技术优势。本文旨在深入分析这两篇论文的核心架构、技术差异及实验结果。
读前准备
在深入阅读这两篇新工作之前,建议读者熟悉以下基础概念:
- 自回归生成(Autoregressive Generation):以 Transformer 为代表,按顺序逐个生成序列元素。
- 扩散模型(Diffusion Models):包括 DDPM、LDM、DiT 等,通过逐步去噪生成数据。
- 掩码自回归模型(Masked Autoregressive Models):如 MaskGIT、MAR,通过随机掩码并行生成多个元素。
- Chameleon 模型:此前较为先进的混合模态早期融合基础模型,是这两篇工作的主要对比对象。
本文不会对这些旧概念做深入回顾,若遇到不懂的术语,请先查阅相关论文。
自回归模型基础
自回归模型用于生成有序序列。算法会参考之前所有已生成的信息来预测下一个元素。例如在文本生成中,给定前一个词元,预测下一个词元。训练时通常假设元素取值有限(如字母表),使用交叉熵损失函数优化下一个词元预测(Next Token Prediction, NTP)任务。
对于图像数据,像素或图块(Patch)需要被定义先后顺序。传统方式采用从左到右、从上到下的扫描线顺序,但这并非最优解。
掩码自回归模型
为了解决逐像素生成的速度慢及顺序不合理的问题,研究者提出了掩码自回归模型。其核心改进在于:
- 并行生成:每轮生成可以覆盖多个像素(图块)。
- 随机顺序:像素的生成顺序完全随机,而非固定扫描顺序。
这种方式要求模型一次性接收所有像素输入,并通过掩码剔除未使用的部分,因此被称为掩码自回归。这种机制允许图像词元之间进行双向交叉注意力计算,而无需像文本那样严格遵循因果顺序。
扩散模型基础
扩散模型将图像生成建模为从噪声图像逐步恢复至目标图像的过程。为了降低计算量,通常先使用自编码器将图像压缩为潜在空间表示(Latent Space),再进行扩散过程。这一过程类似于 NLP 中的词元化(Tokenize),在图像领域常被称为图块化(Patchify)或图像词元化。
值得注意的是,掩码自回归模型有时被称为'离散扩散模型',因为它也是从纯掩码状态逐渐变为有意义图像。尽管命名上有重叠,但在实现细节上,两者仍存在显著差异。
Chameleon 模型回顾
Chameleon 代表了此前多模态模型的先进水平。它在语言模型基础上,使用离散自编码器(如 VQGAN)作为图像词元化工具。编码后的图像词元与文本词元混合,统一通过标准 Transformer 的下一个词元预测任务进行训练。生成时,多模态模型自回归地生成所有词元,随后分别解码回文本和图像。
这种架构的主要问题在于未能充分设计图像词元的生成逻辑,本质上仍是强行将图像视为离散词元处理,限制了图像生成的质量与灵活性。
功能与效果对比
明确两个模型的任务能力是理解其设计的关键。
Transfusion 能力
Transfusion 是一个标准的多模态模型,即输入输出可包含图像词元的语言模型。它支持输入已知文本和图像,输出后续文本和图像。基于此架构,它可以执行文生图任务。该模型未为特定任务设置特殊词元,所有图像功能依赖文本指令指定。因此,若要执行图像编辑任务,需在带文本标注的图像编辑数据集上进行微调。研究表明,仅需约 8000 条数据微调即可赋予模型一定的编辑能力。
Show-o 能力
相比之下,Show-o 允许在序列前输入区分任务的特殊词元。这使得 Show-o 能够完成多模态理解(MMU)、文生图(T2I)、图像编辑及多模态生成等多种任务。Show-o 的基础模型默认已在带有文本提示的图像编辑数据集上微调,因此开箱即用。
方法详解
现有架构的局限
传统的多模态模型往往只是将图像强行转换为离散词元,再套用标准自回归框架。虽然部分模型尝试引入扩散模型辅助解码(如 LaVIT),但核心的图像词元生成仍依赖标准自回归,导致效率和质量受限。
Show-o 方案:掩码自回归
Show-o 的设计初衷是用更先进的图像生成技术改进图像词元生成。它将标准自回归替换为掩码自回归(类似 MaskGIT/MAR)。在掩码自回归模式下,像素顺序随机且可并行生成。此外,图像词元之间可以进行双向交叉注意力计算,突破了文本词元只能看到历史信息的限制。
Show-o 将其图像生成模型称为'离散扩散模型',但这更多是命名上的统一。从问题建模角度看,它仍属于掩码自回归范畴。
Transfusion 方案:扩散模式切换
Transfusion 采取了更为激进的革新策略。它直接将完整的扩散模型引入多模态生成流程。在生成过程中,程序交替执行两种模式:
- 语言模型模式:按标准自回归逐个生成文本词元。
- 扩散模式:一旦检测到特殊词元 BOI(Begin of Image),切换到扩散模式。此时按 DiT 或 SD3 的方式,一次性生成所有图像词元。
- 返回模式:生成完成后填入 EOI(End of Image),重返语言模型模式。
训练时,语言部分使用下一个词元预测,图像部分使用标准的扩散模型训练方式(加噪后预测噪声)。这使得 Transfusion 在图像生成任务上更接近 SD3 等专用文生图模型,而非传统的多模态语言模型。
注意力机制差异
Transfusion 与 SD3 的最大区别在于文本词元的处理方式。在 Transfusion 中,文本词元仍遵循语言模型的因果注意力(只能看到之前的文本),而图像词元之间则采用双向注意力(可以看到所有图像词元)。这种设计与 Show-o 一致,但由于文本也在同一 Transformer 中处理,Transfusion 无需单独的文本编码器。
定量评测结果
Transfusion 表现
Transfusion 在与 Chameleon 的对比中全面领先。令人惊讶的是,尽管未对文本任务做特别优化,其在文本指标上也超越了 Chameleon。作者推测这是因为扩散模型的高效性使得模型能将更多精力分配给文本任务。在图像生成方面,Transfusion 优于多数文生图模型,仅略逊于顶尖模型 SD3。
Show-o 表现
Show-o 在部分文本指标上展现了潜力,但作者坦言这仅代表其上限。在图像任务上,Show-o 展示了 COCO FID 和 GenEval 指标,超越了多数多模态模型及 Stable Diffusion 2.1。然而,其图像质量指标仍低于 Transfusion。Show-o 的最大优势在于所需的图像训练数据远少于其他模型,体现了更高的数据效率。
总结与讨论
核心异同点
相同点:
- 均使用单一 Transformer 处理文本和图像。
- 均采用相同的交叉注意力机制:文本词元可见历史图文,图像词元可见当前所有图文。
不同点:
- 生成机制:Transfusion 使用标准扩散模型,Show-o 使用掩码自回归。
- 任务控制:Transfusion 无特殊任务词元,需微调;Show-o 使用特殊词元区分任务,默认支持多种能力。
- 性能权衡:Transfusion 表现更好,Show-o 训练资源需求更少。
技术思考
此前多模态模型倾向于强行将图像离散化,再用自回归生成。Transfusion 和 Show-o 证明了图像和文本的处理不应完全一致。图像具有连续性(颜色值、空间位置),强行用 Transformer 自回归生成会破坏这种连续性。扩散模型通过迭代操作整幅图像,能更好地保留连续性。尽管 MAR 试图找回颜色值的连续性,但仍难以充分利用空间连续性。
未来展望
Transfusion 的行为已接近 SD3、FLUX.1 等专用文生图模型。两者的区别在于前者用单一 Transformer 处理图文,后者需预训练语言模型。随着技术发展,文生图任务本质上被视为多模态任务,两类模型的发展路线可能会交汇。例如,在 SD3 基础上加入语言任务学习,可能进一步提升图文匹配度。
然而,多模态研究的高验证成本限制了其普及。验证多模态设计需要在海量图文数据集上训练并评估多项指标,这对小团队而言代价巨大。因此,多模态创新目前多源于纯语言或纯图像方向的灵感借鉴,独立的多模态创新较少。未来,如何降低多模态模型的训练与验证门槛,将是推动该领域发展的关键。
技术实现考量
在实际部署这些模型时,开发者需注意以下几点:
- 显存管理:由于引入了扩散模型或大规模 Transformer,推理时的显存占用显著增加。Transfusion 在扩散模式下需要加载完整的去噪网络,对 GPU 内存要求较高。
- 推理速度:自回归模式受限于串行生成,速度较慢。扩散模式虽然并行度高,但多步迭代也消耗时间。Show-o 的掩码自回归在速度上介于两者之间,适合对延迟敏感的场景。
- 数据预处理:高质量的图像词元化依赖于强大的 VAE 或自编码器。如果底层编码器无法有效压缩图像信息,上层生成模型的效果将大打折扣。
- 对齐难度:将文本语义与图像特征在同一空间对齐是一个挑战。Transfusion 通过共享 Transformer 层隐式地对齐,而 Show-o 通过特殊词元显式引导,各有优劣。
综上所述,Transfusion 和 Show-o 代表了多模态大模型的重要演进方向。它们不再简单地将图像视为文本的附属,而是探索了更适合图像特性的生成范式。随着硬件算力的提升和算法的优化,这类统一架构有望成为下一代人工智能系统的基础设施。