赞
踩
介绍一下最近在语言模型做解题方面的进展"Design of Chain-of-Thought in Math Problem Solving".
大模型在数学解题方面效果现在其实还并不算完美,尤其是使用自然语言推理,还不能生成完全可靠的Chain-of-thought (CoT)的推理步骤。后来有作者也提出运用Python程序来当作CoT (Gao et al., 2023), 效果也是非常显著。
博客介绍的这篇文章没有太多的去提出一些新的东西,只是针对CoT的各种表达在数学解题中的效果做一个比较,同时也采用了 SFT + Majority Voting 或者 SFT + Reranking 的范式,对整体效果做了一个比较大的提升。
就是看各种各样的CoT,哪一个在数学解题这个任务上表现更好了。比较直接,对比下面几种CoT 和程序的表达对比,同时文章采用了Wolfram和Python两种程序语言来做对比实验。
这部分比较常规,因为我们在训练集中有正确的数值答案,我们只需要使用GPT-3.5-Turbo Few-Shot Prompting的办法,去得到中间的CoT推理路径。我们可以从推理路径中抽取出Prompting结果的答案,和我们正确的结果进行比较,如果是正确的,那么大概率CoT也是正确的。
这里其实更像是一个假设,如果CoT是程序的话,大概率可以是正确因为需要跑一下这个程序。但如果CoT是自然语言,“认为CoT也是对的“ 这个假设可能就比较弱了,因为也有可能答案对了,CoT错了。但因为我们预测的是数值,如果这个数值预测,在这么大的空间里面搜索都对了,那也可以认为CoT是对的。因为文章重点并不是数据本身,所以这里其实作者也没有做太多的验证。
这里的做法和SoTA的做法(OpenAI的Let’s Verify Step-by-Step, 以及DeepMind的Solving math word problems with process- and outcome-based feedback)类似,都是一下几个步骤。
Reward Model 训练主要需要一些正例和负例作为样本,这里参考了OpenAI原来GSM8K数据集论文以及DeepMind的论文。
这里的关键在:“怎么样不用额外数据情况得到正例负例”
这里其实我比较关注GSM8K 的效果,最高可以提升到80.9。这里没有放SFT的结果,因为怕太乱了,具体可以参考论文里面的。但这个方法对模型的效果提升,真的是巨大的,和原来的SFT比较,至少>10%的提升。
这里面我们看到,混合在一起,其实也是只需要训练一个模型而已,对生成得到的三种CoT进行ranking,横向比较,这样得到的效果在GSM8K上还能继续提升3.5%。非常的Surprising.
这里意味着 “每个问题可能都有对应最适合的CoT”,后面的research也可以往这个方向继续研究。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。