从答题到阅卷,还以MMLU评测大模型你就out了
太长不看版:本工作联合 MIT,清华,剑桥,爱丁堡,港中文等知名院校,提出了一个评测模型对复杂问题的推理过程的“阅卷”批改能力的评测数据集,有别于以前的以结果匹配为评测模式的数据集 MR-Ben,我们的数据集基于 GSM8K [1], MMLU [2],LogiQA [3],MHPP [4] 等数据集经由细致的高水平人工标注构建而成,显著地增加了难度及区分度。
论文链接:
代码链接:
Twitter:
https://x.com/Ruiss1/status/1806317002564219200
自从 ChatGPT 发布以来,就在学术界和产业界掀起了惊涛骇浪。可以说每月甚至每周都有新的开源模型问世。日新月异的进展让大家都对通用人工智能(AGI)充满期待。而如果说到用什么标准来衡量大模型的具体能力,目前一个主流的方向就是使用人类的标准化考试去评测大模型的能力 [5] [6] [7](并且主要是选择题和填空题的方式去评测,具体原因后面会展开)。使用这套测试方式的好处有很多, 简单来说可以分为以下几点:
标准化考试易于量化和评测,标准明确,对就是对错就是错。
指标直观,在国内高考或者美国高考 SAT 里取得怎么样的分数易于比较和理解。
量化结果天然具有传播性,话题性(如 GPT4 轻松通过美国律师认证资格考试等新闻极为吸引眼球)。
但是如果仔细深究大模型的训练方式和答题方式,我们又会发现别的问题。
当前大语言模型的答题方式主要采取分步骤 的思维链的解答方式。将问题拆解,一步步生成中间步骤的思考过程。这样的解答方式相比于要求模型一步到位直接生成最终答案来说,极大地提高了最终答案的准确率和降低了幻觉的比例。而问题正是出现在这个分步作答的流程上。
预训练模型在预训练时早已见过数以万亿级别的词元,很难说我们评测的模型是否早已见过相应的数据,从而通过背题的方式回答正确。而在分步作答的时候,模型是否是基于正确的理解和流程选出正确的选项,我们不得而知。因为我们评测的方式主要是检查最终的选项或计算结果是否匹配!
这就造成了很大的问题:模型的得分是否虚高?是否基于错误的方式答题?但如果我们要修复解答过程可能有错误的情况,我们应该怎么做?当需要检查模型生成步骤的时候,我们首先缺乏的是标准答案的解题过程,如果要收集相应的解题过程需要大量的人力和时间。
其次是就算有了解题过程,面对千奇百怪的解题思路,如何判断他们的解题过程是否同样正确(如正确解题思路不唯一)?或者在哪里出错了呢?我们又要使用什么样的指标来进行正误分类?是基于 n-gram 还是 embedding vectors 还是什么方式呢?细想之下需要解决的问题实在难以计数,这也是为何目前主流的评测还是停留在使用选择题或者填空题的方式做评测的原因。
那么是否能有一个工作,关注的是模型的解题过程的正误,而不是最终计算结果的正误呢。
我们最近放出的两个工作正是在试图解决这个问题。我们希望模型评测能由一个答题者的学生身份,转变为一个老师的身份进行阅卷。具体来说,就是我们不再以是否能在给定问题的条件下,生成正确答案来评测模型了。而是以模型是否能够在给定问题,某个对应的解题过程(事先收集的解题过程)的情况下,敏锐地发现这个解题过程的正确与否,如若错误,错误的位置和原因为何。为了进行对应的评测,我们精心收集了对应的问题和解答过程,并进行了细致的标注:
首先,我们针对目前市面上主流的权威评测数据集 GSM8K,MMLU,LogiQA,MHPP 等工作的数据集进行了整理,分成了数理化生,代码,逻辑,医药等多个类别并区分了不同的难度等级。
针对每个类别所收集到的每个问题我们精心收集了对应的分步解题过程(由 GPT3.5,Claude2,Mistral-medium 采样而成),并经由国内顶尖的标注公司针对每个学科招募了不同的硕博学生进行培训和标注。具体来说,每个培训后的标注人员将会分配到一个题目,和对应的模型生成的解题过程。标注人员需要回答“解答过程是否正确”,“(如若出错)第一个出错的步骤”,“(如若出错)第一个出错步骤的原因”。
以下是论文里给出的一个具体的例子的中文翻译,注意 GPT4-Turbo(被评测的“阅卷”模型)并没有发现其中第二步所隐藏的计算错误:
# E.1 数学
## 科目:高中数学
## 问题:哪个最小的整数被4除余1,被3除余2,被5除余2?
## 选项:[A] 67 [B] 43 [C] 57 [D] 37
## 答案:D
################################## 采样模型:Claude2 ###################################################
#### 模型解答步骤:
- **步骤1**:检查选项A(67)当67除以4,余数是3,不是1。所以67不是正确答案。
- **步骤2**:检查选项B(43)当43除以4,余数是1。当43除以3,余数是3,不是2。所以43不是正确答案。
- **步骤3**:检查选项C(57)当57除以4,余数是1。当57除以3,余数是0,不是2。所以57不是正确答案。
- **步骤4**:检查选项D(37)当37除以4,余数是1。当37除以3,余数是1。当37除以5,余数是2。
- **步骤5**:选项D(37)满足所有条件,是正确答案。
#### 解答:选项D
################################################### 人工注解 ##################################
#### 模型解答正确性:不正确
#### 首次错误步骤:步骤2
#### 模型解答错误原因:
在步骤2中,模型错误计算了43除以4的余数为1而不是3。模型假设当43除以4时余数是1,但余数应该是3。这里有一个计算错误。
#### 修正后的首个正确步骤:步骤2
当43除以4,余数是1。当43除以3,余数是1。当43除以5,余数是3,不是2。因此,43不是正确答案。
---
################################################### 评测模型:gpt-4-turbo ##################################
#### 模型回复:
- **步骤1**:步骤检查67除以4和3的余数,发现它符合被4除余3的条件,这是一个正确的验证。
- **步骤2**:检查43除以4、3、5的余数,发现1、3、5的余数正确匹配预期,除了5的余数不符合条件。
- **步骤3**:步骤计算57除以4和3的余数,余数分别是1和0。当57除以3时余数不符合条件。
- **步骤4**:步骤检查并验证37除以4、3、5的余数,发现所有预期的余数都准确,得出37满足题目中的所有条件。
#### 解答过程是否正确:正确
#### 第一个出错的步骤:不适用
#### 第一个出错步骤的原因:不适用
可以看到给定一个问题,一个确定的解答过程,我们评测语言模型的方式就转换成了让模型对这个解答过程进行“阅卷”并评判正误,错误位置及原因。其中解答过程的正误,潜在的出错位置可以通过与标注结果进行比对来计算。而模型出错步骤的原因的评测则可以交由 GPT4,通过比较标注人员给出的错误原因解释和模型的错误原因解释,来判断模型的错误原因是否正确。
而从评测方式来看,我们所提出的方法需要模型对于模型解题过程的每一个步骤的前提,假设,逻辑都进行细致的分析,并对推理过程进行预演来判断当前步骤是否能导向正确答案。这种“阅卷”式的评测方式从难度上远超于仅答题的评测方式。
而更高的难度要求本质上,有效避免了模型背题所导致的分数虚高问题。举例来说,只会背题的学生很难成为一名合格的阅卷老师。其次,我们通过使用了大量的人力,精细的标注流程控制,取得了大量的高质量标注。而我们巧妙的流程设计又使得评测方式能够直观地量化。
而评测的结果如下图所示,我们可以看到,闭源模型里,GPT4-Turbo 毫无疑问仍然是最好的,在绝大部分的科目(除了基于中文行测的 logiQA)里,有 demo(k=1)和无 demo(k=0)的设置下都领先于其他模型。而在将评测的科目粗略划分成知识型,逻辑型,计算型,算法型后,我们也可以看到不同的模型在不同的推理类型上各有优劣。
下图则是我们评测的部分开源和闭源模型的结果(可以使用我们官方的脚本一键评测,完整数据评测大概需要花费~12M tokens)。可以看到,最强的部分开源模型效果已经赶上了部分商用模型,并且哪怕最强的闭源模型在我们的数据集上表现也仍未饱和,不同模型间的区分度较大。
当然原论文里还有更多更详细的解析,以下简单罗列几条,具体的解析欢迎大家查看原论文:
Deepseek [7] 和 Qwen [6] 发布的开源模型毫无疑问是国产之光,哪怕在全球的梯队里面对闭源模型效果也不逊色。
不同的闭源模型定价策略和实际表现耐人寻味,如果在使用场景里关注推理能力的小伙伴可以对照价格和能力找到自己心仪的模型使用。
低资源场景下小模型也有不少亮点。在我们的评测集里,Phi-3-mini [8] 在一众小模型里脱颖而出,甚至高于或持平几百亿参数的大模型,展现出了微调数据的重要性。
在我们的场景里,包含复杂的逻辑解析和逐步推断,Few-shot 模式下过长的上下文往往反而会使得模型困惑,造成水平下降的后果。这也是为什么我们的评测主要是 0-shot&1-shot 的原因。
我们在论文里也评测了不少生成-反思-重生成 [9] 的消融实验,查看不同提示策略的差异。简单来说,对于低水平的模型来说没有效果,对于高水平的模型如 GPT4-Turbo 效果也不明显。反而对于中间水平的模型因为总把错的改对,对的改错效果反而波动之下略有提升。
其他有意思的结论可以参加我们的实验结果分析章节,欢迎大家在发布新模型的时候评测我们的数据集,我们非常乐意将您的评测文件和结果发布到我们的官网上宣传。在我们的 Github 里有一键评测的方式,欢迎私信。
以上便是本次工作的主要内容,以下是相关链接,欢迎小伙伴关注我们的工作,并 star 我们的 repo,谢谢!
参考文献
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
微信扫码关注该文公众号作者