专栏名称: AINLP
关注AI、NLP相关技术,关注算法研发职位和课程;回复"文章"获取历史信息;双语聊天机器人"无名";中英翻译请输入:翻译 翻译内容;自动对联,请输入:上联 上联内容;调戏夸夸聊天机器人,请求夸、求赞;查询相似词,请输入: 相似词 词条
目录
相关文章推荐
面容姣好的梅老板  ·  2024,收工! ·  3 天前  
面容姣好的梅老板  ·  2024,收工! ·  3 天前  
每日新报  ·  事关出行,天津等地试点推出! ·  4 天前  
马靖昊说会计  ·  2024年报审计中需要重点关注的高风险领域 ·  4 天前  
会计雅苑  ·  中国农业发展银行2024-2028年度财务报 ... ·  6 天前  
会计雅苑  ·  国家电力投资集团2025-2028财务业务会 ... ·  6 天前  
51好读  ›  专栏  ›  AINLP

“博士级”模型GPT-o1折戟中学数学“陷阱”问题,准确率仅为24.3%

AINLP  · 公众号  ·  · 2024-09-14 15:41

正文


京时间9月13日凌晨,OpenAI正式推出最新模型GPT-o1,一时间引发学界与工业界的广泛讨论,相较于先前版本GPT-4o,新模型在各大评测指标上显著提升,号称已达"博士级"智能水平。


图一:最新发布的GPT-o1 在广泛的基准测试中优于 GPT-4o


然而,我们的最新研究结果却给这个"AI天才"泼了一盆冷水——在面对中学数学水平的"陷阱"问题时,GPT-o1惨遭滑铁卢:在我们最新的中学陷阱问题测试集MathTrap_Public上,调用GPT-o1-preview官方API后生成的回答准确率仅为24.3%


我们在 GSM8K 和 MATH 数据集问题的基础上,加入了一些“陷阱”,构造了 MathTrap 数据集。这些改编后的题目很多时候没有定义明确的答案或者无解,只有能够同时理解原题和“陷阱”所涉及知识的模型,才能找出其中的矛盾点,发现“陷阱”所在


因此,单靠“刷榜”来提高在 GSM8K 和 MATH 上的成绩,是没办法在 MathTrap 上取得好成绩的,因为这些模型缺乏质疑题目条件的能力。



图二:GPT-o1未能识别MathTrap数据集中问题包含的陷阱。GPT-o1的化简过程忽略了x=0的未定义性,虽然在其他区间显示出局部周期性,但整体上不能视为周期函数。当x=0时函数未定义,所以假设存在一个周期T,由于-T在定义域内,周期函数需要满足f(-T+T)=f(0)=f(-T),因为f(0)不存在,所以等式不可能成立,即不存在周期。


为了避免评测集污染,我们把评测集分成了两个部分:MathTrap_Public 和 MathTrap_Private。前者已经在 GitHub 上开源,而 MathTrap_Private 则保持闭源,论文中的实验都是在 MathTrap_Private 上进行的,以确保公平对比。


即使是当前最先进的模型,在 MathTrap 数据集上的表现也大幅下降。比如在 MathTrap_Private 上,我们进行的实验显示,o1-preview API 的测试准确率为 38.0%,相比 GPT-4 API 的 36.0%,几乎没有提升。而开源模型在 MathTrap_Private 上的表现更为逊色,Reflection-70B 准确率为 16.0%,Llama-3.1-8B 准确率为 13.5%,而 Llama-3.1-70B 则是 19.4%,可以看到 Reflection-70B 在陷阱问题上的性能并没有显著提高。


有意思的是,在网页端测试 GPT-o1-preview 时,我们发现模型会生成一个“思考”过程,而调用API的输出则不包含“思考”内容。如果在评测时,只要“思考”过程中包含了对陷阱的分析就算通过,那么 GPT-o1-preview 在 MathTrap_Public 上的准确率能提高到 67.7%。不过,模型展现的推理过程真的意味着它理解了问题中的陷阱吗?还是说这只是依赖海量数据训练出来的模式匹配?这种现象其实反映了当前大模型评测的局限性。


接下来,我们将深入探讨现有评测体系在评估大模型组合泛化能力方面的不足,并结合我们的研究,探讨通过“陷阱问题”更有效地揭示大模型在复杂推理任务中的表现。




论文链接:https://arxiv.org/pdf/2405.06680

Github仓库:https://github.com/tongjingqi/MathTrap



论文背景



近年来,大语言模型在许多要求复杂推理的任务(如编写代码,求解数学问题等)上实现了前所未有的成功,一些乐观的研究者将这些令人激动的进展看作是通用人工智能的火花。与之相对,也有研究者发现LLMs在许多十分简单的任务上出现了意料之外的问题。例如,最先进的GPT-4模型在3位数乘法问题上仅仅实现了59%的准确性。对于这种巨大差异背后原因的讨论对于构建更加健壮的LLMs具有十分重要的意义。

为什么要测组合泛化?

事实上


人类的认知具有系统的组合泛化性,即通过学习的有限的基础知识与技能,并系统地组合它们以解决更加复杂的新问题如图三所示,当一个人理解了“基础知识A:整数的定义” 和 “基础知识B:如何求解一元二次方程”这两类知识,那么他自然地就能够组合这两类知识并解决更为复杂的复合问题,即首先利用基础知识B得出原一元二次方程的两个解为 (-1±√13)/2,接着根据基础知识A得出它们都不是整数,最终推理出“原方程不存在整数解”这一结论。在智能体从有限的基础知识向无限的复杂逻辑推理迈进的过程中,系统的组合泛化能力发挥着至关重要的作用。因此,我们构建了MathTrap基准数据集,在真实的数学推理问题中评测大模型的组合泛化能力。


图三:数学问题的组合泛化示意图


具体来说,我们将155道来自于GSM8K和MATH数据集的原始问题(Original Problem)与相应的精心设计的概念问题(Conceptual Problem)相结合,构造了155道陷阱问题(Trap Problem)。这里的原始问题和概念问题对应着图1中的两类简单问题,是否能够正确地回答这两类问题对应模型是否掌握相应的基础知识。而陷阱问题则对应图1中的复合问题,正确地回答陷阱问题需要模型(1)掌握两类基础知识;(2)具有较强的组合泛化能力。

为什么要用TrapProblem?

事实上


不同于简单的问题复合,MathTrap中的每一道复合题目都带有逻辑上的陷阱,这也是我们将其称为“陷阱问题”的原因。我们仍然以图1为例,通过向原始问题“ 求解x^2+x=3”中加入“整数”的概念,得到陷阱问题“找到 x^2+x=3的整数解”。此处的逻辑陷阱在于,新的复合问题事实上是无解的。相对于能够正常求解的问题来说,这类带有逻辑陷阱的问题在现实世界中要更为少见。因此,它们极大地减轻了数据泄漏对评测准确性的影响,即模型不大可能见过类似的逻辑错误并直接通过“背诵”的方式求解陷阱问题。这使得我们能够更准确地评估模型的组合泛化能力。同时为了防止测试集在公开后被污染,我们将这155道陷阱问题作为MathTrap_Private数据集,保持闭源,以保证未来评测的公平性。

数据集构建方法与评测方法

事实上


数据集构建方法:

表1: MathTrap数据集的概览。第一列表示所构建的5类陷阱类型和它们在数据集中所占的样本百分比。黄色背景标识的文本表示原始问题和概念问题复合之后,问题描述所发生的变化。在评测过程中,模型在原始问题和概念问题上的准确率对应着模型对两类知识的掌握程度。如果一个模型能够准确的回答原始问题和概念问题,同时具备较好的组合泛化能力,那么它也应该能够准确的回答陷阱问题。


