首页 >>  正文

math+problem

来源:baiyundou.net   日期:2024-08-05

西风 发自 凹非寺

量子位 | 公众号 QbitAI

GPT-4数学能力还能更强!

新研究发现GPT-4代码解释器做题准确率与其使用代码的频率有关。

为此,研究人员提出新方法对症下药,直接将其数学能力拔至新SOTA:

在MATH数据集上,做题准确率从53.9%增加到了84.3%

你没听错,就是前段时间被称为ChatGPT推出后最强模式的那个代码解析器(Code Interpreter)。

研究人员窥探了其代码生成和执行机制,使用自我验证、验证引导加权多数投票的方法,直接打开其做数学题的任督二脉。

好奇网友随即而来:

还想看他们做高数。

还有网友认为:

这也就是大脑的工作方式,人类在解决数学问题时也会自我验证。

一起来康康这项研究的细节~

两步提升数学能力

GPT-4代码解析器的代码生成和执行机制究竟是怎样的?

来自港中文MMLab、南京大学、中科大、清华、城大、长沙理工等多个机构的学者为解开这一问题,使用特定代码约束提示进行了一项试验。

他们设计了3种不同的提示方法,限制GPT-4代码解析器使用代码的频率:

  • Prompt 1:完全不允许使用代码,输出完全依赖自然语言推理,禁止将代码合并到解决方案中。
  • Prompt 2:只允许使用1次代码,也就是在生成解决方案时,只能在单个代码块内使用代码。
  • Basic Prompt:没有限制,GPT-4代码解析器可以进行一系列推理步骤,每个步骤都可由文字+Python代码组成。

△(a)不同提示回答准确率比较(b)代码使用频率与五个难度级别准确率都成比例,数学问题相对复杂时更明显

结果发现,允许GPT-4代码解析器多次生成和执行代码,其解题正确度明显高于仅用自然语言推理或只用1次代码的情况。

经分析,研究人员认为代码的多次生成和执行可以让GPT-4代码解析器逐步完善解决方案,当代码执行产生错误时,GPT-4代码解析器可以自我调试修改方案。

继而引入“代码使用频率”概念,量化不同提示方法下代码的使用次数。

基于前面的分析结果,研究人员希望能加强GPT-4代码解析器生成准确代码、评估代码执行结果以及自动调整解决方案的能力。

所以提出了CSV(自我验证)提示的方法,也就是为解决方案C引入了一个额外的验证阶段,称为V。

加入自我验证提示效果对应上图绿色Verification Prompt。

如此一来,GPT-4代码解析器需额外生成代码来验证答案,如果结果是False则重新推理得到正确答案。

CSV提示不仅对验证到逻辑推理每一步都进行了扩展,而且可以自动更正错误,无需外部模型或人工参与。

△MATH数据集中第712个中级代数问题。

CSV prompt:To solve the problem using code interpreter step by step, and please verify your answer using code interpreter.

通过上图这个例子可看出,在没有自我验证的情况下,模型生成了一个错误的答案。通过自我验证,模型纠正了错误并生成了正确的答案。

此外,鉴于CSV可以有效地验证问题的答案,研究人员又提出了验证引导加权多数投票(VW-voting)的方法,将自我验证结果集成到多数表决中,给予不同验证状态不同权重,使表决更可靠。

在实际操作中,一旦一个答案被确认为错误,那就不会进行额外的验证,从而得到一个错误的验证状态。研究人员分配相应的权重给这些状态:真实(wT)、不确定(wU)和错误(wF)。

最后从候选答案中择取得分最高的那一个:

比此前最高水平提高30%

用上了上述方法,GPT-4代码解析器做数学题的能力up up。

在MATH数据集上,原始GPT-4代码解析器的准确率为69.69%,使用CSV提示后提高到73.54%,再结合加权多数表决后进一步提高到84.32%,相比之前SOTA提高了30%以上。

△在MATH数据集上的准确率(%)

在MATH数据集的各个子任务中,提出方法均取得显著提高,尤其是在高难度级别的题目中效果更明显。例如在中级代数(Intermediate Algebra)题目中,原来的GPT-4代码解析器准确率为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-4代码解析器的代码使用频率提高与准确率提高正相关。随着题目难度的增加,代码使用频率稳步上升。这说明在较难的数学问题上,更频繁地使用代码很重要。

此外,值得注意的是,尽管添加基于代码的自我验证可以提高每个单独题目类型的性能,但改进的程度也因题目类型而异,从7.6%到仅0.6%不等。

研究人员指出:

特别是几何问题的准确性仅提高了0.6%,原本GPT-4代码解析器的准确性也只有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 · 头条号签约

