最近一段时间以来,GPT 和 LLaMA 等大型语言模型 (LLM) 已经风靡全球。
另一个关注度同样很高的问题是,如果想要构建大型视觉模型 (LVM) ,我们需要的是什么?
LLaVA 等视觉语言模型所提供的思路很有趣,也值得探索,但根据动物界的规律,我们已经知道视觉能力和语言能力二者并不相关。比如许多实验都表明,非人类灵长类动物的视觉世界与人类的视觉世界非常相似,尽管它们和人类的语言体系「两模两样」。
在最近一篇论文中,UC 伯克利和约翰霍普金斯大学的研究者探讨了另一个问题的答案 —— 我们仅靠像素本身能走多远?
- 论文地址:https://arxiv.org/abs/2312.00785
- 项目主页:https://yutongbai.com/lvm.html
研究者试图在 LVM 中效仿的 LLM 的关键特征:1)根据数据的规模增长进行扩展,2)通过提示(上下文学习)灵活地指定任务。
他们指定了三个主要组件,即数据、架构和损失函数。
在数据上,研究者想要利用视觉数据中显著的多样性。首先只是未标注的原始图像和视频,然后利用过去几十年产生的各种标注视觉数据源(包括语义分割、深度重建、关键点、多视图 3D 对象等)。他们定义了一种通用格式 —— 「视觉句子」(visual sentence),用它来表征这些不同的注释,而不需要任何像素以外的元知识。训练集的总大小为 16.4 亿图像 / 帧。
在架构上,研究者使用大型 transformer 架构(30 亿参数),在表示为 token 序列的视觉数据上进行训练,并使用学得的 tokenizer 将每个图像映射到 256 个矢量量化的 token 串。
在损失函数上,研究者从自然语言社区汲取灵感,即掩码 token 建模已经「让位给了」序列自回归预测方法。一旦图像、视频、标注图像都可以表示为序列,则训练的模型可以在预测下一个 token 时最小化交叉熵损失。
通过这一极其简单的设计,研究者展示了如下一些值得注意的行为:
- 随着模型尺寸和数据大小的增加,模型会出现适当的扩展行为;
- 现在很多不同的视觉任务可以通过在测试时设计合适的 prompt 来解决。虽然不像定制化、专门训练的模型那样获得高性能的结果, 但单一视觉模型能够解决如此多的任务这一事实非常令人鼓舞;
- 大量无监督数据对不同标准视觉任务的性能有着显著的助益;
- 在处理分布外数据和执行新的任务时,出现了通用视觉推理能力存在的迹象,但仍需进一步研究。
论文共同一作、约翰霍普金斯大学 CS 四年级博士生、伯克利访问博士生 Yutong Bai 发推宣传了她们的工作。
在论文作者中,后三位都是 UC 伯克利在 CV 领域的资深学者。Trevor Darrell 教授是伯克利人工智能研究实验室 BAIR 创始联合主任、Jitendra Malik 教授获得过 2019 年 IEEE 计算机先驱奖、 Alexei A. Efros 教授尤以最近邻研究而闻名。
方法介绍
本文采用两阶段方法:1)训练一个大型视觉 tokenizer(对单个图像进行操作),可以将每个图像转换为一系列视觉 token;2)在视觉句子上训练自回归 transformer 模型,每个句子都表示为一系列 token。方法如图 2 所示:
图像 Token 化
为了将 Transformer 模型应用于图像,典型的操作包括:将图像划分为 patch,并将其视为序列;或者使用预训练的图像 tokenizer,例如 VQVAE 或 VQGAN,将图像特征聚集到离散 token 网格中。本文采用后一种方法,即用 VQGAN 模型生成语义 token。
LVM 框架包括编码和解码机制,还具有量化层,其中编码器和解码器是用卷积层构建的。编码器配备了多个下采样模块来收缩输入的空间维度,而解码器配备了一系列等效的上采样模块以将图像恢复到其初始大小。对于给定的图像,VQGAN tokenizer 会生成 256 个离散 token。
实现细节。本文采用 Chang 等人提出的 VQGAN 架构,并遵循 Chang 等人使用的设置,在此设置下,下采样因子 f=16,码本大小 8192。这意味着对于大小为 256 × 256 的图像,VQGAN tokenizer 会生成 16 × 16 = 256 个 token,其中每个 token 可以采用 8192 个不同的值。此外,本文在 LAION 5B 数据集的 1.5B 子集上训练 tokenizer。
视觉句子序列建模
使用 VQGAN 将图像转换为离散 token 后,本文通过将多个图像中的离散 token 连接成一维序列,并将视觉句子视为统一序列。重要的是,所有视觉句子都没有进行特殊处理 —— 即不使用任何特殊的 token 来指示特定的任务或格式。
实现细节。在将视觉句子中的每个图像 token 化为 256 个 token 后,本文将它们连接起来形成一个 1D token 序列。在视觉 token 序列上,本文的 Transformer 模型实际上与自回归语言模型相同,因此他们采用 LLaMA 的 Transformer 架构。
本文使用的上下文长度为 4096 个 token,与语言模型类似,本文在每个视觉句子的开头添加一个 [BOS](begin of sentence)token,在末尾添加一个 [EOS](end of sentence)token,并在训练期间使用序列拼接提高效率。
本文在整个 UVDv1 数据集(4200 亿个 token)上训练模型,总共训练了 4 个具有不同参数数量的模型:3 亿、6 亿、10 亿和 30 亿。
实验结果
该研究进行实验评估了模型的扩展能力,以及理解和回答各种任务的能力。
扩展
如下图 3 所示,该研究首先检查了不同大小的 LVM 的训练损失。
如下图 4 所示,较大的模型在所有任务中复杂度都是较低的,这表明模型的整体性能可以迁移到一系列下游任务上。
如下图 5 所示,每个数据组件对下游任务都有重要作用。LVM 不仅会受益于更大的数据,而且还随着数据集的多样性而改进。
序列 prompt
为了测试 LVM 对各种 prompt 的理解能力,该研究首先在序列推理任务上对 LVM 进行评估实验。其中,prompt 非常简单:向模型提供 7 张图像的序列,要求它预测下一张图像,实验结果如下图 6 所示:
该研究还将给定类别的项目列表视为一个序列,让 LVM 预测同一类的图像,实验结果如下图 15 所示:
那么,需要多少上下文(context)才能准确预测后续帧?
该研究在给出不同长度(1 到 15 帧)的上下文 prompt 情况下,评估了模型的帧生成困惑度,结果如下图 7 所示,困惑度从 1 帧到 11 帧有明显改善,之后趋于稳定(62.1 → 48.4)。
Analogy Prompt
该研究还评估了更复杂的 prompt 结构 ——Analogy Prompt,来测试 LVM 的高级解释能力。
下图 8 显示了对许多任务进行 Analogy Prompt 的定性结果:
与视觉 Prompting 的比较如下所示, 序列 LVM 在几乎所有任务上都优于以前的方法。
合成任务。图 9 展示了使用单个 prompt 组合多个任务的结果。
其他 prompt
研究者试图通过向模型提供它以往未见过的各种 prompt,来观察模型的扩展能力到底怎样。下图 10 展示了一些运行良好的此类 prompt。
下图 11 展示了一些用文字难以描述的 prompt,这些任务上 LVM 最终可能会胜过 LLM。
图 13 显示了在非语言人类 IQ 测试中发现的典型视觉推理问题的初步定性结果。
阅读原文,了解更多细节。