赞
踩
本文是关于2022年NIPS论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》的简要技术介绍。论文提出使用思维链提示(Chain-of-thought Prompting)可以有效促进大语言模型的逐步推理能力,进而获得更加准确的效果,尤其对于需要逐步推理的任务。
有关本专栏的更多内容,请参考大语言模型文献调研专栏目录
Chain-of-thought(以下简称CoT)是通过提示词的调整来改变大语言模型的输出结构的方法,这种方法低成本而高效,无需对大模型进行任何训练和微调,只需要在提问时给出少量的推理样例,让大模型模仿推理过程,可以获得让模型输出更多中间计算过程。论文在数学推理、常识推理和符号推理三个基准上验证了CoT的性能。
关于CoT,有一些需要读者关注的问题:
接下来我们根据这篇论文来理解关于CoT的一些技术知识。
论文:https://arxiv.org/pdf/2201.11903.pdf
论文引用:
@article{wei2022chain,
title={Chain-of-thought prompting elicits reasoning in large language models},
author={Wei, Jason and Wang, Xuezhi and Schuurmans, Dale and Bosma, Maarten and Xia, Fei and Chi, Ed and Le, Quoc V and Zhou, Denny and others},
journal={Advances in neural information processing systems},
volume={35},
pages={24824--24837},
year={2022}
}
经过大量数据训练过的大语言模型天然的具备一定程度推理能力,为了解锁并使用这个能力,有研究者使用格式化的推理数据对大模型进行微调,然而数据的构建是一个成本高昂的问题;还有研究者使用小样本学习的方式,将输入大模型的提示语句中增加了一部分输入-输出示例,虽然不需要针对每个任务构建一个训练集,但是在一些需要推理的任务中性能欠佳。论文提出的CoT综合了上述方法的优点,通过小样本提示促使模型进行逐步推理,获得中间结果。
CoT有以下几个值得关注的属性:
基准。作者在GSM8K、SVAMP、ASDiv、AQuA和MAWPS五个数学问题数据集上对CoT进行测试。
标准提示。作者考虑标准的小样本提示,将样例问答的输入-输出对以文本形式给到大语言模型,然后针对新问题进行测试。
思维链提示。作者手工地构造了8组小样本样例,每个样例都包含思维链提示,对于上述每个基准数据,都采用这些样例进行提示。
语言模型。作者在选择语言模型时,关注了不同的系列,每个系列又根据参数量做了选择。语言模型的类型主要包括:
对于CoT的实验结果和结论,有以下要点:
对于消融实验,作者比较了其他三种类型的提示方式:
只有方程。该参考实验主要用于验证CoT是否是通过输出数学等式实现推理的,因此要求模型在输出计算结果之前,输出获得这个计算结果所涉及到的推理公式。然而实验结果表明,这种方式并不能让模型获得更准确的结果,说明在没有自然语言推理步骤的情况下,直接将推理过程转换成公式是困难的。
只有计算变量。CoT有效的另一个可能原因是,它鼓励模型进行了更多的计算。因此作者设计了该实验,要求模型输出时通过一串点来表示一个变量,例如3用“…”表示,效果也和标准提示差别不大,这表明变量计算也不是CoT成功的关键。
结果之后进行CoT。CoT成功的另一个可能原因是CoT让模型更好利用预训练时的相关知识,因此作者将提示的答案和推理过程倒置,结果让然与基线模型类似,这表明CoT中的序列推理要比知识本身更有帮助。
既然CoT有效,那么就有一个关键的问题,如果用户把提示样例换掉,还可以获得这么好的效果吗?作者在此做了一个实验来验证CoT的鲁棒性。让另外两个人写一些小样本推理样例,发现CoT的有效性和语言风格关系不大。作者也从GSM8K训练集中随机的选择一些样本作为CoT的小样本,也是有效的。这说明了CoT的鲁棒性。
基准。对于常识推理任务,作者选了CSQA、StrategyQA、BIG-bench effort中的Date Understanding和Sport Understanding,以及SayCan数据集进行测试。
提示。作者从训练集中随机选出一些样本作为CoT的样例,对于没有训练集的数据集,作者将验证集进行拆分,对前10个样本进行标注。
结果。结论和上一个小结类似:
两个任务。作者选了两个任务来验证CoT在符号推理任务上的性能。
实验结果。PaLM 540B加入CoT后可以取得100%的准确率,但是小模型仍然性能较差。
整体来看,论文有以下要点需要关注:
CoT也有一些局限性:
这一部分是包含在补充材料中的,作者试着回答了人们比较关心的一些问题。
答案是多方面的,作者试着从误差分析的角度来解答。作者从PaLM 62B中人工选了45个错误样例,包括20个理解错误,18个步骤错误和7个其他错误。当模型参数量提高到540B时,这些错误都被大幅度的修正,这说明了大参数量的模型具备更强大的理解和推理能力。此外,还有几点需要留意:
作者通过以下方式验证了CoT提示工程的敏感程度。
即使如此,提示工程仍然重要,可以进一步提高模型的性能。
当任务满足以下三个条件时,CoT可以受益:
对于一些算术推理任务,模型难以将任务本身翻译成算法方程,模型更擅长用自然语言的方式进行逐步的分解,而非转换成方程式,比如:
有关本专栏的更多内容,请参考大语言模型文献调研专栏目录
笔者自知才疏学浅,难免疏漏与谬误,若有高见,请不吝赐教,笔者将不胜感激!
softargmax
2024年3月28日
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。