动态视觉分词统一图文表示,快手与北大合作提出基座模型 LaVIT 刷榜多模态理解与生成任务。
当前的大型语言模型如 GPT、LLaMA 等在自然语言处理领域取得了显著进展,能够理解和生成复杂的文本内容。但你是否想过,如果能够将大语言模型这强大的理解和生成能力迁移到多模态数据上,就可以轻松理解海量的图像与视频,并辅助创作图文并茂的内容。近期,来自快手和北大合作的最新多模态大模型 LaVIT, 正在让这个想法逐步变为现实。
-
论文标题:Unified Language-Vision Pretraining in LLM with Dynamic Discrete Visual Tokenization
-
论文地址:https://arxiv.org/abs/2309.04669
-
代码模型地址:https://github.com/jy0205/LaVIT
模型总览
LaVIT 作为一个新型的通用多模态基础模型,可以像语言模型那样,既能够理解也能生成视觉内容。LaVIT 继承了大语言模型成功的训练范式,即以自回归的方式预测下一个图像或文本 token。在训练完成后,其可以充当一个多模态通用接口,无需进一步的微调,就可以执行多模态理解和生成任务。例如,LaVIT 具有以下的能力:
实现高质量文本到图像的生成:LaVIT 能够根据给定的文本提示生成高质量、多种纵横比和高美感的图像。其图像生成能力与最先进的图像生成模型(如 Parti、SDXL 和 DALLE-3)相媲美。
根据多模态提示进行图像生成:由于在 LaVIT 中,图像和文本都被统一表示为离散化的 token,因此其可以接受多种模态组合(例如文本、图像 + 文本、图像 + 图像)作为提示,生成相应的图像,而无需进行任何微调。
理解图像内容并回答问题:在给定输入图像的情况下,LaVIT 能够阅读图像内容并理解其语义。例如,模型可以为输入的图像提供 caption 并回答相应的问题。
方法概览
LaVIT 的模型结构如下图所示,其整个优化过程包括两个阶段:
图:LaVIT 模型的整体架构
阶段 1: 动态视觉分词器
为了能够像自然语言一样理解和生成视觉内容,LaVIT 引入了一个设计良好的视觉分词器,用于将视觉内容(连续信号)转换为像文本一样的 token 序列,就像 LLM 能够理解的外语一样。作者认为,为了实现统一视觉和语言的建模,该视觉分词器 (Tokenizer) 应该具有以下两个特性:
-
离散化:视觉 token 应该被表示为像文本一样的离散化形式。这样对于两种模态采用统一的表示形式,有利于 LaVIT 在一个统一的自回归生成式训练框架下,使用相同的分类损失进行多模态建模优化。
-
动态化:与文本 token 不同的是,图像 patch 之间有着显著的相互依赖性,这使得从其他图像 patch 中推断另一个 patch 相对简单。因此,这种依赖性会降低原本 LLM 的 next-token prediction 优化目标的有效性。LaVIT 提出通过使用 token merging 来降低视觉 patch 之间的冗余性,其根据不同图像语义复杂度的不同,编码出动态的视觉 token 数量。这样对于复杂程度不同的图像,采用动态的 token 编码也进一步提高了预训练的效率,避免了冗余的 token 计算。
下图是 LaVIT 所提出的视觉分词器结构:
图:(a) 动态视觉 token 生成器 (b) token 合并器
该动态视觉分词器包括 token 选择器和 token 合并器。如图所示, token 选择器用来选择最具信息的图像区块,而 token 合并器则将那些 uninformative 的视觉块的信息压缩到保留下的 token 上,实现对冗余 token 的 merging。整个动态视觉分词器则通过最大限度地重构输入图像的语义进行训练。
Token 选择器
Token 选择器接收 N 个图像区块级的特征作为输入,其目标是评估每个图像区块的重要性并选择信息量最高的区块,以充分代表整个图像的语义。为实现这一目标,采用轻量级模块,由多个 MLP 层组成,用于预测分布 π。通过从分布 π 中采样,生成一个二进制决策 mask,用于指示是否保留相应的图像区块。
Token 合并器
Token 合并器据生成的决策掩码,将 N 个图像区块划分为保留 X_r 和舍弃 X_d 两组。与直接丢弃 X_d 不同,token 合并器可以最大限度地保留输入图像的详细语义。token 合并器由 L 个堆叠的块组成,每个块包括因果自注意力层、交叉注意力层和前馈层。因果自注意力层中, X_r 中的每个 token 只关注其前面的 token,以确保与 LLM 中的文本 token 形式一致。与双向自注意相比,这种策略表现更好。交叉注意力层将保留的 token X_r 作为 query,并根据它们在语义上的相似性合并 X_d 中的 token。
阶段 2: 统一的生成式预训练
经过视觉分词器处理后的视觉 token 与文本 token 相连接形成多模态序列作为训练时的输入。为了区分两种模态,作者在图像 token 序列的开头和结尾插入了特殊 token :[IMG] 和 [/IMG],用于表示视觉内容的开始和结束。为了能够生成文本和图像,LaVIT 采用两种图文连接形式:[image, text] 和 [text; image]。
对于这些多模态输入序列,LaVIT 采用统一的、自回归方式来直接最大化每个多模态序列的似然性进行预训练。这样在表示空间和训练方式上的完全统一,有助于 LLM 更好地学习多模态交互和对齐。在预训练完成后,LaVIT 具有感知图像的能力,可以像处理文本一样理解和生成图像。
实验
零样本多模态理解
LaVIT 在图像字幕生成(NoCaps、Flickr30k)和视觉问答(VQAv2、OKVQA、GQA、VizWiz)等零样本多模态理解任务上取得了领先的性能。
表 1 零样本的多模态理解任务评估
零样本多模态生成
在这个实验中,由于所提出的视觉 tokenizer 能够将图像表示为离散化 token,LaVIT 具有通过自回归生成类似文本的视觉 token 来合成图像的能力。作者对模型进行了零样本文本条件下的图像合成性能的定量评估,比较结果如表 2 所示。
表 2 不同模型的零样本文本到图像生成性能
从表中可以看出,LaVIT 的表现优于所有其他多模态语言模型。与 Emu 相比,LaVIT 在更小的 LLM 模型上取得了进一步改进,展现了出色的视觉 – 语言对齐能力。此外,LaVIT 在使用更少的训练数据的情况下,实现了与最先进的文本到图像专家 Parti 可比的性能。
多模态提示图像生成
LaVIT 能够在无需进行任何微调的情况下,无缝地接受多种模态组合作为提示,生成相应的图像,而无需进行任何微调。LaVIT 生成的图像能够准确反映给定多模态提示的风格和语义。而且它可以通过输入的多模态提示修改原始输入图像。在没有额外微调的下游数据的情况下,传统的图像生成模型如 Stable Diffusion 无法达到这种能力。
多模态图像生成结果的示例
定性分析
如下图所示,LaVIT 的动态分词器可以根据图像内容动态选择最具信息量的图像块,学习到的代码本可以产生具有高层语义的视觉编码。
动态视觉分词器(左)和学习到的 codebook(右)的可视化
总结
LaVIT 的出现为多模态任务的处理又提供了一种创新范式,通过使用动态视觉分词器将视觉和语言表示为统一的离散 token 表示,继承了 LLM 成功的自回归生成学习范式。通过在统一生成目标下进行优化,LaVIT 可以将图像视为一种外语,像文本一样理解和生成它们。这一方法的成功为未来多模态研究的发展方向提供了新的启示,利用 LLM 强大的推理能力,实现更智能、更全面的多模态理解和生成打开新的可能性。