摘要
当今最先进的多模态模型仍然是专有的。
最强大的开放权重模型严重依赖来自专有 VLM 的合成数据以实现良好的性能,有效地将这些封闭模型提炼成开放模型。
因此,社区仍然缺乏关于如何从头开始构建高性能 VLM 的基础知识。
我们提出了 Molmo,一个新的 VLM 家族,在开放性方面处于其类别中的最先进水平。
我们的关键创新是使用基于语音的描述从人类标注者收集的全新、高度详细的图像字幕数据集。
为了支持各种用户交互,我们还引入了用于微调的多样化数据集混合,其中包括野外问答和创新的 2D 指向数据。
我们方法的成功依赖于对模型架构细节的精心选择、经过良好调整的训练管道,最重要的是,我们新收集的数据集的质量,所有这些都将发布。
Molmo 家族中最好的 72B 模型不仅在开放权重和数据模型类别中优于其他模型,而且在学术基准测试和人类评估方面,与 GPT-4o、Claude 3.5 和 Gemini 1.5 等专有系统相比也具有优势。
我们将在不久的将来发布所有模型权重、字幕和微调数据以及源代码。
可以在 https://molmo.allenai.org 上获得选定的模型权重、推理代码和演示。
†
1
介绍
除了文本之外,还可以处理图像的大语言模型 (LLM) 的扩展带来了令人印象深刻的多模态能力,例如生成全面的图像描述和准确回答复杂的可视化问题。
然而,这些视觉语言模型 (VLM) 中性能最佳的模型仍然是专有的,既没有模型权重、数据,也没有代码公开发布。
为了促进科学探索,许多研究工作试图在
开放
模型中复制类似的能力。
早期作品,例如 LLaVA
[15]
,产生了完全公开的权重和训练数据,但现在已明显落后于最先进技术。
最近,更强大的开放权重模型倾向于更少开放的数据:训练数据可能是专有的(
e.g
.
,
[5]
)或者,在发布数据的情况下,严重依赖由专有系统生成
合成
数据,例如
e.g
.
,模型在像 ShareGPT4V
[7]
这样的数据集上进行训练,该数据集使用 GPT-4V
[25]
生成大量详细的图像标题。
因此,生成的 VLM 实际上是
蒸馏
的专有 VLM,科学界仍然缺少关于如何从头构建高性能 VLM 的基础知识。
在这项工作中,我们介绍了
Molmo
(
M
ultimodal
O
pen
L
anguage
Mo
del)系列最先进的开放 VLM,其中发布了模型权重
以及
发布的视觉语言训练数据,不依赖于来自其他 VLM 的合成数据,包括专有 VLM。
这一成果是在一个简单的训练流程中实现的,在这个流程中,我们将一个独立预训练的现成视觉编码器和语言模型连接起来,并共同训练生成的 VLM 以从新收集的详细、高质量、密集的图像描述数据集中生成标题。
联合训练后,我们遵循标准实践,使用监督微调来生成一个指令遵循模型。
与其他当代开放 VLM 不同,我们避免了涉及冻结模型各个部分的多个预训练阶段,并依赖于大规模弱配对的图像-文本数据,这些数据通常比我们的高质量数据大三个数量级(
e.g
.
,
[5, 4]
)。
我们方法的成功依赖于对模型架构细节的仔细选择,一个经过良好调整的训练流程,以及最重要的是我们新数据集的质量,统称为
PixMo
(
Pix
els for
Mo
lmo),所有这些都将被发布。
在实践中,从人类标注者那里收集密集字幕数据集具有挑战性。
如果要求写一个图像描述,结果通常只提到一些显着的视觉元素
[8]
。
如果强制执行最少字数,标注者要么花费太长时间打字,使收集变得不经济,要么从专有 VLM 中复制粘贴响应,绕过了我们避免蒸馏的目标。
因此,开放研究社区一直在努力创建这样的数据集,而不依赖于来自专有 VLM 的合成数据。
我们的关键创新是一种简单但有效的数据收集策略,它避免了这些问题:我们要求标注者用
语音
描述图像 60 到 90 秒,而不是要求他们写描述。
我们提示标注者详细描述他们看到的所有内容,包括对空间位置和关系的描述。
根据经验,我们发现使用这种模式切换“技巧”,标注者在更短的时间内提供了更详细的描述,并且对于每个描述,我们收集了音频收据(
i.e
.
,标注者的录音),证明没有使用 VLM。
在训练我们的模型以生成密集标题后,我们使用监督训练数据在广泛的用例上对它们进行微调。
此数据混合包含标准学术数据集以及几个新收集的数据集,包括一个高度多样化的问卷集,它捕捉了用户在野外可能会问模型的问题,以文档为中心的问答数据,模拟时钟读取数据,以及一个独特的新的数据源,它将语言与带有二维点的图像联系在一起。
这种新颖的指向数据使我们的模型能够通过指向支持答案的像素来更自然地回答一些问题,提高了计数精度(模型通过指向来计数),我们相信它将开启一个重要的未来方向,其中 VLM 使代理 (
e.g
.
, 机器人,网络代理) 能够通过在其环境中指向来
行动
,
e.g
.
, 指向导航路标,指向要拾取的物体,或指向要按下的用户界面按钮。
我们在 11 个学术基准上评估了 Molmo 模型系列,并通过人工评估,使我们能够根据用户偏好对模型进行排名。
我们最有效的模型 MolmoE-1B,基于
OLMoE-1B-7B
[24]
专家混合 LLM,在学术基准和用户偏好方面都几乎与 GPT-4V 的性能相匹配。
Molmo-7B-O 和 Molmo-7B-D,分别基于
OLMo-7B
[10]
和 Qwen2 7B
[33]
,在学术基准和用户偏好方面都舒适地位于 GPT-4V 和 GPT-4o 之间。
我们最好的 Molmo-72B 模型,基于 Qwen2 72B,取得了最高的学术基准得分,并在人工偏好排名中位居第二,仅次于 GPT-4o。
我们最好的模型优于许多最先进的专有系统,包括 Gemini 1.5 Pro 和 Flash,以及 Claude 3.5 Sonnet。
图 1
:
Molmo
架构遵循将语言模型与视觉编码器相结合的简单且标准的设计。
其强大的性能得益于经过精心调整的训练管道和我们新的
PixMo
数据。
2
架构
我们的模型架构(图
1
)遵循将语言模型与视觉编码器相结合的简单且标准的设计 (
e.g
.
,
[15]
)。
它包含四个组件:(1)一个预处理器,它将输入图像转换为一组多尺度、多裁剪图像;(2)一个 ViT 图像编码器,它独立地将这些图像中的每一个映射到一组视觉符元;(3)一个连接器,它使用 MLP 将视觉符元投影到语言模型的输入维度,然后对视觉符元进行池化以减少其数量;以及 (4) 一个仅解码器的 Transformer LLM
[30, 26]
。
从此模板中,我们构建了一个模型系列,该系列通过视觉编码器和 LLM 的选择来参数化。
鉴于这些选择,随后的训练数据和配方对于所有模型都是相同的(除了优化器学习率)。
对于视觉编码器,我们所有发布的模型都使用 OpenAI 的 ViT-L/14 336px CLIP 模型
[27]
,该模型提供一致良好的结果(虽然该模型使用封闭数据,但可以从头开始复制,如 MetaCLIP
[32]
所示;我们使用 OpenAI 的模型,因为它是在更高分辨率图像上训练的)。
对于LLM,我们提供各种规模和开放程度的选择:完全开放的OLMo-7B-1024(2024年10月预发布的主干,将在稍后发布),完全开放的OLMoE-1B-7B(我们最高效的模型),开放权重的Qwen2 7B,以及开放权重的Qwen2 72B(我们性能最好的模型)。
图2
:
(左)11个学术基准的平均得分。
参见表
1
的每个基准的结果。
(右)来自我们人类偏好评估的Elo评分。
3
数据和训练
从独立预训练的视觉编码器和LLM开始,我们的训练过程很简单,仅包含两个阶段:(1)使用
PixMo-Cap
进行的多模态预训练,我们的新收集的字幕数据,以及(2)使用学术数据集和我们新收集的监督
PixMo-
⋆
数据集族进行的监督微调。
在这两个阶段中,所有模型参数都会更新。
我们没有使用RLHF。
第1阶段:字幕生成。
在此阶段,我们将视觉编码器和LLM与我们随机初始化的连接器连接起来,并在字幕生成任务上训练所有模型参数。
我们收集了
PixMo-Cap
训练数据用于此阶段,如下所示。
我们首先根据一组多样化的
∼
70 个高级主题(
例如
。
,路标,表情包,食物,绘画,网站,模糊照片,
等等
。
)来获取网络图片,对于每张图片,我们要求三位标注者详细描述图片,至少说 60 秒(在收集的后期阶段,我们将时间延长到 90 秒,并使用每张图片一位标注者;我们发现这样做效率更高,而不会降低质量)。
提示标注者在他们的描述中回答一些简单的问题:
-
•
乍一看,图片是什么?
-
•
图片中有哪些物体,以及它们的数量?
-
•
文本中说了什么?
-
•
物体的方位在哪里?
-
•
哪些细微细节值得注意?
-
•
背景里有什么?
-
•
风格和颜色是什么样的?
然后,使用现成的语音转文字系统将标注者的音频转录成文本,然后使用纯语言 LLM 处理转录的文本以提高文本质量(
e.g
。
,删除口语化表达,规范风格)。
我们还通过让纯语言 LLM 将三个原始转录总结成一个描述来创建第四个图像描述。
我们的训练过程使用所有四个图像 LLM 处理的转录(如果可用)作为自然数据增强的一种形式。
总共,我们在 712k 张不同的图像上进行了训练,包含
∼
1.3M 个标题(包括增强)。
第 2 阶段:监督微调。
在完成字幕训练后,我们在监督训练数据的混合集上对所有模型参数进行微调。
这种混合包括常见的学术数据集和几个新的
PixMo
数据集,将在下面介绍。
-
•
PixMo-AskModelAnything
:我们收集了这些数据,旨在使模型能够回答各种问题,涵盖用户在实际应用中可能会问的问题。
为了创建图像-问题-答案三元组,我们让标注者与纯语言 LLM 合作。
首先,标注者会从一个大型池中选择一张图像,然后写一个关于它的问题。
我们使用第 1 阶段模型为图像生成密集字幕,并将该字幕、图像的 OCR 输出(来自非 VLM,现成的 OCR 模型)和问题传递给纯语言 LLM。
大语言模型 (LLM) 提供了一个答案(再次强调它没有访问图像),标注者可以接受或拒绝该答案。
如果被拒绝,他们会描述答案的错误之处,并要求 LLM 修复它。
标注者重复此过程,直到答案可以接受为止。
对于一些数据,我们要求标注者根据特定提示提问,包括一些不寻常的要求,例如要求将答案倒着写(使用 Unicode 可以实现)。
该数据集包含 162k 个问答对和 73k 张图像。
-
•
PixMo-Points
:我们收集了指向数据,该数据实现了三个目标:(1)使模型能够指向文本描述的任何事物,(2)使模型能够通过指向进行计数,以及(3)使模型能够在回答问题时使用指向作为一种自然的视觉解释形式。
为了收集用于前两个目标的数据,我们要求人工标注者指向图像中的某样东西,写下它的描述,然后指向图像中它的每一个实例(使指向详尽)。
我们还收集了“不存在”数据,以便模型可以学习在被问及图像中
不存在
的事物时做出适当的响应。
该数据也自然地使我们能够训练模型以指向作为一种思维链形式来回答计数问题。
我们从 428k 张图像中收集了 2.3M 个问答对。
为了使指向成为一种解释形式,我们遵循了 PixMo-AskModelAnything 管道,但对其进行了扩展,以便标注者可以将文本标注的指向列表传递给 LLM。
然后提示 LLM 使用这些指向(如果合适)来支持其答案。
我们从 29k 张图像中收集了 79k 个问答对。
-
•
PixMo-CapQA
:我们通过提示仅使用图像的真实标题来询问和回答问题的仅语言 LLM,从 165k 张图像中生成了另外 214k 个问答对。
为了增加多样性,我们创建了一个高级主题和风格列表,并要求模型使用它们。
-
•
PixMo-Docs
:我们提示 LLM 为 255k 张包含图表、文档、表格和图表等文本和图形密集的图像生成代码。
然后,我们提示 LLM 根据对代码的权限访问(图像未被使用)生成 230 万个问答对。
-
•
PixMo-Clocks
:我们构建了一个新的合成模拟时钟数据集,其中包含有关时间的问题和答案。
这些图像渲染自
∼
50 种不同的手表和一个多样化的
∼
160,000 个真实表盘风格的集合,这些风格具有随机选择的时刻。
我们收集了 826,000 个样本。
-
•
学术数据集
:VQA v2 训练集(COCO 2014 子集)
[9]
、TextVQA 训练集
[29]
、OK-VQA 训练集
[19]
、ChartQA 训练集(人类和增强样本均衡)
[20]
、DocVQA 训练集
[21]
、InfographicVQA 训练集
[22]
、AI2D 训练集(透明和不透明标签框)
[13]
、A-OKVQA 训练集
[28]
、AndroidControl 训练集
[14]
、ScienceQA 训练集
[16]
、TabMWP 训练集
[17]
、ST-VQA 训练集
[6]
、TallyQA 训练集
[3]
、DVQA 训练集
[11]
、FigureQA 训练集
[12]
和 PlotQA 训练集
[23]
。
图 3
:
VLM 开放性比较。
我们根据三个模型组件(VLM 及其两个预训练组件,LLM 主干和视觉编码器)的两个属性(开放权重、开放数据和代码)来描述 VLM 的开放性。
除了开放与封闭之外,我们使用“蒸馏”标签来表示用于训练 VLM 的数据包含由另一个专有 VLM 生成的图像和文本,这意味着该模型在没有对专有 VLM 的依赖的情况下无法被复制。
4
评估
表 1:
学术基准结果涵盖十个常用的数据集,加上一个新收集的计数基准 Flickr Count,该基准侧重于在比 CountBenchQA 更具挑战性的自然图像中进行计数。
我们将模型分为四组:(顶部) 专有模型,只能通过 API 调用访问;(上中) 模型已发布权重但数据封闭;(下中) 模型已发布权重和发布训练数据,请注意,其中一些模型 (
†
) 通过在专有 VLM 生成的合成数据上训练,从其他模型蒸馏而来;(底部) Molmo 模型系列。
视觉语言模型的评估正在快速发展,新的学术基准不断出现。