大型语言模型(LLM)的自我反思能力受到了广泛关注。例如 Reflexion,Self-Refine 等 prompt 策略让 LLM 基于自我评估或外部的反馈来改善 LLM 的输出质量。但是,最新研究显示,在缺乏外部反馈的情况下,LLM 内在的反思能力是十分不稳定的,有时候甚至会产生负面的效果,尤其是在数学推理等复杂场景。
来自浙江大学的研究者发现,LLM 自我反思的关键在于自我评估(self-evaluate)时的 feedback 的质量。他们注意到,LLM 在自我评估时常表现出过度自信(Overconfident)或高度随机性(Inconsistent),即 LLM 往往会提供十分顽固或很随机的 feedback,从而导致反思效果不理想。
为了提高 LLM 的内在反思能力,作者们提出了一种新颖的自我对比(Self-Contrast)策略:它根据用户输入的问题,探索多种不同的解题视角,然后让 LLM 对比这些视角间的差异,最后将这些差异汇总成一份检查清单,用以帮助 LLM 重新审视和消除这些差异,实现更稳定的自我反思。
▲ 图1. Self-Contrast 示意图
Self-Contrast 为 LLM 提供了多样化的解题视角,有助于减轻其固有的偏见。更重要的是,不同视角的推理过程之间的差异往往揭示了一些容易被 LLM 忽略的潜在错误或固有不确定性。因此可以利用这种多个推理过程之间的差异实现更准确和稳定的自我反思。作者们在数学推理(GSM8K)和创意翻译任务(CommonMT)上评估 Self-Contrast,都取得了良好的提升。
论文题目:
Self-Contrast: Better Reflection Through Inconsistent Solving Perspectives
论文链接:
https://arxiv.org/abs/2401.02009
LLM的反思过程存在什么问题?
1.1 反思前后性能变化
首先作者在数学推理和翻译任务上详细地对比了反思前后精度差异,并且还计算了前后精度变化的显著度。值得注意的是,该文章研究的是 LLM 自身的反思能力,即没有任何外部 feedback 下,仅仅依靠 LLM 自身能否实现反思。
▲(Table 1)从实验结果来看反思并没有真正带来提升,有时候甚至还有负面的作用。即反思导致了性能下降。
1.2 对反思中产生的feedback分析
更进一步的作者研究为何反思没有带来性能提升。在 GSM8K 上他们定义了几种反思行为
1- 有效反思(Valid):错误回复被改正确, 统计有 48 例
2- 无效反思(Invalid):错误没有被改正, 统计有 269 例
3- 有毒反思(Toxic):刚开始正确的回复被反而被改错, 统计有 52 例
▲(Table 2)因为有效反思和有毒反思的数量差不多类似,所以整体来看反思并没有带来提升。
此外,作者们分析了这几种反思行为对应的 Self-evaluate 过程的 feedback,发现这些 feedback 存在很大的问题。他们发现 feedback 主要存在两种情况
1- 过于顽固的 feedback:初次回复中明明是存在明显的错误,但是 LLM 自我评估时候坚持认为没有任何问题
2- 多次自我评估的 feedback 不一致:对于同一个回复,多次自我评估产生的 feedback 非常不一致,有时候认为没问题,有时候觉得 step1 有问题,有时候觉得 step2 有问题。
例如 table2 中显示,对于 Invalid 的反思类别中 53.5% 都是顽固的 feedback,45.3% 的情况下 LLM 无法产生稳定一致的反馈。
自我对比策略
自我对比包含三个步骤:
创建多样化视角
对比视角间的差异
消除差异
他们首先鼓励 LLM 自主地根据用户的问题场景创造一系列 prompt,每个 prompt 都提供了一个独特的问题解决视角,例如不同的思维方式、身份设定、不同的个性或偏好。这些多元化的视角促使 LLM 生成不同的 responses。
其次 LLM 这些 responses 之间的差异进行对比分析。最后,他们将这些差异转化为一个详尽的检查清单(checklist),用于检查和反思。这个 checklist 指导 LLM 仔细检查导致视角间结果不一致的差异原因,例如随机错误或固有偏见。
上图是在翻译场景下的一个例子。首先 LLM 根据用户输入的翻译句子: 这个计划被枪毙了,LLM 自己设计了多个翻译的 prompt,每个 prompt 代表一个翻译视角,例如直译视角,意译视角,军事视角,文化视角等等。然后每个 prompt 输入 LLM 得到一个翻译结果。过滤了相似的结果,得到了三个不同的候选翻译(result1, result2, result5)。然后三个候选结果之间两两对比,得到了三个差异。
这些差异包括用词,情感上的区别,例如 result1 的翻译 “shot to death” 和 result2 的翻译 “axed” 相比,LLM 对比他们两后发现他们两的不同是因为对源句子“被枪毙”的理解有所不同,“shot to death” 比较生硬。最后 LLM 将这些差异总结成一个 checklist 用于反思。
在数学推理场景下也是类似,对比不同解题过程,很容易发现一些差异,也就是一些细微的错误:
自我对比策略对反思的效果
3.1 Self-Contrast改善了LLM反思的性能
作者比较了一些 baselines,包括 self-reflection,self-consistency,multi-agent 等方法,比较了反思后性能以及所消耗的 token 数
作者发现这种 self-contrast 策略可以在数学推理和翻译任务上比较稳定地提升反思效果,并且具有较好的泛化性,在不同的 LLMs 上都可以观察到提升。此外 self-contrast 所消耗的 tokens 也可以接受,略低于 self-consistency。
3.2 为何self-contrast能增强反思
作者发现,self-contrast 能让反思有效的原因在于 self-contrast 能够减少了上文提及的无效反思(Invalid)和有害的反思(Toxic)。正如 table6 中展示的效果,这两种 cases 均减少了,因而反思更有效果。
此外,作者还提出了一个问题:
Self-Contrast 的核心在于对比。如果对比的两个 solutions 都不正确,是否也有效果。
在 table7 中作者研究了这个问题。他们划分了三种情况:
1- 对比一个正确一个错误的 solutions
2- 对比两个都不正确的 solutions,并且有相似的错误
3- 对比两个都不正确的 solutions, 但是错误不相似。
作者发现只要两个 solutions 不相似,对比就可能带来提升(70.1% to 75.5%)。这也很好理解,例如 solution1 只有 step1 有问题,solution2 中 step2 有问题,两个 solutions 一对比,有可能就让 LLM 发现他们各自的问题。但是如果两个 solutions 都十分相似,那对比他们之间的差异也就是去了意义(70.9%)。
总结
在本文中,作者对大型语言模型的内在反思能力进行了全面的研究。研究结果显示了一个显著的挑战:在没有外部反馈的情况下,LLM 难以自行纠正之前回应中的错误。通过分析它们的自我评估过程,作者发现 LLM 无法准确评估之前的解决方案,并且经常给出过于自信或不一致的反馈,这限制了它们的反思能力。
为了改善这一情况,本文提出了“自我对比”策略,这是一种通过对比多个视角之间的差异来找到一些潜在错误,将对比的结果总结一个详细的检查清单,从而用于反思。实验表明,“自我对比”在不同的场景和应用于不同的 LLM 时都表现出色。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·
·
·