新智元报道
编辑:alan
以开源极客之姿杀入江湖的 Mistral AI,在 9 月份甩出了自家的首款多模态大模型 Pixtral 12B,如今,报告之期已至,技术细节全公开。
作为欧洲的 OpenAI,Mistral 最近压力不小。
端侧小模型端不出来,对比评测的结果又遭到质疑。
上个月震撼登场的自家首款多模态大模型 Pixtral 12B,也疑似遇到了成绩不如人的窘境。
不过世间纷扰,留待时间之中去见分晓。
毕竟 Mistral AI 当年也是以开源极客之姿杀入江湖的,以后的以后,圈内人总会想起有个一言不合就甩出磁力链的公司吧。
按照惯例,在 9 月份甩出多模态 Pixtral 12B 的开源链接之后,Mistral 会在一段时间后放出技术报告。
我们来看一下 Mistral 家的第一个 MMLM 有什么新花样。
论文地址:https://arxiv.org/abs/2410.07073
开源代码:https://github.com/mistralai
首先,许多开源模型一般有个问题,就是为了多模态的性能而牺牲了本身的自然语言性能,之前英伟达的 NVLM 1.0 也谈到了这点。
Pixtral 本次也是成功避开了这个缺陷,单单比较文本模型的性能,也在同等尺寸的模型中居于前列。
另一点与大多数模型不同的是,Pixtral 选择从头开始训练了一个全新的视觉编码器。
基于此,Pixtral 12B 输入图片的分辨率和长宽比不受任何限制,并且在 128K 的上下文窗口范围内,想放多少张图片都行!
从论文的测试结果来看,Pixtral 12B 明显优于其他类似大小的开源模型(比如 Llama-3.2 11B 和 Qwen-2-VL 7B),
甚至在一些评测中,表现比 Meta 家的多模态老大哥 Llama-3.2 90B 还要好。
最后,与开源模型一起,Mistral 还贡献了一个开源基准测试 MM-MT-Bench,用于在实际场景中评估视觉语言模型。
技术细节
当前的多模态大模型基本上都是:模态编码器 + 投影模块 + 大语言模型主干。
如果需要多模态输出,后面还会对称地拼接投影层和各种解码器。
所以,在模型结构方面,我们可以分部分来看 Pixtral 都做了哪些工作。
模型结构
Pixtral 12B 整体为 Transformer 架构,在大规模交错图像和文本文档上进行了预训练,具备多轮、多图像对话的能力。
多模态解码器
Pixtral 的大语言模型主干选择了自家的 Mistral Nemo 12B,decoder-only 架构。
内部维度 14336,层数 40,32 个头分为 4 组(GQA),词表大小 131072。
视觉编码器
视觉编码器部分是随 Pixtral 12B 一起新鲜出炉的 PixtralViT。
顾名思义,采用 ViT 架构打底,4 亿参数量。同时为了能够处理各种分辨率和纵横比的图像,作者对标准架构进行了四项关键更改:
Break tokens:为了帮助模型区分具有相同 patch 数量(相同区域)但纵横比不同的图像,需要在图像行之间加入[IMAGE BREAK],在图像序列的末尾加上[IMAGE END]。 FFN 中的门控:在隐藏层中使用门控,而非注意力块中的标准前馈层。 序列打包:为了在单个批次中有效地处理图像,作者沿序列维度将图像展平并连接起来,并构建了一个块对角掩码,以确保来自不同图像的 patch 之间没有注意力泄漏。 RoPE-2D:在自注意层中用相对旋转位置编码代替传统的绝对位置嵌入。虽然必须对学习到的位置嵌入进行插值以处理新的图像大小(通常以牺牲性能为代价),但相对位置编码自然而然地适合可变的图像大小。
RoPE-2D 的变换可以表示为:
这样的设计可以自然地以原始纵横比适应高分辨率和低分辨率图像,从而显著提高多模态任务的性能。
相比之下,传统的编码器一般就是针对 ImageNet 训练的,分辨率为 224 × 224 或 336 × 336。
当应用到多模态语言模型(需要灵活执行标准分类任务,或者光学字符识别等任务)时,通常会将图像分解成更小的方块,然后再独立地将图块馈送到视觉编码器。
完整架构
Pixtral 的视觉编码器通过两层全连接网络连接到多模态解码器(LLM)。MLP 层维度不变,用于将视觉编码器的输出转换为解码器所需的输入嵌入大小,激活函数为 GeLU。
多模态解码器对图像 token 的处理方式与文本 token 相同,包括所有 token 的 RoPE-1D 位置编码。解码器使用了因果自注意力机制,能够平滑地促进多图像对话等能力。
MM-MT-Bench
大多数现有的多模态基准测试,衡量的是模型在给定输入图像的情况下执行某种形式的多项选择问答的能力。
这种能力有用,但还不够。
大模型说到底是给人用的,比如有多模态能力的小助手或者聊天机器人。
在纯文本领域,MT-Bench 可以很好衡量这种性能,它采用独立 LLM 裁判根据参考答案对模型的输出进行评分。
本文中,研究人员构建并发布了一个名为多模态 MT-Bench(MM-MT-Bench)的新基准测试,风格与纯文本的 MT-Bench 类似,以评估指令调整的多模态模型的性能。
MM-MT-Bench 总共包含 92 个对话(单回合对话 69 个,2 回合对话 18 个,3 回合对话 4 个,4 回合对话 1 个),涵盖了广泛的实际使用案例,包括五类图像:图表、表格、PDF 页面 、示意图和杂项。
为了评估模型,研究人员在对话的所有轮次中并行查询模型,为过去的轮次提供参考答案作为历史记录。裁判会独立对每个回合进行评分,并提供整个对话历史记录。
评分依据正确性(提取的信息是否正确)和完整性(标准答案是否涵盖了参考文献中提出的所有要点)以 1 到 10 的等级为对话进行评分。
MM-MT-Bench 旨在模拟视觉语言模型的实际使用,用于提取、总结和推理图像内容。
作者手动整理了图像、提示和答案,并验证了标签编写者的答案,确保所有提示都需要参考图像输入才能正确回答。
实验测试结果表明,MM-MT-Bench 的性能与 LMSys Vision 排行榜上的 ELO 排名高度相关。
实验结果
在评估 Pixtral 和基线的过程中,作者发现多模态模型的评估协议没有标准化,设置中的微小变化可能会极大地改变某些模型的性能(比如要求模型生成与参考答案完全匹配时,6.0 和 6 就可能是不同的)。
为了缓解这个问题,作者建议使用「Explicit」提示来明确指定参考答案所需的格式。
多模态性能
上表显示,在多模态基准测试中,Pixtral 的性能大大优于所有同尺寸的开源模型,以及 Claude-3 Haiku 和 Gemini-1.5 Flash 8B 等闭源模型。
值得注意的是,Pixtral 在针对实际用例的 MM-MT-Bench 上的表现优于所有同等尺寸的模型,而在 LMSys Vision 排行榜上,Pixtral 12B 的性能接近最大的开源模型,Qwen2-VL 72B 和 Llama-3.2 90B。
不过,由于「Explicit」提示的原因,一些开源模型的性能远低于其报告的数字,这主要是由于模型没有遵循答案格式说明(例如,生成「The answer is 6.」而不是「Final answer:6」)。
为了与这些模型进行透明的比较,下面使用更宽松的指标进一步评估。
语言性能
上表展示了在常见的纯文本基准测试(使用常见的提示和评估协议)中,Pixtral 12B 与同等大小开源模型的比较结果。Pixtral 没有为了追求多模态功能而牺牲文本理解,可以作为文本和视觉任务的通用模型。
参考资料: