OpenAI 前首席科学家、联合创始人 Ilya Sutskever 曾在多个场合表达观点:
只要能够非常好的预测下一个 token,就能帮助人类达到通用人工智能(AGI)。
虽然,下一 token 预测 已在大语言模型领域实现了 ChatGPT 等突破,但是在多模态模型中的适用性仍不明确。多模态任务仍然由扩散模型(如 Stable Diffusion)和组合方法(如结合 CLIP 视觉编码器和 LLM)所主导。
2024 年 10 月 21 日,智源研究院 正式发布原生多模态世界模型 Emu3。该模型只基于下一个 token 预测,无需扩散模型或组合方法,即可完成文本、图像、视频三种模态数据的理解和生成。
Emu3 技术细节
1 数据
Emu3 是在语言、图像和视频混合数据模态上从头开始训练的。
**语言数据:**使用与 Aquila 模型相同的语言数据,一个由中英文数据组成的高质量语料库。
**图像数据:**构建了一个大型图像文本数据集,其中包括开源网络数据、AI 生成的数据和高质量的内部数据。整个数据集经过了分辨率、图片质量、类型等方面的过滤过程。训练了一个基于 Emu2 的图像描述模型来对过滤后的数据进行标注以构建密集的图像描述,并利用 vLLM 库来加速标注过程。
**视频数据:**收集的视频涵盖风景、动物、植物和游戏等多个类别。
整个视频处理流程包括了场景切分、文本过滤、光流过滤、质量评分等阶段。并使用基于图像描述模型微调得到的视频描述模型来对以上过滤后的视频片段打标文本描述。
2 统一视觉 Tokenizer
在 SBER-MoVQGAN 的基础上训练视觉 tokenizer,它可以将 4×512×512 的视频片段或 512×512 的图像编码成 4096 个离散 token。它的词表大小为 32,768。Emu3 的 tokenizer 在时间维度上实现了 4× 压缩,在空间维度上实现了 8×8 压缩,适用于任何时间和空间分辨率。
此外,基于 MoVQGAN 架构,在编码器和解码器模块中加入了两个具有三维卷积核的时间残差层,以增强视频 token 化能力。
3 架构
Emu3 保留了主流大语言模型(即 Llama-2)的网络架构。不同点在于,其扩展了 Llama-2 架构中的嵌入层,以容纳离散的视觉 token。网络中使用 RMSNorm 进行归一化。其还使用了 GQA 注意力机制、SwiGLU 激活函数和一维旋转位置编码(RoPE)等技术,并并去除了注意力模块中 QKV 层和线性投影层中的偏置。此外,还采用了 0.1 的 dropout 率来提高训练的稳定性,使用 QwenTokenizer 对多语言文本进行编码。详细架构配置表。
4 预训练
在预训练过程中,首先要定义多模态数据格式。与依赖外部文本编码器的扩散模型不同,Emu3 原生集成了用于生成图像 / 视频的文本条件信息。在视觉和语言的固有 token 中新增了五个特殊 token 来合并文本和视觉数据,以为训练过程创建类似文档的输入。生成的训练数据结构如下:
scss
[BOS] {caption text} [SOV] {meta text} [SOT] {vision tokens} [EOV] [EOS]
其中,[BOS] 和 [EOS] 是 QwenTokenizer 中的原始特殊 token 。
额外新增的特殊 token 包括:
-
[SOV] 表示视觉输入(包含图像和视频的 meta 信息部分)的开始
-
[SOT] 表示视觉 token 的开始
-
[EOV] 表示视觉输入的结束。
此外,特殊 token [EOL] 和 [EOF] 作为换行符和换帧符插入到了视觉 token 中。元文本包含图像的分辨率信息,视频则包括分辨率、帧率和持续时间,均以纯文本格式呈现。在构建理解数据时,Emu3 将部分数据中的 "caption text" 字段移至 [EOV] token 之后。
**训练目标:**由于 Emu3 中的视觉信号已完全转换为离散 token,因此只需使用标准的交叉熵损失进行下一个 token 预测任务的训练。为了防止视觉 token 在学习过程中占据主导地位,对与视觉 token 相关的损失加权 0.5。
**训练细节:**Emu3 模型在预训练期间利用非常长的上下文长度来处理视频数据。 为便于训练,采用了张量并行(TP)、上下文并行(CP)和数据并行(DP)相结合的方法。同时将文本和图像数据打包成最大上下文长度,以充分利用计算资源,同时需要确保在打包过程中不会分割完整的图像。
预训练过程分为两个阶段,第一阶段不使用视频数据,训练从零开始,文本和图像数据的上下文长度为 5,120;在第二阶段,引入视频数据,并使用 131,072 的上下文长度。
5 SFT 阶段
5.1 视觉生成
**质量微调:**在预训练阶段之后,对视觉生成任务进行后训练,以提高生成输出的质量。使用高质量数据进行质量微调。
**直接偏好优化:**Emu3 在自回归多模态生成任务中采用直接偏好优化(Direct Preference Optimization,DPO)技术,利用人类偏好数据来提高模型性能。
5.2 视觉语言理解
预训练模型经过两个阶段的视觉语言理解后训练过程:1) 图像到文本的训练以及 2) 指令调整。
**第一阶段:**将图像理解数据与纯语言数据整合在一起,而与视觉 token 相关的损失则在纯文本预测中被忽略。
**第二阶段:**利用 LLaVA 数据集中的约 320 万个问答对进行指令微调。低于 512 × 512 或高于 1024 × 1024 的图片将被调整到较低或较高的分辨率,同时保持相应的长宽比,而其他图片则保持原始分辨率。
开源地址
除了先前经 SFT 的 Chat 模型和生成模型外,智源研究院还在近日开源了 Emu3 生成和理解一体的预训练模型以及相应的 SFT 训练代码,以便后续研究和社区构建与集成。
项目页面:emu.baai.ac.cn/
模型:huggingface.co/collections...
未来方向
Emu3 为多模态 AI 指出了一条富有想象力的方向,有机会将 AI 基础设施收敛到单一技术路线上,为大规模的多模态训练和推理提供基础。统一的多模态世界模型未来有广泛的潜在应用,包括自动驾驶、机器人大脑、智能眼镜助手、多模态对话和推理等。预测下一个 token 有可能通往 AGI。
- 本文系量子位获授权刊载,观点仅为作者所有。
--- 完 ---