大型多模态模型(LMMs):AI 世界的巨大飞跃

大型多模态模型(LMMs):AI 世界的巨大飞跃

探索 CLIP、Flamingo 等大型多模态模型(LMMs)的变革性影响,它们能够处理并生成文本、图像等多种数据模态。了解前沿研究方向,包括整合新模态、提升训练效率以及生成多模态输出,这些技术有望彻底改变行业并重塑用户与 AI 的交互方式。

背景

长期以来,机器学习模型只运行在单一数据模态下:文本用于翻译和语言建模,图像用于目标检测和分类,音频用于语音识别。然而,人类智能并不仅限于单一模态。我们阅读和书写文本,解读图像和视频,听音乐放松,依靠声音察觉危险。为了在现实世界中有效运作,AI 也必须能够处理多模态数据。

认识到这一点,OpenAI 强调将图像等其他模态融入大型语言模型(LLMs)的重要性,这标志着 AI 研究和发展的一个关键前沿。这种额外模态的整合将 LLMs 转变为大型多模态模型(LMMs)。在过去一年中,各大研究实验室相继推出了大量新的 LMMs,例如 DeepMind 的 Flamingo、Salesforce 的 BLIP、微软的 KOSMOS-1、谷歌的 PaLM-E 以及腾讯的 Macaw-LLM。甚至像 ChatGPT 和 Gemini 这样的聊天机器人也属于 LMMs 的范畴。

然而,并非所有多模态系统都是 LMMs。像 Midjourney、Stable Diffusion 和 DALL-E 这样的模型可以处理多种模态,但缺少语言模型组件。多模态系统可以涵盖多种场景:输入和输出属于不同模态(例如文本到图像、图像到文本)、输入是多模态的(例如同时处理文本和图像)、或者输出是多模态的(例如同时生成文本和图像)。

什么是多模态

多模态可以指以下一种或多种情况:

  1. 输入和输出属于不同的模态(例如文本到图像、图像到文本)
  2. 输入是多模态的(例如能够同时处理文本和图像的系统)
  3. 输出是多模态的(例如能够同时生成文本和图像的系统)

为什么多模态很重要

多模态在许多用例中不可或缺,尤其是在处理混合数据模态的行业中,包括医疗、机器人、电子商务、零售、游戏等。

实际上,整合来自多种模态的数据可以显著提升模型性能。一个能够同时从文本和图像中学习的模型自然会优于只能学习单一模态的模型。

多模态系统提供了更灵活的界面,使用户能够根据偏好或场景以多种方式与其交互。想象一下,可以通过打字、说话或直接将相机对准某个物体来提问。

数据模态

不同的数据模态包括文本、图像、音频、表格数据等。每种模态都可以被翻译或近似为另一种形式:

  • 音频可以被描绘为图像,例如梅尔频谱图。
  • 语音可以被转录为文本,但这种转换可能会丢失音量、语调、停顿等细微信息。
  • 图像可以转换为向量,然后可以展平并表示为文本令牌序列。
  • 视频由图像序列和音频组成。然而,当前的 ML 模型通常仅将视频视为图像序列,忽略了声音的重要性。这种限制值得注意,因为声音对视频体验贡献显著(88% 的 TikTok 用户认为声音重要)。
  • 文本可以通过拍照的方式捕获为图像。
  • 数据表可以转换为图表,而图表本质上是图像。

以下是 novita.ai 提供的各种模态:

novita.ai 是一个一站式平台,为您提供无限创意,可访问 100 多个 API。从图像生成和语言处理到音频增强和视频处理,按量计费价格低廉,让您在构建自己的产品时免去 GPU 维护的烦恼。免费试用

多模态的任务

要理解多模态系统,考察它们所解决的任务会很有帮助。这些任务千差万别,其组织方式多种多样。在文献中,视觉-语言任务通常分为两大类:生成类和视觉-语言理解(VLU),后者包括不涉及生成的任务。但需要注意的是,这两组之间的界限有些模糊,因为生成响应的能力本身就包含理解。

生成

