引言

在人工智能快速发展的格局中,视觉语言模型 (Vision-Language Models, VLMs) 已经变得无处不在。像 GPT-4o、Gemini 1.5 Pro 和 Claude 3.5 Sonnet 这样的模型能够以惊人的准确度描述复杂的图像、解读图表并回答关于视觉世界的问题。然而,这些专有模型就像是“围墙花园”。我们可以通过 API 与它们交互,但我们并不确切知道它们是如何构建的,也不清楚它们是使用什么数据进行训练的。

这种透明度的缺失为开源社区制造了巨大的障碍。为了参与竞争,许多“开放”模型依赖于一种称为蒸馏 (distillation) 的技术。本质上,研究人员将图像输入到专有模型 (如 GPT-4V) 中,要求其生成详细的描述,然后使用这些合成数据来训练自己较小的模型。虽然这种方法有效,但它创造了一个依赖循环: 开放模型仅仅是专有模型的影子,它们学会了模仿输出,而不是从基础数据中学习。结果就是,科学界一直缺少拼图中至关重要的一块: 如果不使用蒸馏技术,我们该如何仅使用开放数据从零开始构建一个最先进的 VLM?

这正是 MolmoPixMo 登场的地方。

在艾伦人工智能研究所 (AI2) 的一篇新论文中,研究人员介绍了 Molmo 系列开放 VLM,以及也许更重要的——一个名为 PixMo 的海量开放数据集,该数据集是在没有专有模型帮助的情况下收集的。这篇博客文章将深入探讨他们是如何实现这一目标的,他们使用的创新数据收集技术,以及使 Molmo 能够超越领先专有模型的架构选择。

图 11: VLM 开放性比较。Molmo 因提供开放权重、数据和代码而脱颖而出,打破了封闭或蒸馏模型的趋势。

核心问题: 蒸馏陷阱

要理解 Molmo 的重要性,我们首先需要了解现状。如上面的比较图表所示,大多数顶尖模型都是完全封闭的。现存的“开放权重”模型通常依赖于“蒸馏”数据。

蒸馏类似于一个学生抄班上最聪明孩子的作业。这个学生 (开放模型) 可能会通过模仿答案取得好成绩 (基准测试) ,但他们不一定学会了基本原理。如果那个最聪明的孩子 (专有模型) 产生了幻觉或带有偏见,这个学生也会照单全收。

Molmo背后的研究人员旨在证明,高效收集的高质量人类标注数据,能够胜过从专有巨头那里蒸馏出的合成数据。

第一部分: PixMo —— 数据是差异化关键

论文指出,高性能 VLM 的秘诀不一定是某种神奇的新架构,而是高质量的多模态数据。他们推出了 PixMo (Pixels for Molmo,意为“用于 Molmo 的像素”) ,这是一套旨在教授模型不同视觉技能的数据集。

图 1: PixMo 数据集概览 (左) 及其在 Molmo 中解锁的能力 (右) 。

团队主要关注训练的两个主要阶段: 预训练 (Pre-training,教模型“看”和描述) 和微调 (Fine-tuning,教模型遵循指令并进行交互) 。

1. PixMo-Cap: 用于密集描述的“语音”技巧

在预训练阶段,VLM 需要数百万个图像-文本对。标准做法是抓取网络上的图像及其替代文本 (alt-text) 。然而,网络替代文本通常很短、充满噪音或不相关。

研究人员需要“密集描述 (dense captions) ”——即描述图像每一个细节的段落。但是,要求人工标注者输入 200 个单词的描述既缓慢又昂贵,而且极其消耗脑力。标注者经常会感到厌倦,只写简短的、仅关注显著特征的描述。

解决方案: 他们让标注者说话而不是打字。 标注者对自己描述图像的过程进行 60 到 90 秒的录音。说话比打字快,而且自然而然地会产生更多描述性的、意识流般的细节。这些音频录音被转录,然后由仅处理语言的 LLM (这是允许的,因为它不是 VLM) 进行润色,从而创建最终的描述。

图 12: PixMo-Cap 示例。注意文本中极高的细节水平,这是通过转录口述描述实现的。

这种方法产生了 PixMo-Cap , 这是一个包含 712,000 张图像及其高度详细描述的数据集,且是在不依赖 GPT-4V 的情况下高效收集的。

2. PixMo-AskModelAnything: 人在回路的问答

