最近几个月,伴随着大语言模型的发展,多模态大模型也取了长足的发展。一系列模型在短时间内如雨后春笋般涌现了出来,例如 BLIP2, MiniGPT-4, LLaVA, mPLUG-Owl。但是,如何来全面地评估一个多模态模型仍然是一个比较棘手的问题。当前模型测试的方式主要分为以下三类:
以上的评测方式均存在一些固有问题。例如 Demo 展示这一评测方式受评测问题数量的限制,多样性不足,很容易导致对模型的评估不够全面。
而对于主观评测的方式,除了评测问题数量少和缺乏多样性的问题,由于人具有认知偏差,所以论文中的评测结果往往很难复现,同时也存在不能无法全方位评估的问题。
最后,传统客观评测集合对于模型的评估往往更侧重于模型在某项任务上面的能力评测,例如 VQA, image captioning 等。无法做到对模型细致能力的评估,进而无法提供有效的反馈。同时,受限于传统评测方式 exact matching 的缺陷,很容易产生假阳性的问题。例如标准答案为 bicycle,而模型的回答是 bike 时,当下的评测方式就会判定模型的回答是错误的。
鉴于现行评测方式所存在的问题,我们重新定义了一套针对当前多模态大模型的评测流程——MMBench。其主要包含两个方面:
Paper 链接:
https://arxiv.org/pdf/2307.06281.pdf
Project 链接:
https://opencompass.org.cn/MMBench
Leaderboard 链接:
https://opencompass.org.cn/omni-rank
我们还将在今晚 8 点进行的社区开放麦直播中,为大家详细介绍 MMBench,欢迎大家预约观看!
数据集
数据集构造
我们的主要目的是对模型的各种能力进行全方位的考察,所以我们自上而下定义了三级能力维度 (L1-L3),第一级维度(L1)包含感知与推理两项能力,第二级能力维度(L2) 在第一级的能力维度下进行拓展,包含 6 项能力,最后第三级能力维度(L3)进一步在第二级能力维度的基础上进行拓展,包含 20 个能力维度。各级能力维度的包含关系如下图所示:
针对每一项 L3 能力,我们进行了相关问题的收集,为了保证评估的结果更稳定全面,针对每一项 L3 能力我们都收集了超过 75 题,具体的数量分布如上图所示,括号里面显示了该项能力维度下有多少道题目。目前我们的评测集总共包含 2974 道题目。我们收集的数据集,问题,题目的来源分布十分广泛,下表列出了所有来源。
尽管,我们有些题目、图片来源于一些公开数据集,例如 COCO-Caption、ScienceQA,但是这些题目来源于 test 集合,并且这些题目的总数占总题目数的比例大概在 10% 左右,所以在我们这个数据集上的评测仍然可以看作是 held-out 评测。
题目展示
为了简化评测流程,我们将所有的题目都设计为单项选择形式,下图展示了我们评测数据集中的一些题目:
你可以参考我们的论文,以及数据集查看更多的数据样例。
评测方式
对于单项选择题,我们期待模型能够直接输出 A, B, ... 中的一个 label,但是由于现在开源模型的指令跟随性并不完善。在实验中我们发现,大部分情况下,模型的输出往往不直接是,甚至根本不包含选项的 label。这对我们的评测带来了很大的困扰。针对这个问题,我们提出了利用 ChatGPT 来辅助我们评测,针对某一题,具体的流程如下:
下图展示了我们提供给 ChatGPT 的 prompt:
同时,为了衡量 ChatGPT 来辅助打分的可靠性,我们做了进一步的实验。
上图比较了各种模型来辅助打分与人类打分的相似程度,可以发现 GPT-4 和 GPT-3.5 与人类打分具有较高的相似度,同时 GPT-4 和 GPT-3.5 的打分效果类似,所以考虑到成本,我们便选取了 GPT-3.5 作为了我们的打分器。
除此之外,为了尽可能消除随机性以及让评测结果更 robust,我们提出了 CircularEval。CircularEval 的主要思想就是将问题选项按环状进行重排,然后将每次重排之后的选项提供给多模态模型,当且仅当每次模型都回答正确了,我们才认为模型成功回答该题,具体流程如下:
同时我们也进一步比较了 CircularEval 和 常规评测 (VanillaEval) 在评测结果上面的区别:
可以发现 CircularEval 下模型的性能出现了显著的降低,更好地体现出了多模态模型的真实性能。
评测结果
我们对当下的主流模型进行了全面的评测,评测结果如下:
针对以上评测方式,有几个结论:
此外,MMBench 已经被 HuggingFace 收录于 HuggingFaceM4, 欢迎大家在 MMBench 上测试。