在生成任务中,输出可以是单模态(如文本、图像或 3D 渲染)或多模态。虽然单模态输出在当前模型中很常见,但多模态输出的开发仍在进行中。我们将在本文末尾深入探讨多模态输出。

图像生成(文本到图像合成)

这类任务很直接。示例:Dall-E、Stable Diffusion 和 Midjourney。

文本生成

一个常见的文本生成任务是视觉问答(VQA),模型同时获得文本和图像以推导上下文。这使得用户可以使用相机提问,例如:“我的车出了什么问题?” 或 “如何准备这道菜?”。

类似地,图像描述是另一个常见应用。它可以集成到基于文本的图像检索系统中,供拥有海量图像库(包括产品图片、图表、设计、团队照片、宣传材料等)的组织使用。通过自动生成标题和元数据,AI 简化了在这些集合中定位特定图像的过程。

视觉-语言理解

让我们重点关注两类任务:分类和基于文本的图像检索(TBIR)。

分类

分类模型只能输出预定义类别列表中的结果。这适用于需要从有限数量的可能结果中进行判断的场景。例如,在光学字符识别(OCR)系统中,任务只是预测一个视觉对象是否对应于某个识别字符,如数字或字母。

与分类密切相关的任务是图像到文本的检索:给定一张图像和一组预定义的文本,目标是找出最可能与图像匹配的文本。该应用对于产品图像搜索特别有用,例如根据给定图片检索产品评论。

使用 GPT-4V 进行文档处理。模型的错误已用红色标出。

基于文本的图像检索(图像搜索)

图像搜索不仅对搜索引擎重要,对希望筛选内部图像和文档的企业也同样重要。有些人将基于文本的图像检索称为“文本到图像检索”。

基于文本的图像检索有多种方法。其中两种值得注意的方法包括:

  1. 为每张图像生成标题和元数据,可以是手动或自动(如文本生成中的图像描述)。给定一个文本查询,目标是找出标题或元数据与查询最匹配的图像。
  2. 训练一个图像和文本的联合嵌入空间。这种方法中,文本查询生成一个嵌入,目标是找到嵌入与查询嵌入最相似的图像。

后一种方法提供了更大的灵活性,预计会得到更广泛的采用。它依赖于建立强大的视觉和语言联合嵌入空间,类似于 OpenAI 的 CLIP 所建立的。

多模态训练的关键组件

从广义上讲,多模态系统包括以下组件:

  1. 每种数据模态的编码器,负责生成特定于该模态的嵌入。
  2. 将来自不同模态的嵌入对齐到统一多模态嵌入空间的机制。
  3. 对于生成模型,需要一个语言模型来生成文本响应。由于输入可能同时包含文本和视觉信息,需要创新技术使语言模型能够根据视觉信息(而不仅仅是文本)生成响应。

理想情况下,这些组件应尽可能预先训练并可重复使用,以提高效率和通用性。

现有多模态系统介绍

选择本文重点介绍哪些多模态系统颇具挑战,因为可选的优秀系统太多了。最终,我决定聚焦两个模型:CLIP(2021)和 Flamingo(2022)。这些选择基于它们的重要性以及公开信息的可用性和清晰度。

CLIP 是第一个能够通过零样本和少样本学习技术泛化到多个图像分类任务的模型。另一方面,虽然 Flamingo 不是第一个能够生成开放式响应的大型多模态模型(Salesforce 的 BLIP 提前了 3 个月),但其令人印象深刻的表现使许多人认为它是多模态领域的 GPT-3 时刻。

尽管这些模型相对较旧,但 CLIP 和 Flamingo 使用的技术至今仍然相关。它们是理解快速发展的多模态领域中更新模型的基础支柱,而该领域不断涌现出众多创新思想。

CLIP:对比语言-图像预训练

CLIP 的主要突破在于它能够将不同模态的数据——文本和图像——映射到一个共享的嵌入空间。这个共享的多模态嵌入空间极大地简化了文本到图像和图像到文本等任务。