如表1所示,MathTrap基准中的逻辑陷阱分为如下5类:

  1. 未定义的概念(Concept Undefind):推理过程中出现了数学上未定义的概念(如 tan90º, 0作为除数等)。

  2. 条件缺失(Missing Condition):缺少解决问题所需要的必要条件。(如描述一家店5月份的经营情况,但是询问6月份的营业额)

  3. 直接冲突(Direct Contradiction):问题描述中的两个及以上的条件不可能同时成立。(如等边三角形边长为10,高为10)

  4. 间接冲突(Indirect Contradiction):问题中存在着隐式的条件冲突,并且只有在推理的过程中才能被发现。(如推理出一元二次方程的两个解之后,发现均不符合题目要求)

  5. 违反常识(Violating Common Sense):条件或最终的答案违反常识(如从一副标准扑克牌中抽出5张不同花色的牌)。

我们首先从GSM8K和MATH数据集中随机选择了155个原始问题(Original Problem),这些问题用于评估模型是否掌握原始数据集中所涉及数学知识点。对于每个原始问题,我们人工编写了相应的概念问题(Conceptual Problem),用于评估模型是否掌握陷阱相关的知识。最后,我们人工组合出155道陷阱问题(Trap Problem),用于评估模型的组合泛化能力。


标注标准:

  1. 遵循陷阱问题定义:我们为五种类型的陷阱提供了明确的定义和示例。标注者需要完全理解这些定义,并确认他们的陷阱问题是否符合相应的定义。

  2. 明确性:要求标注者交叉验证陷阱问题的语义,确保修改后的问题表达清晰明确。

  3. 难度:我们设定了一个标准,即陷阱问题应在 GPT-3.5 的 5 次运行中至少引发 1 次错误响应,避免陷阱问题过于简单。

  4. 多样性:在标注过程中,我们动态监控知识点的分布,并向标注者提供反馈,帮助他们调整主题选择以保持问题的多样性。


评测方法:

对于数据集中所设计的三类问题,我们使用准确率(Accuracy)作为评价指标。此外,考虑到如果一个模型能够准确的回答原始问题和概念问题,同时具备较好的组合泛化能力,那么它也应该能够准确的回答陷阱问题。因此,我们将模型在陷阱问题和原始问题上的准确率比值(Ratio)作为模型组合泛化能力的评估指标;

我们使用 GPT-4 来评估模型对陷阱问题的回答是否正确。只有当模型的推理过程和最终答案都正确时,才被认为是正确的。值得注意的是,GPT-4 作为评估工具,与人类评估者的判断一致性超过 90%,因此它非常适合用于这一任务。

实验与评估

事实上


主流大模型的组合泛化性


在MathTrap数据集上评估LLMs的组合泛化性。实验结果表明,闭源模型在概念性问题上表现较好,尤其是GPT-4达到了90%的准确率,表明LLMs具备识别大多数陷阱的能力。然而,与原始问题相比,模型在陷阱问题上的表现显著下降,准确率不到原始问题的一半。开源的MetaMath系列模型在概念性和原始问题上表现中等,但在陷阱问题上表现大幅下滑,准确率比率普遍低于20%。总体上更多的预训练和更大的模型规模能够改善LLMs的组合泛化能力,表现出一定的提升。


表2:各种模型在三类MathTrap问题上的准确率(%)。“Conceptual”代表概念性问题,“Original”指原始问题,“Trap”表示陷阱问题。“Ratio”是陷阱问题准确率与原始问题准确率的比值,反映了模型在面对陷阱问题时相较于原始问题的表现保持程度。


人类的组合泛化性


作为对照实验,我们评估了人类在 MathTrap 数据集上的表现。具体来说,我们招募了43名来自顶尖大学、主修科学和工程的本科生参与实验。每位学生被随机分配了两个问题:一个原始问题和一个陷阱问题。在答题过程中,参与者并不知道分配的问题可能包含陷阱。为了防止参与者通过比较两个问题发现陷阱,每位参与者被分配的原始问题和陷阱问题完全不同。结果如表3所示,人类在陷阱问题上的准确率达到了83.8%。在人类应对陷阱问题与原始问题的准确率比率上,人类的准确率比为83.8/97.6 = 85.9%,远远超过了所有现有的大型语言模型(LLMs)。这表明在人类在 MathTrap 数据集上展现出了强大的组合推理能力。对于未能正确识别陷阱的情况,我们进一步告知参与者问题中可能存在陷阱,并要求他们重新作答。在收到这一提示后,人类的准确率从83.8%上升到了95.1%,几乎与他们在原始问题上的表现相同。