为了进行微调,模型需要学会回答问题。研究人员开发了一个流程,让众包人员与纯语言 LLM 协同工作。

  1. 标注者选择一张图片并提出一个问题。
  2. 系统将 OCR (图像中识别出的文本) 和密集描述提供给纯文本 LLM。
  3. LLM 建议一个答案。
  4. 人类接受、拒绝或编辑该答案。

这创建了既具对话性又准确的高质量问答 (QA) 对。

图 13: PixMo-AskModelAnything 示例。模型学会回答关于视觉内容的具体问题。

3. PixMo-Points: 将语言“接地”于像素

这就这篇论文最令人兴奋的贡献之一是它对指向 (pointing) 的关注。大多数目标检测数据集使用边界框 (在物体周围画一个矩形) 。绘制边界框很慢。

解决方案: 只需要点击。 研究人员收集了 PixMo-Points , 标注者只需点击文本中描述的物体。这要快得多,使他们能够收集 230 万个标注。

图 34: 指向计数的分布。该数据集涵盖了极大范围的计数场景。

为什么这很重要?它允许模型将其答案“接地 (ground) ”。如果你问,“这张照片里有多少人?”,模型不只是猜测一个数字;它会在内部“指向”每个人来进行计数。

图 14: PixMo-Points 示例。粉红色的点代表模型定位提示中提到的特定物体的能力。

4. 合成技能

最后,为了覆盖人类标注太难或太稀缺的领域,他们使用代码渲染生成了合成数据。这包括:

  • PixMo-Clocks: 82.6 万张时钟图像,用于教授读取时间。
  • PixMo-Docs: 渲染的图表、表格和文档,用于教授 OCR 和数据分析。

图 17: 合成时钟数据。一种简单但有效的教授特定视觉技能的方法。

第二部分: Molmo 架构

虽然数据是主角,但架构 (模型的构建方式) 是引擎。Molmo 遵循了一种标准但经过高度优化的设计。

图 2: Molmo 架构。视觉编码器处理图像,连接器进行适配,LLM 生成文本。

该架构由四个主要部分组成:

  1. 预处理器 (Pre-processor) : 处理图像裁剪和调整大小。
  2. 视觉编码器 (Vision Encoder) : 一个视觉 Transformer (ViT),将图像转化为数学特征。他们使用了 OpenAI 的 CLIP ViT-L/14 (也尝试了像 MetaCLIP 这样的完全开放编码器) 。
  3. 连接器 (Connector) : 一个 MLP (多层感知机) ,将视觉特征投影到语言模型的空间中。
  4. LLM: 一个仅解码器的语言模型 (如 Qwen2 或 OLMo) ,用于生成文本响应。

创新点: 多尺度与重叠裁剪

VLM 的一个主要挑战是分辨率。如果你将一张高分辨率的文档照片缩小到 \(336 \times 336\) 像素,文本将变得不可读。为了解决这个问题,研究人员通常将图像裁剪成瓦片 (tiles) 。

然而,标准瓦片化有一个缺陷: 上下文碎片化 (context fragmentation) 。 如果一个单词或物体被裁剪线完美地从中间切开,模型可能无法识别它,因为分开的瓦片在边界处无法有效地“交流”。

解决方案: 重叠裁剪 (Overlapping Crops) 。 Molmo 使用一种多裁剪策略,其中瓦片之间有轻微的重叠。这确保了图像中的每个像素都至少出现在一个具有足够周围上下文的裁剪中。

图 3: 重叠裁剪 (右) 与非重叠裁剪 (左) 。注意左图中自行车车架是如何被切断的,但在右图的上下文中是完全可见的。

如下图所示,图像被转换为一系列令牌 (tokens) 。LLM 读取图像的“补丁 (patches) ”,就像它读取句子中的单词一样。

图 5: 令牌化过程。图像被分割成高分辨率裁剪图和低分辨率概览图,所有这些都被展平为供 LLM 使用的序列。

第三部分: 训练流程

与许多竞争对手相比,Molmo 的训练过程简单得令人耳目一新。它避免了复杂的多阶段流程,采用了两个独特的阶段。

第一阶段: 预训练 (学习“看”)

模型在 PixMo-Cap 数据集 (基于语音的密集描述) 上进行训练。这里的目标很简单: 给定一张图像,生成描述。

“长度提示 (Length Hint) ”创新: 研究人员发现,仅仅训练描述是不够的。有时你需要简短的标题;有时你需要一篇小说。为了让模型具有可控性,他们在训练提示中添加了“长度提示”。他们大致告诉模型描述应该是多少个字符。