此外,训练这个多模态嵌入空间使得 CLIP 内部产生了一个强大的图像编码器。因此,CLIP 在各种图像分类任务上展现出了具有竞争力的零样本性能。这个图像编码器的强大之处也延伸到了其他应用,包括图像生成、视觉问答和基于文本的图像检索。值得注意的是,Flamingo 和 LLaVA 都使用 CLIP 作为它们的图像编码器,而 DALL-E 则使用 CLIP 对生成的图像进行重新排名。然而,尚不确定 GPT-4V 是否在其架构中整合了 CLIP。

CLIP 利用自然语言监督和对比学习技术,使模型能够扩展数据规模并提高训练效率。

CLIP 的高层架构

在 CLIP 的架构中,编码器和投影矩阵都是从头开始联合训练的。训练的目标是最大化正确(图像,文本)对的相似度分数,同时最小化错误配对的相似度分数,这种技术称为对比学习。

CLIP 的应用

分类

目前,CLIP 作为许多图像分类任务的强大开箱即用基线,既可直接使用原始形式,也可针对特定应用进行微调。

基于文本的图像检索

由于 CLIP 的训练过程在概念上与图像到文本检索和文本到图像检索有相似之处,因此它在图像检索或搜索等广泛应用中具有巨大潜力。然而,其在图像检索任务中的整体性能相对于当前最佳水平明显较低。

已有一些工作尝试利用 CLIP 进行图像检索。例如,clip-retrieval 包的工作原理如下:

  1. 为所有图像生成 CLIP 嵌入,并将其存储在向量数据库中。
  2. 为每个文本查询生成一个 CLIP 嵌入。
  3. 查询向量数据库,找出所有嵌入与文本查询嵌入高度相似的图像。

图像生成

CLIP 的联合图像-文本嵌入为图像生成任务提供了有价值的支持。例如,DALL-E(2021)使用 CLIP 对基于给定文本提示生成的大量视觉结果进行重新排名,并向用户呈现排名最高的结果。

2022 年,OpenAI 推出了 unCLIP,这是一个以 CLIP 潜变量为条件的文本到图像合成模型。它包含两个主要部分:

  1. CLIP 被训练并保持固定。预训练的 CLIP 模型可以在同一个嵌入空间中为文本和图像生成嵌入。
  2. 在图像生成过程中,执行两个步骤:a. 使用 CLIP 为给定的文本生成嵌入。b. 使用扩散解码器在这些嵌入的条件下生成图像。

文本生成

CLIP 的作者确实探索了创建文本生成模型。他们实验的一个变体称为 LM RN50。然而,虽然该模型可以生成文本响应,但在所有评估的视觉-语言理解任务中,其性能始终比表现最好的 CLIP 模型差约 10%。

虽然 CLIP 本身今天并不直接用于文本生成,但其图像编码器经常作为能够生成文本的大型多模态模型(LMMs)的基础。

Flamingo:LMMs 的曙光

与 CLIP 不同,Flamingo 能够生成文本响应。简而言之,Flamingo 可以看作是 CLIP 与语言模型的结合,并加入了额外的技术,使语言模型能够根据视觉和文本输入生成文本令牌。

Flamingo 可以根据文本和图像生成文本响应

Flamingo 的高层架构

Flamingo 可以分为两个主要部分:

  1. 视觉编码器:这部分涉及使用对比学习训练一个类似 CLIP 的模型。之后,模型的文本编码器被丢弃,视觉编码器被冻结并集成到主模型中。
  2. 语言模型:Flamingo 对 Chinchilla 进行微调,使其能够根据视觉和文本输入生成文本令牌。这个过程使用语言模型损失,并加入两个额外组件:Perceiver Resampler 和 GATED XATTN-DENSE 层。

数据集

Flamingo 使用了 4 个数据集:2 个(图像,文本)配对数据集、1 个(视频,文本)配对数据集和 1 个交错图像和文本数据集。

Flamingo 的语言模型

在 Flamingo 中,Chinchilla 作为语言模型,特别关注冻结了 9 个预训练的 Chinchilla LM 层。与仅根据前面的文本令牌预测下一个文本令牌的传统语言模型不同,

