2023年12月27日

[略读]Emu2

Generative Multimodal Models are In-Context Learners

Abstract

人类能够(仅需少量演示或简单指示即可)轻松解决多模态任务的能力,是当前多模态系统在模仿方面遇到的主要困难。在这项工作中,我们展示了大型多模态模型的任务不可知上下文学习能力可以通过有效的扩展显著提高。我们介绍了Emu2,一个具有370亿个参数的生成多模态模型,它是在大规模多模态序列上使用统一自回归目标进行训练的。Emu2展示了强大的多模态上下文学习能力,甚至能够解决需要即时推理的任务,例如视觉提示和基于对象的生成。该模型在少量演示设置下创造了多个多模态理解任务的新记录。当调整为遵循特定指令时,Emu2在挑战性任务上进一步实现了新的最先进水平,例如大型多模态模型的问答基准和开放式主题驱动生成。这些成就表明Emu2可以作为基础模型和广泛范围多模态任务的通用接口。代码和模型可公开获取以促进未来的研究。

2. Approach

2.1 Model Architecture

Emu2架构概述。Emu2在多模态中使用预测下一个元素的目标进行学习。多模态序列中的每个图像都通过视觉编码器被标记为嵌入,并与文本标记交错以进行自回归建模。回归的视觉嵌入将通过视觉解码器解码为图像或视频。

2.2 Pretraining

2.2.1 Data

Emu2的预训练数据包括几个公开可访问的数据集,包括来自LAION-2B [66]和CapsFusion-120M [88]的图像文本对,来自WebVid-10M [8]的视频文本对,来自Multimodal-C4(MMC4)[96]的交错图像文本数据,来自YT-Storyboard-1B [72]的交错视频文本数据,由Kosmos-2 [58]引入的基于图像的文本对GRIT-20M,由CapsFusion-120M策划的基于图像的文本对CapsFusion-grounded-100M。此外,还包括来自Pile [27]的仅语言数据以保留文本推理能力。

2.2.2 Training

与Emu [72]类似,Emu2在多模态序列中使用预测下一个元素的目标进行学习。每个图像都被编码为N = 64维固定的视觉嵌入,并与文本标记交错以构建多模态序列。交错序列然后被馈送到Transformer解码器进行自回归建模。

Emu2首先在图像文本和视频文本对数据上进行文本token的字幕损失的预训练。输入图像被调整为224×224。我们采用AdamW优化器[51],其中β1 = 0.9,β2 = 0.95,ε = 1×10−6。线性投影层的最大学习率为1×10−4,Multimodel Modeling的最大学习率为3×10−5,Visual Encoder的最大学习率为5×10−5。我们在1.62亿个图像文本样本和700万个视频文本样本上对Emu2进行了35000次迭代的预训练。图像文本对的全局批量大小为6,144,用于视频文本对的大小为768。然后,在更高的448像素分辨率下重新启动训练过程,进行额外的4,000次迭代。

然后,我们冻结视觉编码器,仅优化线性投影层和多模型建模,同时使用文本分类损失和图像回归损失。在训练中使用了额外的数据集,包括图像-文本交错数据、视频-文本交错数据、基于图像-文本对的数据和仅语言数据。所有图像都被调整为448×448,最大学习率为1×10-5。我们对图像-文本对数据使用全局批量大小为12,800,对视频-文本对数据使用6,400,对图像-文本和视频-文本交错数据使用3,200,对仅语言数据使用800。训练过程跨越20,350次迭代,消耗了大约1.6亿个图像-文本数据样本和38亿个仅语言数据标记。

2.2.3 Visual Decoding

我们训练了Visual Decoder,直接将Visual Encoder生成的视觉嵌入解码为图像。我们使用SDXL-base[59]作为Visual Decoder的初始化,它完全训练用于解决自编码的新任务。具体而言,我们使用N个视觉嵌入作为Visual Decoder的条件输入,并调整交叉注意力模块中投影层的维度以匹配视觉嵌入的维度。 与Emu [72]不同,其Visual Decoder的每个优化步骤都需要语言模型的自回归推断,Emu2的视觉解码可以被认为是训练一个可以脱机训练的解标记器。一旦训练完成,Visual Decoder与Visual Encoder一起作为图像自编码器,可以将图像标记化为嵌入并解标记化回来。在Emu2推理期间,它生成N个图像嵌入并即时解码为图像。 对于视频数据的解码,我们训练了基于扩散的解码器[68]。类似于[47,75],我们通过在每个2D空间卷积层后插入1D时间卷积,并将空间注意力扩展到空间-时间注意力,将2D去噪U-Net适应为3D风格。该视频解码器通过Stable Diffusion 2.1 [63]进行初始化,并完全训练以生成由Emu2的视觉嵌入条件的视频剪辑。

训练设置。我们使用LAION-COCO [2]和LAION-Aesthetics [1]中的图像来训练视觉解码器,任务是图像自编码。SDXL中的视觉编码器和VAE被冻结,只有U-Net在训练期间更新。我们采用AdamW优化器[51],β1 = 0.9,β2 = 0.999,权重衰减为0.01。我们使用对数学习率热身和线性学习率衰减,峰值学习率为1×10−4,分别为2,000和6,000步。我们过滤掉分辨率小于512×512的图像。Visual Encoder的输入设置为448×448,而Visual Decoder的输出设置为1024×1024。我们还采用了无分类器的指导[31],该指导以10%的概率随机丢弃图像嵌入。总批量大小设置为2,048。

2.3. Instruction Tuning

Emu2可以高效地对齐以遵循特定任务指令。我们使用对话数据微调基础模型,得到Emu2-Chat,它能够跟随多模式问题并在对话中做出回应。同样,我们推导出可控的视觉生成模型Emu2-Gen,它能够接受文本、位置和图像的混合作为条件,并生成以指定文本或主题为基础的图像。

Share

You may also like...

发表评论

您的电子邮箱地址不会被公开。