一、概述
•STaR: Bootstrapping Reasoning With Reasoning
•Eric Zelikman, Yuhuai Wu, Jesse Mu, Noah D. Goodman
1 Motivation
• Step-by-step推理步骤生成可以提升语言模型在复杂推理任务(如数学或常识问答)上的性能,但是当前要让LLM能生成rationale推理过程,要么需要构建庞大的推理数据集,要么在只使用少量示例(但推理时牺牲了准确性)。
• 需要一种方法来利用少量的推理示例和大量未经过推理的数据来提升模型的推理能力。
1省流版总结:
2 专业版总结:
本文提出了一种名为“Self-Taught Reasoner”(STaR)的方法来解决语言模型在复杂推理任务上性能提升的问题。**STaR方法的核心思想是通过迭代地利用少量推理示例(rationales)和大量无推理数据集,逐步引导模型提升进行复杂推理的能力。**具体来说,STaR方法包括以下几个步骤:
3 Rationalization指的是什么?
Q1:为什么要用Rationalization?
• 直接让LLM生成推理思考过程,这些思考过程有些是对的,有些是错的, 直接拿正确的思考过程,来训练llm生成rational,由于没有增量信息,会导致模型不能从failed example中学习,这样就不能让模型具备对new problems进行推理的能力。
Q2: 如何生成Rational
• 如下图所示,直接让LLM生成推理过程, 对于failed的例子,加上label作为hint,基于hint,可以生成正确的推理过程。
3 Conclusion
• STaR显著提升了在多个数据集上的性能,相对于直接预测最终答案的模型,其效果更加突出。
• 在CommonsenseQA数据集上的表现与微调一个大30倍的最先进语言模型相当。
• STaR使得模型能够通过学习自身生成的推理步骤逐步提升推理能力。
二、详细内容
1 实验设计
数据集:
:模型采用的是6B的开源模型(GPT-J),其checkpoint和fine-tuning code都开源了。
2 Rationalization能快速提升accuracy(从失败中学习能快速成长!!!)
说明;rationalization指的就是对于failed的example,加上hint,生成正确的推理过程数据并用于训练。
结论:随着STaR算法迭代次数的增加,模型在算术任务上的准确率逐渐提高。特别是在使用rationalization的情况下,准确率提升更加块。
3 STaR + rationalization比直接FT和few-shot效果好很多
• CQA数据集
• GSM8K数据集
说明:
• Direct Finetuned:不输出中间推理过程
• STaR without rationalization:不从失败样例中学习(以label作为hint生成推理过程用于ft)
• STaR with rationalization:从失败中学习
结论1:生成中间推理过程能显著提升最终的精度 ,例如就算使用100%的数据,不加推理过程,精度只能到60%,加上后用更少的数据却能更高的精度(大于68%)。
结论2:rationalization从失败中学习能进一步提升精度。
三、总结
STaR方法的关键在于,它 允许模型通过自我生成的推理过程来自我改进,而不需要人工标注大量的推理数据集 。此外,**通过rationalization技术,STaR能够确保模型从其错误中学习,从而提高整体的推理能力。**论文的实验结果表明, STaR在多个数据集上的性能显著优于直接预测答案的模型,并且与使用30倍更大模型的微调性能相当。
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://jmbhsh.com/qitabaihuo/33321.html