Flamingo 通过同时考虑前面的文本和视觉令牌来预测下一个文本令牌。这种根据文本和视觉输入生成文本的能力是通过集成 Perceiver Resampler 和 GATED XATTN-DENSE 层实现的。

CLIP 与 Flamingo 对比

LMMs 的未来方向

CLIP 已经问世 3 年,Flamingo 也快两年了。虽然它们的架构为理解大型多模态模型(LMMs)的构建提供了坚实基础,但该领域已发生了许多进展。

多模态领域的几个方向特别令我感兴趣,尽管这个列表绝非详尽无遗。受限于本文篇幅以及我对该主题的持续探索,它并不完整。如果您有任何见解或建议,我将不胜感激!

纳入更多数据模态

在多模态系统领域,目前的焦点主要围绕文本和图像。然而,需要能够整合视频、音乐、3D 数据等其他模态的系统只是时间问题。拥有一个容纳所有数据模态的统一嵌入空间的前景确实令人兴奋。

该领域一些值得注意的工作包括:

  1. ULIP:学习语言、图像和点云的统一表示以进行 3D 理解(Xue 等人,2022 年 12 月)
  2. ImageBind:一个绑定所有模态的嵌入空间(Girdhar 等人,2023 年 5 月)
  3. NExT-GPT:任意到任意多模态大型语言模型(Wu 等人,2023 年 9 月)

此外,Jeff Dean 雄心勃勃的 Pathways 项目(2021)旨在“实现同时涵盖视觉、听觉和语言理解的多模态模型”。

训练更高效的多模态模型

虽然 Flamingo 使用了来自 Chinchilla 的 9 个预训练和冻结层,但它需要从头开始预训练其视觉编码器、Perceiver Resampler 和 GATED XATTN-DENSE 层。从头训练这些模块可能计算量很大。因此,许多近期的工作都集中在开发更高效的方法,以减少从头训练来启动多模态系统。

其中一些工作显示出令人鼓舞的结果。例如,BLIP-2 在零样本 VQA-v2 上以 54 倍少的可训练参数超过了 Flamingo-80B 达 8.7%。

该领域的显著工作包括:

  1. BLIP-2:使用冻结图像编码器和大型语言模型引导语言-图像预训练
  2. [LAVIN] 廉价而快速:面向大型语言模型的高效视觉-语言指令微调
  3. LLaMA-Adapter V2:参数高效的视觉指令模型

下图来自 Chunyuan Li 在 CVPR 2023 上的大型多模态模型教程,该教程内容全面,强烈推荐。

生成多模态输出

随着能够处理多模态输入的模型越来越普遍,多模态输出能力的发展仍然滞后。许多实际场景需要多模态输出。例如,当向 ChatGPT 询问 RLHF 的解释时,有效的回复可能包括图表、方程式甚至基本动画。

要生成多模态输出,模型必须首先生成一个共享的中间输出。一个关键的考虑因素是中间输出的性质。

一种方法是将中间输出设为文本,然后文本指导其他动作的生成或合成。

例如,CM3(Aghajanyan 等人,2022)生成 HTML 标记,可以编译成不仅包含文本还包含格式、链接和图像的网页。GPT-4V 生成 LaTeX 代码,然后可以重构为数据表。

结论

从单模态到多模态 AI 系统的演变标志着人工智能研究和发展的重大进步。像 CLIP 和 Flamingo 这样的模型为大型多模态模型(LMMs)铺平了道路,使其能够处理并生成文本、图像等多种数据模态。随着该领域的持续进步,研究人员正在探索新的前沿,包括纳入视频、3D 数据等额外模态,提升训练效率,以及开发生成多模态输出的方法。这些进步对于彻底改变各个行业以及增强用户与 AI 系统的交互具有巨大潜力。

novita.ai 是一个一站式平台,为您提供无限创意,可访问 100 多个 API。从图像生成和语言处理到音频增强和视频处理,按量计费价格低廉,让您在构建自己的产品时免去 GPU 维护的烦恼。免费试用。

推荐阅读

LLM 与 GPT 的区别是什么

2024 年 LLM 排行榜预测揭秘

Novita AI LLM 推理引擎:最大吞吐量和最便宜的推理方案