摘要
我们介绍了 Pixtral 12B,一个拥有 120 亿参数的多模态语言模型。
Pixtral 12B 被训练来理解自然图像和文档,在各种多模态基准测试中取得领先的性能,超越了许多更大的模型。
与许多开源模型不同,Pixtral 也是一个在同尺寸类别中处于领先地位的文本模型,并且没有为了在多模态任务中脱颖而出而牺牲自然语言性能。
Pixtral 使用了一个从头开始训练的新视觉编码器,这使得它能够以自然分辨率和纵横比摄取图像。
这给了用户在处理图像时使用的符号数量方面的灵活性。
Pixtral 也能够在其 128K 符号的长期上下文窗口中处理任意数量的图像。
Pixtral 12B 显著优于其他同尺寸的开源模型(Llama-3.2 11B & Qwen-2-VL 7B)。
它也优于像 Llama-3.2 90B 这样的更大的开源模型,而其尺寸仅为后者的 1/7。
我们还贡献了一个开源基准测试 MM-MT-Bench,用于在实际场景中评估视觉语言模型,并为多模态 LLM 的标准化评估协议提供详细的分析和代码。
Pixtral 12B 在 Apache 2.0 许可下发布。
网页:
https://mistral.ai/news/pixtral-12b/
推理代码:
https://github.com/mistralai/mistral-inference/
评估代码:
https://github.com/mistralai/mistral-evals/
1
引言
图 1
:
Pixtral 性能。
Pixtral 在多模态任务中以显著优势超越了其权重类别中的所有开放模型。
左:
在 MM-MT-Bench 上的性能,这是一个新的多模态、多轮、指令遵循基准,旨在反映多模态语言模型在现实世界中的实际使用。
右:
在公开的 LMSys 排行榜上的表现(视觉领域,2024 年 10 月)。
本文介绍了 Pixtral 12B,这是一种经过训练以理解图像和文本的多模态语言模型,在 Apache 2.0 许可下以开放权重发布。
Pixtral 是一个经过指令调整的模型,它在大型规模交错的图像和文本文档上进行预训练,因此能够进行多轮、多图像对话。
Pixtral 带有一个新的视觉编码器,该编码器使用新颖的
RoPE-2D
实现进行训练,使其能够以其原始分辨率和纵横比处理图像。
通过这种方式,该模型可以在延迟受限的环境中灵活地以低分辨率处理图像,而在需要精细推理时以高分辨率处理图像。
当与在相同评估设置中大小相似的模型进行比较时,我们发现 Pixtral 在不牺牲仅文本推理性能的情况下提供了强大的多模态推理能力。
例如,我们的模型在流行的多模态基准测试(如 MMMU
[24]
和 MathVista
[14]
)上与 Qwen2-VL 7B
[23]
和 Llama-3.2 11B
[6]
等模型的性能相匹配或超过,同时在流行的仅文本任务(如 MATH
[7]
和 HumanEval
[26]
)上优于大多数开源模型。
Pixtral 甚至在多模态基准测试中优于 Llama-3.2 90B
[6]
等更大模型,以及 Claude-3 Haiku
[1]
和 Gemini-1.5 Flash 8B
[18]
等封闭模型。
在评估 Pixtral 和基准时,我们发现多模态语言模型的评估协议并不标准,并且设置中的细微变化会极大地改变某些模型的性能。
我们对在通用评估协议下重新评估视觉语言模型的经验进行了彻底分析。
具体来说,我们确定了评估中的两个问题:
•
提示:
几个基准测试的默认提示定义不足,并且与报告的数字相比,显着降低了领先的封闭源模型
[16, 1]
的性能。
•
评估指标:
官方指标通常要求
完全匹配
,仅当模型生成与参考答案完全匹配时,才将它们评分为正确。
但是,此指标会对实质上正确但格式略有不同的答案进行处罚 (
例如
,
"6.0"
与
"6"
)。
为了缓解这些问题,我们提出了“明确”提示,这些提示明确指定了参考答案所需的格式。
我们进一步分析了灵活解析对各种模型的影响,并发布了评估代码和提示,以努力建立公平且标准化的评估协议
1
。
此外,虽然当前的多模态基准测试主要评估给定输入图像的短格式或多选题问答,但它们没有完全捕捉到模型在实际用例中的效用 (
例如
在多轮长格式助理设置中)。
为了解决这个问题,我们开源了一个新的多模态多轮评估:MM-MT-Bench
2
。
我们发现 MM-MT-Bench 上的性能与 LMSys Vision 排行榜上的 ELO 排名高度相关。
Pixtral 在多模态指令遵循方面表现出色,在 MM-MT-Bench 基准测试中超越了同类开源模型(参见图
1
)。
根据 LMSys Vision 排行榜上的人类偏好,Pixtral 12B 目前是排名最高的 Apache 2.0 模型,显着优于其他开源模型,例如 Llama-3.2 11B
[6]
和 Qwen2-VL 7B
[23]
。
它甚至超过了几个封闭模型,例如 Claude-3 Opus & Claude-3 Sonnet
[1]
,以及几个更大的模型,例如 Llama-3.2 90B
[6]
。
2
架构细节
Parameters
Decoder
Encoder
dim
5120
1024
n_layers
40
24
head_dim
128
64
hidden_dim
14336
4096
n_heads
32
16
n_kv_heads
8
16
context_len
131072
4096
vocab_size
131072
-
patch_size
-
16
表 1:
解码器和编码器参数。
Pixtral 12B 基于 Transformer 架构
[22]
,由一个
多模态解码器
执行高级推理,以及一个
视觉编码器
允许模型接收图像。
模型的主要参数总结在表
1
中。
2.1
多模态解码器
Pixtral 12B 基于 Mistral Nemo 12B
[15]
,一个 120 亿参数的仅解码器语言模型,在各种知识和推理任务中取得了优异的性能。
2.2
视觉编码器
图 2
:
Pixtral 视觉编码器。
Pixtral 使用一个新的视觉编码器,该编码器从头开始训练,以原生支持可变图像大小和纵横比。
块对角注意力掩码允许对序列进行打包以进行批处理,而
RoPE-2D
编码有助于可变图像大小。
注意,注意力掩码和位置编码被作为额外的输入馈送到视觉 Transformer,并且仅在自注意力层中使用。
为了使 Pixtral 12B 能够接收图像,我们从头开始训练了一个新的视觉编码器,名为 Pixtral-ViT。
在这里,我们的目标是实例化一个简单的架构,该架构能够处理各种分辨率和纵横比的图像。
为此,我们构建了一个 4 亿参数的视觉 Transformer
[5]
(参见表
1
),并在标准架构
[17]
的基础上进行了四个关键更改:
分隔符元:
为了帮助模型区分具有相同数量的补丁(相同区域)但纵横比不同的图像,我们在图像行之间包含
[IMAGE BREAK]
符元
[2]
。
我们还在图像序列的末尾添加一个
[IMAGE END]
符元。
FFN 中的门控:
在注意力块中,我们没有使用标准的前馈层,而是在隐藏层中使用了门控
[19]
。
序列打包:
为了在单个批次中高效地处理图像,我们将图像沿序列维度展平并连接
[3]
。
我们构建了一个块对角掩码,以确保来自不同图像的补丁之间不会出现注意力泄漏。
RoPE-2D:
我们将图像块的传统
学习
和
绝对
位置嵌入替换为
相对
、
旋转
位置编码
[11, 20]
,用于自注意力层。
虽然学习的位置嵌入必须进行插值才能处理新的图像大小(通常以性能为代价),但相对位置编码自然适用于可变的图像大小。
特别是,令
x
为一个
d
维的补丁向量(无论是键特征还是查询特征)。
当该特征出现在图像中的位置
(
i
,
j
)
时,我们将该特征表示为
x
(
i
,
j
)
。
然后,
x
(
i
,
j
)
的
RoPE-2D
变换表示为:
这里,子矩阵
M
Θ
(
i
,
j
)
[
k
:
k
+
2
,
k
:
k
+
2
]
捕获特征的高度位置 (
i
),用于奇数维度的
k
,并捕获宽度位置 (
j
),用于
k
的偶数维度(从 1 开始索引)。
此外,
Θ
=
[
θ
1
…
θ
d
/
2
]
是
x
各个维度的频率向量,其中
θ
m
是根据
RoPE-1D
[20]
的标准实践定义的。
关键的是,我们对
RoPE-2D
变换的简单实现满足“相对”属性:两个向量之间的内积仅取决于它们在高度和宽度位置上的相对差值,而不是它们的绝对位置(有关更多详细信息,请参见附录
B
)。
图 3
:
Pixtral 架构完整图。
Pixtral 具有两个组成部分:
视觉编码器
,它对图像进行标记化;以及
多模态解码器
,它根据文本和图像序列预测下一个文本标记。
Pixtral 可以将任意数量的图像作为输入,前提是这些图像适合其 128K 上下文窗口。
讨论:
我们的视觉编码器专为多模态建模而设计。
传统的编码器通常针对 ImageNet 性能进行优化,例如分辨率为
224
×
224
或
336
×
336
像素。
当融入多模态语言模型(灵活执行从标准分类到光学字符识别的任务)时,先前的工作通常会将图像分解成较小的(方形)瓦片,然后将瓦片独立馈送到视觉编码器。
相反,我们的视觉编码器可以自然地适应高分辨率和低分辨率图像,并保持其原始纵横比,从而为多模态任务提供大幅提升的性能(参见第
4.4
节)。
2.3
完整架构
Pixtral 视觉编码器通过一个两层全连接网络与多模态解码器相连。
此网络通过相同大小的中间隐藏层将视觉编码器的输出转换为解码器所需的输入嵌入大小,并使用 GeLU 激活函数
[8]
。
图像标记由多模态解码器与文本标记相同对待,包括
RoPE-1D
[20]
位置编码,用于所有标记。
特别地,我们的解码器使用因果自注意力机制,可以平滑地促进多图像对话等功能。
图
3
说明了该架构。
3
MM-MT-Bench:一个用于多模态指令遵循的基准测试
大多数现有的多模态基准测试衡量的是模型在给定输入图像的情况下执行某种形式的多项选择问答的能力。
虽然这对于模型理解图像的能力是一个有用的信号,但它并没有捕捉到模型对用户的实用价值(例如作为多模态助手或聊天机器人)。
为了衡量这种质量,通常在 MT-Bench
[25]
上评估经过指令调整的纯文本模型,其中一个独立的 LLM
评判者
根据参考答案对模型的输出进行评分。
我们构建并发布了一个名为多模态 MT 基准测试 (MM-MT-Bench) 的新基准测试,它与仅文本变体类似,用于评估指令调整的多模态模型的性能。
设计。
MM-MT-Bench 共包含 92 个对话。
它涵盖了广泛的实际用例,涵盖五类图像:图表 (21)、表格 (19)、PDF 页面 (24)、图表 (20) 和其他 (8)。
有 69 个单回合对话,18 个对话有 2 个回合,其中 4 个有 3 个回合,1 个对话有 4 个回合。
为了评估模型,我们对对话的所有回合并行查询模型,为过去的回合提供参考答案作为历史。
每个回合都由评委在提供整个对话历史的情况下独立评分。
评委被提示根据正确性 (
即
提取的信息是否正确) 和完整性 (
即
模型答案是否涵盖了参考中提出的所有要点) 在 1 到 10 的范围内对对话进行评分。
评估过程如图
4
所示。
评委提示在附录
A.5
中提供。
表
2
中显示的结果表明 MM-MT-Bench 与 LMSys-Vision ELO 评级具有
0.91 的 Pearson 相关系数
。
例子。
MM-MT-Bench 的设计旨在模仿视觉语言模型在现实世界中的使用,用于提取、总结和推理图像内容。
每类别的代表性图像在图
12
中提供,视觉语言模型的评分模型响应示例在图
11
中提供。
我们手动整理了图像、提示和答案,并从第二组标签器中验证了答案。
我们确保所有提示都需要参考图像输入才能正确回答。
图 4
:
MM-MT 工作台:
我们开源了一个新的多模态模型指令遵循基准,该基准与 LMSys ELO 等级高度相关。
给定一个输入图像、参考答案和模型响应,一个独立的 LLM 评判者被指示在 1 到 10 的范围内对模型的响应进行评分。
Mathvista
MMMU
ChartQA
DocVQA
VQAv2
MM-MT-Bench
LMSys-Vision
CoT
CoT
CoT
ANLS
VQA Match
GPT-4o Judge
(Oct ’24)
Pixtral 12B
58.3
52.0
81.8
90.7
78.6
6.05
1076
Qwen-2-VL 7B
[23]
53.7
48.1
41.2
94.5
75.9
5.45
1040
→ w/ Flexible Parsing
55.2
48.7
77.5
–
–
–
–
Llama-3.2 11B
[6]
24.3
23.0
14.8
91.1
67.1
4.79
1032
→ w/ Flexible Parsing
47.9
45.3
78.5
–
–
–
–
Molmo-D 7B
[4]
12.3
24.3
27.0
72.2
57.1
3.72
–
LLaVA-OneVision 7B
[9]
36.1
45.1
67.2
90.5
78.4
4.12
–
Claude-3 Haiku
[1]
44.8
50.4
69.6
74.6
68.4
5.46
1000
Gemini-1.5-Flash 8B
(0827)
[18]
56.9
50.7
78.0
79.5
65.5
5.93
1111
Molmo 72B
[4]
52.2
52.7
75.6
86.5
75.2
3.51
–
LLaVA-OneVision 72B
[9]
57.2
54.4
66.9
91.6
83.8
4.95
992
Qwen-2-VL 72B
[23]
68.2
60.3
66.6
96.3
81.6
6.59
1104
Llama-3.2 90B
[6]
49.1
53.7
33.8
85.7
67.0
5.50
1071
GPT-4o
(0513)
[16]
64.6
68.6
85.1
88.9
77.8
7.72
1208
Claude-3.5 Sonnet
[1]
64.4
68.0
87.6
90.3
70.7
7.50
1189
表 2:
多模态基准。
Pixtral 在很大程度上优于尺寸相似的开放模型,以及一些闭源模型。
我们使用相同的提示和评估指标重新评估了所有模型(参见第
4.2
节)。
为了与 Qwen2-VL 7B
[23]
和 Llama-3.2 11B
[6]
进行透明比较,我们还报告了他们在放宽评估约束条件下的性能
(灰色)
(参见第
4.3
节)。
为了进一步调查与一些开源模型的报告数字之间的差距,我们在第
E
节中提供了分析。
MT-Bench
MMLU
Math
HumanEval
5-shot
Maj@1
Pass@1
Pixtral 12B
7.68
69.2
48.1
72.0
LLaVA-OneVision 7B
[9]
6.94
67.9
38.6
65.9
Molmo-D 7B
[4]
4.53
61.2
10.2
3.7
Qwen-2-VL 7B
[23]
6.41
68.5
27.9
62.2
Llama-3.2 11B
[6]
7.51
68.5
48.3
62.8
表 3:
语言基准。
Pixtral 12B 在文本基准上始终优于尺寸相当的开源模型,使其成为现有文本部署的直接多模态替代方案。
4
结果
在本节中,我们提供了 Pixtral 12B 与各种尺寸的闭源和开源模型在各种范围内的评估结果,并通过相同的评估工具重新评估了所有模型。
具体而言,对于每个数据集,我们设计了提示,以便我们能够重现领先的多模态模型(GPT-4o
[16]
和 Claude-3.5 Sonnet
[1]
)的结果。
这些提示是“显式的”,并完全指定了输出格式(参见第
4.2
节),允许在测试时准确地标记遵循提示指令的模型。
所有模型均使用相同的提示进行评估,这些提示在附录
A
中指定。
我们在第
4.2
节和
4.3
节以及附录
D
和
E
中提供了对在各种提示和指标下重新评估模型的额外分析。
4.1
主要结果
多模态性能:
表
2
表明,Pixtral 在多模态基准测试中,在规模方面明显优于所有开放模型,以及闭源模型,如 Claude-3 Haiku
[1]
和 Gemini-1.5 Flash 8B
[18]
。
尤其是在 MM-MT-Bench 上,Pixtral 的性能优于所有规模相当的模型,该基准测试针对现实世界用例,这一发现得到了 LMSys Vision Arena 上的强劲性能的证实。
在这个公共排行榜上,Pixtral 12B 的性能接近最大的开放权重模型,如 Qwen2-VL 72B
[23]
和 Llama-3.2 90B
[6]
。
我们强调,使用我们的“显式”提示,一些开源模型的性能明显低于其报告的数字。
对于最接近的开源模型——Qwen2-VL 7B
[23]
和 Llama-3.2 11B
[6]
——这主要是由于模型没有遵循关于答案格式的指令(
例如
生成
"The answer is 6."
而不是
"Final answer: 6"
)。
为了与这些模型进行透明的比较,我们进一步报告了它们使用放宽的指标(具有更灵活的解析)的评估结果,以
灰色
显示(参见第
4.3
节)。
我们在附录
D
中分析了这些模型在各种提示下的性能。在附录
E
中,我们依次对每个模型进行了评估定制,描述了弥合差距以达到报告性能所需的更改。
语言性能:
表
3
在常见的纯文本基准测试中,评估了 Pixtral 12B 与规模相当的开源模型(同样,使用常见的提示和评估协议)。
Pixtral 并没有为了追求多模态能力而牺牲文本理解能力,使其成为文本和视觉任务的合适替代品。
4.2
提示选择
在这里,我们讨论了设计评估提示的方法。
在我们的评估框架中,我们选择能够重现领先封闭源模型报告结果的提示:GPT-4o
[16]
和 Claude-3.5-Sonnet
[1]
。
这些提示在附录
A
中提供,我们在附录
D
中报告了对 10 个提示的平均结果。
我们发现,常用的提示没有正确地指定输出格式。
例如,对于多项选择题,我们发现开源提示包括模糊的指令,例如
"从上面的选项中选择正确答案"
。
在这种情况下,模型无法知道答案应该以索引的形式呈现 (
"选项 A"
,
"选项 B"
等
) 还是用自然语言响应。
因此,模型会因格式错误而被扣分。
因此,领先模型需要
明确
指定所需输出格式的提示。
我们在图
5
中用 MMMU 的一个真实例子来说明这一点。
在表
4
中,我们证明了我们的“明确”提示在很大程度上提高了领先模型相对于“朴素”提示的性能。
我们还注意到,在一些情况下,较小模型的性能
降低
了,这可能是由于这些基准测试训练集中的提示风格差异造成的。
Pixtral 12B 通常在使用“明确”提示的情况下表现得更好,只在 ChartQA 上略有下降。
图 5
:
“朴素”与“明确”提示对领先模型的影响。
领先模型从提供有关输出格式详细信息的“明确”提示中获益匪浅。
这是有道理的,因为否则实质上正确的响应会在评估期间被标记为不正确(顶部行,右侧)。
VQAv2
ChartQA
MMMU
Prompt
⟶
Naive
Explicit
Naive
Explicit
Naive
Explicit
GPT-4o
(0513)
[16]
64.2
77.8
58.0
85.1
55.0
68.6
Sonnet-3.5
[1]
50.2
70.7
39.6
87.6
48.6
68.0
Qwen-2-VL 7B
[23]
82.1
75.9
83.4
41.2
46.7
48.1
Llama-3.2 11B
[21]
29.5
67.1
0.0
14.8
20.7
23.0
Llama-3.2 90B
[21]
52.6
67.0
3.9
33.8
27.0
53.7
Pixtral 12B
78.9
78.6
84.3
81.8
45.8
52.0
表 4:
提示消融。
领先模型需要明确指定输出格式的提示才能表现良好。
Pixtral 12B 在“显式”和“朴素”提示下均表现良好,仅在 ChartQA 上出现轻微回归。
4.3
对评估指标的敏感性
在第
4.2
节中,我们讨论了正确指定输出格式的提示的重要性。
然而,在评估过程中,我们发现即使使用显式提示,许多模型仍然以各种格式提供输出,而这些格式会被需要响应与参考答案完全匹配的指标惩罚。
为了研究这个问题,我们采用模型的生成结果,并在逐渐放宽的解析约束下对其进行评估。
例如,如果正确答案是
"6"
,灵活的指标不会惩罚诸如
"6.0"