","gnid":"92ff02114da6e6bf5","img_data":[{"flag":2,"img":[{"desc":"","height":"296","title":"","url":"https://p0.ssl.img.360kuai.com/t019af1dee70a02e0ac.jpg","width":"468"},{"desc":"","height":"180","title":"","url":"https://p0.ssl.img.360kuai.com/t01459f0771c3ca7b54.jpg","width":"1172"},{"desc":"","height":"160","title":"","url":"https://p0.ssl.img.360kuai.com/t0171f902e332b34c2e.jpg","width":"1176"},{"desc":"","height":"466","title":"","url":"https://p0.ssl.img.360kuai.com/t01ff17fc74d9a361be.jpg","width":"1076"},{"desc":"","height":"430","title":"","url":"https://p0.ssl.img.360kuai.com/t019d75c4b2f634e149.jpg","width":"1022"},{"desc":"","height":"146","title":"","url":"https://p0.ssl.img.360kuai.com/t01148ca792f8bf9ae4.jpg","width":"812"},{"desc":"","height":"680","title":"","url":"https://p0.ssl.img.360kuai.com/t01562749c27291377b.jpg","width":"1034"},{"desc":"","height":"644","title":"","url":"https://p0.ssl.img.360kuai.com/t01a3b4eae45838f1c0.jpg","width":"1032"},{"desc":"","height":"106","title":"","url":"https://p0.ssl.img.360kuai.com/t0145ed7292dda8aad4.jpg","width":"892"},{"desc":"","height":"86","title":"","url":"https://p0.ssl.img.360kuai.com/t0107dc8b09867459d4.jpg","width":"436"},{"desc":"","height":"238","title":"","url":"https://p0.ssl.img.360kuai.com/t01998a57ad4db0bfc9.jpg","width":"1010"},{"desc":"","height":"340","title":"","url":"https://p0.ssl.img.360kuai.com/t01b57bca97ff3b232e.jpg","width":"900"},{"desc":"","height":"428","title":"","url":"https://p0.ssl.img.360kuai.com/t0166e1a01987f63b6f.jpg","width":"936"},{"desc":"","height":"412","title":"","url":"https://p0.ssl.img.360kuai.com/t019d97de185f247b07.jpg","width":"1014"}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"pika","pub_time":1692259020000,"pure":"","rawurl":"http://zm.news.so.com/b72a0aa9529f32dd72e736f9c09e93b0","redirect":0,"rptid":"f9ea0aba75df9507","rss_ext":[],"s":"t","src":"量子位","tag":[],"title":"GPT-4数学再提30分,代码解析器任督二脉被打开,数学能力登SOTA

云洪哗4470math problemsinX(1 - cosX)^2 + cosX(1 - sinX)^2 =2 Thanks! -
扶荣幸18751427151 ______[答案] 是解方程吧? 设sin x 为a,cos x 为 b a^2+b^2=1 a(1-b)^2+b(1-a)^2=2 然后再解方程就差不多了 具体我也不太会解

云洪哗4470I have a math problem.还是Ihavea math question? -
扶荣幸18751427151 ______ problem和question都有“问题”的意思,但用法却不尽相同: 1. problem指说话者认为难以解决的问题,它与动词 solve或settle(解决)搭配. 而 question指说话者需要寻找答案的问题,它常与动词ask或answer连用. 2. 比较 试比较: ①The ...

云洪哗4470What do you mean a math problem?空填with for 还是by 为什么、请详细说明.谢谢 -
扶荣幸18751427151 ______ 用by,表方式.mean的句型有 what do you mean by...? what is your meaning of...? 一样的意思.希望你能采纳.

云洪哗4470"problem"什么意思? -
扶荣幸18751427151 ______ problem AHD:[pr糱搇卪] D.J.:[6pr%bl*m] K.K.:[6pr$bl*m] n.abbr:prob. A question to be considered, solved, or answered: 问题应该考虑、解决或回答的问题: math problems; the problem of how to hem a skirt evenly. 数学问题;关于如何给裙子...

云洪哗4470I always have problems - ------math -
扶荣幸18751427151 ______ 固定搭配 have difficulty in doing ,介词in 可以省略

云洪哗4470This math problems is not so - -------(easy) i can work it out easily -
扶荣幸18751427151 ______ This math problem is not so --difficult/uneasy------(easy) i can work it out easily 这个数学问题不是如此难,我能很容易地把它算出来.(根据句意应该填easy的反义词)

云洪哗4470He couldn't work out the math problem?的同意句!
扶荣幸18751427151 ______ He did not find the answer for the math question. The math problem that he couldn't work out. The math problem could not be worked out by him.

云洪哗4470初二英语The math problem is too hard - ___. -
扶荣幸18751427151 ______[选项] A. that we can't work it out B. for us to work out C. that we can't work out D. for us ro work it out

云洪哗4470This is very easy to work out the math problem.有什么错?
扶荣幸18751427151 ______ It is very easy to work out the math problem. It is +adj.+to do sth.~

云洪哗4470翻译英语中:他们解出那道数学题有困难 怎么读
扶荣幸18751427151 ______ 其实这是一个句型:Have trouble (in)doing sth 做什么事有困难.因此:They had trouble working out the math problem ,注:work out 算出,解出的意思.

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024