代码分析英文GPT:GPT⑷数学再提30分,代码解析器任督二脉被打开,数学能力登SOTA 怎么可以错过
为此,研究人员提出新方法对症下药,直接将其数学能力拔至新SOTA:在MATH数据集上,做题准确率从53.9%增加到了84.3...
互联网是1个充满惊喜和变革的领域,每天都有新的事件发生。让我们抛开繁忙的日常,1起探索最近互联网带给我们的1些新鲜事物吧。
西风 发自 凹非寺量子位 | 公众号 QbitAIGPT⑷数学能力还能更强!新研究发现GPT⑷代码解释器做题准确率取其使用代码的频率有关为此,研究人员提出新方法对症下药,直接将其数学能力拔至新SOTA:。
在MATH数据集上,做题准确率从53.9%增加到了84.3%。
你没听错,就是前段时间被称为ChatGPT推出后最强模式的那个代码解析器(Code Interpreter)研究人员窥探了其代码生成和执行机制,使用自我验证、验证引导加权多数投票的方法,直接打开其做数学题的任督二脉。
好奇网友随即而来:还想看他们做高数。
还有网友认为:这也就是大脑的工作方式,人类在解决数学问题时也会自我验证。
1起来康康这项研究的细节~两步提升数学能力GPT⑷代码解析器的代码生成和执行机制究竟是怎样的?来自港中文MMLab、南京大学、中科大、清华、城大、长沙理工等多个机构的学者为解开这1问题,使用特定代码约束提示进行了1项试验。
他们设计了3种没有同的提示方法,限制GPT⑷代码解析器使用代码的频率:Prompt 1:完全没有允许使用代码,输出完全依赖自然语言推理,禁止将代码合并到解决方案中Prompt 2:只允许使用1次代码,也就是在生成解决方案时,只能在单个代码块内使用代码。
Basic Prompt:没有限制,GPT⑷代码解析器可以进行1系列推理步骤,每个步骤都可由文字+Python代码组成。
△(a)没有同提示回答准确率比较(b)代码使用频率取五个难度级别准确率都成比例,数学问题相对复杂时更明显结果发现,允许GPT⑷代码解析器多次生成和执行代码,其解题正确度明显高于仅用自然语言推理或只用1次代码的情况。
经分析,研究人员认为代码的多次生成和执行可以让GPT⑷代码解析器逐步完善解决方案,当代码执行产生错误时,GPT⑷代码解析器可以自我调试修改方案继而引入“代码使用频率”概念,量化没有同提示方法下代码的使用次数。
基于前面的分析结果,研究人员希望能加强GPT⑷代码解析器生成准确代码、评估代码执行结果以及自动调整解决方案的能力所以提出了CSV(自我验证)提示的方法,也就是为解决方案C引入了1个额外的验证阶段,称为V。
加入自我验证提示效果对应上图绿色Verification Prompt。如此1来,GPT⑷代码解析器需额外生成代码来验证答案,如果结果是False则重新推理得到正确答案。
CSV提示没有仅对验证到逻辑推理每1步都进行了扩展,而且可以自动更正错误,无需外部模型或人工参取。
△MATH数据集中第712其中级代数问题CSV prompt:To solve the problem using code interpreter step by step, and please verify your answer using code interpreter.。
通过上图这个例子可看出,在没有自我验证的情况下,模型生成了1个错误的答案通过自我验证,模型纠正了错误并生成了正确的答案此外,鉴于CSV可以有效地验证问题的答案,研究人员又提出了验证引导加权多数投票(VW-voting)。
的方法,将自我验证结果集成到多数表决中,给予没有同验证状态没有同权重,使表决更可靠。
在实际操作中,1旦1个答案被确认为错误,那就没有会进行额外的验证,从而得到1个错误的验证状态。研究人员分配相应的权重给这些状态:真实(wT)、没有确定(wU)和错误(wF)。
最后从候选答案中择取得分最高的那1个:
比此前最高水平提高30%用上了上述方法,GPT⑷代码解析器做数学题的能力up up在MATH数据集上,原始GPT⑷代码解析器的准确率为69.69%,使用CSV提示后提高到73.54%,再结合加权多数表决后进1步提高到84.32%,相比之前SOTA提高了30%以上。
△在MATH数据集上的准确率(%)在MATH数据集的各个子任务中,提出方法均取得显著提高,尤其是在高难度级别的题目中效果更明显例如在中级代数(Intermediate Algebra)题目中,原来的GPT⑷代码解析器准确率为50.1%,使用新方法后提高到74.4%。
除此以外,研究人员还在GSM8K、MMLU-Math、MMLU-STEM等数据集长进行了验证。
△在GSM8K数据集上的表现上表可以看出,使用验证引导加权多数投票的方法还可以显著减少需要采样的解路径数量(Sampled paths),在GSM8K数据集上只需要5个路径就达到97%的准确率。
△在MMLU数据集上的表现针对没有同难度的题目(下图a)以及没有同类型题目(下图b)的测试中,使用新方法后准确率都有了提升。
△每条曲线上的四个点分别对应于使用Prompt 1、Prompt 2、BasicPrompt、CSV Prompt得到的结果研究人员还发现GPT⑷代码解析器的代码使用频率提高取准确率提高正相关随着题目难度的增加,代码使用频率稳步上升。
这说明在较难的数学问题上,更频繁地使用代码很重要此外,值得注意的是,尽管添加基于代码的自我验证可以提高每个单独题目类型的性能,但改进的程度也因题目类型而异,从7.6%到仅0.6%没有等研究人员指出:特别是几何问题的准确性仅提高了0.6%,原本GPT⑷代码解析器的准确性也只有54.0%,在各个题目类型中属于较低的。
这种差异可能是因为解决几何问题通常需要多模态,超出了本文研究范围论文传送门:https://arxiv.org/abs/2308.07921参考链接:[1]https://twitter.com/_akhaliq/status/1691734872329699813?s=20
[2]https://x.com/justfannet/status/1691983780498600376?s=46&t=iTysI4vQLQqCNJjSmBODPw— 完 —量子位 QbitAI · 头条号签约
关注我们,第1时间获知前沿科技动态
如果您觉得这篇文章对您有所帮助,请在下方留下您的评论,让更多人看到。
当前非电脑浏览器正常宽度,请使用移动设备访问本站!