图 7: 带有长度提示的精确率与召回率。通过调整提示,模型可以在简洁性 (高精确率) 和详尽性 (高召回率) 之间进行权衡。

这个简单的小技巧可以防止模型在不该啰嗦的时候啰嗦,或者在需要细节的时候过于简略。

第二阶段: 指令微调 (学习行为)

预训练后,模型理解了图像,但不一定乐于助人。微调训练它遵循指令 (“数苹果”、“阅读这个图表”) 。

他们将 PixMo 数据集与已有的学术数据集混合。下图展示了数据混合比例。请注意,与传统学术数据集 (紫色) 相比,他们严重依赖新的 PixMo 数据 (绿色和蓝色部分) 。

图 4: 微调数据混合。PixMo 数据集构成了训练“饮食”的主体。

实验与结果

那么,使用开放数据从零构建真的有效吗?结果给出了响亮的“是”。

学术基准

研究人员在 11 个不同的基准上评估了 Molmo,范围从文档阅读 (DocVQA) 到通用视觉问答 (VQA v2.0) 和数学 (MathVista) 。

排行榜的关键结论:

  • Molmo-72B (基于 Qwen2-72B) 优于 LLaVA OneVision 和 Qwen2-VL 等开放权重竞争对手。
  • 更令人印象深刻的是,它在平均学术得分上超过了 Claude 3.5 SonnetGemini 1.5 Pro 等专有巨头。
  • 它仅次于 GPT-4o,有效地缩小了开放 AI 与封闭 AI 之间的差距。

人类评估

学术基准可能会被刷分。终极测试是人类偏好。该团队进行了一项“Chatbot Arena (聊天机器人竞技场) ”风格的评估,让人类并排比较 Molmo 与其他模型的回答。

图 30: 人类评估结果。Molmo-7B-D 与 Claude 3.5 Sonnet 等大型专有模型不分伯仲。

源自这项研究的 Elo 评分 (一种用于国际象棋和电子游戏的排名系统) 将 Molmo-72B 总体排名第二,夹在 GPT-4o 和 Gemini 1.5 Pro 之间。

表 9: Chatbot Arena 排行榜。Molmo-72B 排名惊人地高,击败了几乎所有其他开放模型和许多封闭模型。

指向的力量

Molmo 真正占据主导地位的一个领域是计数。因为它是在 PixMo-Points 数据集上训练的,所以它处理计数问题的方式不同。它不再猜测一个数字 (“有 5 个人”) ,而是为它找到的每个人生成一个点,然后将它们加起来。这种通过指向进行的“思维链 (Chain-of-Thought) ”大大减少了幻觉。

图 18: Molmo 通过指向进行计数。通过视觉定位每个实例,模型确保了准确性。

为什么有效: 消融研究

该论文包含了广泛的“消融研究 (ablation studies) ”——即移除系统的某一部分以观察其重要性的实验。这些研究提供了一个至关重要的见解: 描述质量为王 (Caption Quality is King) 。

研究人员发现,预训练中使用的描述质量与模型在下游任务 (如回答有关图表的问题) 的表现之间存在很强的相关性。

图 9: 描述 F1 分数 (质量) 与平均基准表现之间的相关性。更好的描述 = 更好的 VLM。

这验证了他们在“语音转文本”描述流程上的投入。通过专注于获取图像的最佳描述,他们建立了一个可以迁移到所有其他视觉任务的基础。

结论: 未来是开放的

Molmo 论文是开源 AI 的一个里程碑。它表明,社区不需要依赖专有模型的“残羹冷炙” (蒸馏) 来竞争。通过在数据收集方面的创新——特别是通过基于语音的描述和基于点的接地——作者创建了一个可以与世界上最好的模型相媲美的模型。

给学生和研究人员的关键要点:

  1. 数据 > 架构: Molmo 的改进主要来自 PixMo (数据) ,而不是复杂的架构变更。
  2. 避免蒸馏: 通过收集自己的高质量人类数据,而不是模仿 GPT-4,你可以构建更好的模型。
  3. 简单致胜: 一个标准的 ViT + LLM 架构,如果训练得当,是非常强大的。
  4. 指向很强大: 将语言接地于像素 (x,y 坐标) 是提高空间推理和计数能力的高效方法。

对于那些有兴趣进一步探索的人,该团队已经发布了模型权重、代码,以及至关重要的 PixMo 数据集。这使得科学界终于可以检查、理解并改进最先进的视觉语言模型的基础。