论文链接:https://arxiv.org/pdf/2203.11171.pdf
又到了读论文的时间,内心有点疲惫。这几天还是在看CoT的文章,今天这篇是讲如何利用self-consistency(自我一致性)来改进大语言模型的思维链推理过程。什么是self-consistency呢,读完论文感觉可以这么解释,就是有个渣男/大语言模型,你问了他五次昨天晚上九点跟谁在一起/文章里问大语言模型一个问题多次,他三次说跟同事去电影,一次说没干什么,还有一次说你好烦/大语言模型也给出了一些不同的包含推理过程的答案,不过里面也是有重叠的。然后你就根据渣男这几次反馈综合一个最具一致性的答案/same for LLM。我们来看一下文章的框架图,结合刚刚讲的例子是不是很好理解:
这个自我一致性具体到实验该怎么做呢?我们来看文章细节:
首先这里提到的答案a,其实是需要解析的,可以看文章的脚注:解析任务是依赖于问的问题,对于算数推理题吗,作者在The answer is的后头解析得到第一个数字为最终的答案;对于常识推理,作者在The answer is的后头解析得到完整的字符串为最终的答案。对于大多数模型的输出都具有 “{Reasoning paths}. The answer is X.”的格式。解析答案后,会根据所有的答案a来投票选举出最终的答案(即最具有一致性的答案)。当然了哇,为了让一切显得不那么简单,作者还是测试了不同的答案集成方式(加权和或者加权平均,带点标准化或者不带),虽然最后还是投票效果最好。
所有实验都是做了few-shot的设置,没有训练或者微调语言模型,就是在prompt输入的时候进行了举例。对于所有的算数推理任务,作者全部都用了一模一样的八个人工写出来的例子;对于常识推理任务,作者从训练集中随机抽取了4-7个例子。具体任务细节大家可以移步附录,这里给一个示例截图:
好的,读完了这篇文章,知道了果然面对渣男就要多问几次才行。模糊不清的爱,请立马走开。