表3:人类在MATHTRAP上的准确率(%)。"Trap Problem (w/o Notice)" 指的是在人类未被告知问题中包含陷阱时解答的准确率。"Trap Problem (w/ Notice)" 指的是在人类被告知问题中包含陷阱时解答的准确率。"Original Problem" 指的是人类在解答原始问题时的准确率。


如何缓解大模型在MathTrap上组合泛化缺陷

事实上


表 2 的结果表明,LLMs 已经掌握了解决陷阱问题所需的相关知识,但无法自发地将这些知识应用于陷阱问题的推理。因此,我们尝试通过外部干预来缓解这一问题,具体结果见表 4 和表 5。


自然语言提示:在问题陈述之前添加“注意,该问题可能无法解决或无解”的提示。我们的结果显示,自然语言提示可以引导 LLMs 注意到问题描述中的矛盾或陷阱,而不影响“原始问题”的准确率,特别是对于那些高度对齐的闭源模型。


少样本示例:在 1-shot 设置中,随机插入一个陷阱问题及其推理过程;在 5-shot 设置中,插入 2 个原始问题和 3 个陷阱问题及其推理过程。结果表明,与自然语言提示相比,少样本示例在处理陷阱问题时更为有效。此外,在包含原始问题的 5-shot 设置中,原始问题的准确率也有所提高。


微调:我们还额外人工标注了 105 个陷阱问题,并通过 GPT-4 同义转述将训练样本扩展至 1000 个。需要注意的是,微调所用的样本与 MathTrap评估数据并不重叠。实验表明,微调可以显著提高模型在未加提示的情况下处理陷阱问题的表现,但同时也可能降低模型在解决原始问题时的准确率。通过微调实验说明在MathTrap上“刷榜”会带来正常问题的性能下降,因此从根本上避免了“刷榜”对我们评测集的过拟合。因此这额外的105个陷阱问题将作为MathTrap_Public开源。



表4:外部干预方法对原始问题和陷阱问题准确率的影响。“w/o Notice”指的是没有任何外部干预的对照实验。“w/ Notice”表示使用自然语言提示告知模型问题描述中可能包含陷阱。ICL(1/5-shot)指的是在上下文中添加一个或五个示例,展示如何处理陷阱问题。


表5:微调数据配置对原始问题和陷阱问题准确率的影响。我们使用Llemma作为基础模型。

总结

事实上


我们研究了大型语言模型(LLMs)在数学推理中的组合泛化能力。通过在问题描述中引入陷阱,我们构建了新颖的“陷阱问题”,即MathTrap数据集,如果模型在解答过程中仅尝试采用在模型训练中见过的推理路径,很难得到正确的结果。实验表明,大模型无法自发地将其学习到的知识结合起来,真正采用推理的方式来解决陷阱问题。我们也发现,这一限制可以通过外部干预来缓解,但与人类的组合泛化能力相比,仍然存在显著差距。MathTrap数据集正是这样一块坚硬的试金石:在处理需要灵活应用多领域知识的复杂问题时,即使是当前最先进的大模型,也会在组合泛化能力上暴露出不小的问题。随着AI技术日新月异,如何设计更加全面、公正的评测体系,将成为推动AI研究不断前进的关键因素之一,想要实现真正的通用人工智能,仍然需要大家进一步的探索与努力。




进技术交流群请添加AINLP小助手微信(id: ainlp2)

请备注具体方向+所用到的相关技术点

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括LLM、预训练模型、自动生成、文本摘要、智能问答、聊天机器人、机器翻译、知识图谱、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。