文章转载来源:AGIing
原文来源:机器之心
图片来源:由无界 AI生成
今年,大型语言模型(LLM)成为 AI 领域关注的焦点。LLM 在各种自然语言处理(NLP)任务上取得了显著的进展,在推理方面的突破尤其令人惊艳。但在复杂的推理任务上,LLM 的表现仍然欠佳。
那么,LLM 能否判断出自己的推理存在错误?最近,剑桥大学和 Google Research 联合开展的一项研究发现:LLM 找不到推理错误,但却能使用该研究提出的回溯(backtracking)方法纠正错误。
这篇论文引起了一些争论,有人提出异议,比如在 Hacker News 上,有人评论这篇论文的标题言过其实,有些标题党。也有人批评说其中提出的校正逻辑错误的方法基于模式匹配,而非采用逻辑方法,这种方法其实容易失败。
Huang 等人在论文《Large language models cannot self-correct reasoning yet》中指出:自我校正或许是能有效地提升模型输出的风格和质量,但鲜有证据表明 LLM 有能力在没有外部反馈的情况下识别和纠正自身的推理和逻辑错误。比如 Reflexion 和 RCI 都使用了基本真值的纠正结果作为停止自我校正循环的信号。
剑桥大学和 Google Research 的研究团队提出了一种新思路:不再把自我校正看作一个单一过程,而是分成错误发现和输出校正两个过程:
本文的主要贡献包括:
BIG-Bench 由 2186 个 CoT 风格的轨迹信息集合组成。每个轨迹由 PaLM 2-L-Unicorn 生成,并标注了第一个逻辑错误的位置。表 1 展示了一个轨迹示例,其中错误位于第 4 步。
这些轨迹来自 BIG-Bench 数据集中的 5 个任务:词排序、跟踪经过混洗的对象、逻辑推演、多步算术和 Dyck 语言。
他们使用 CoT prompt 设计法来调用 PaLM 2,使其解答每个任务的问题。为了将 CoT 轨迹分成明确的步骤,他们使用了论文《React: Synergizing reasoning and acting in language models》中提出的方法,分开生成每一步,并使用了换行符作为停止 token。
在该数据集中,生成所有轨迹时,temperature = 0。答案的正确性由精确匹配决定。
基准测试结果
表 4 报告了 GPT-4-Turbo、GPT-4 和 GPT-3.5-Turbo 在新的错误发现数据集上的准确度。
对于每个问题,可能的答案有两种情况:要么没有错误,要么就有错误。如有错误,则数值 N 则会指示第一个错误出现的步骤。
所有模型都被输入了同样的 3 个 prompt。他们使用了三种不同的 prompt 设计方法:
相关讨论
研究结果表明,这三个模型都难以应对这个新的错误发现数据集。GPT 的表现最好,但其在直接的步骤层面的 prompt 设计上也只能达到 52.87 的总体准确度。
这说明当前最佳的 LLM 难以发现错误,即使是在最简单和明确的案例中。相较之下,人类在没有特定专业知识时也能发现错误,并且具有很高的一致性。
研究者猜测:LLM 无法发现错误是 LLM 无法自我校正推理错误的主要原因。
prompt 设计方法的比较
研究者发现,从直接轨迹层面的方法到步骤层面的方法再到 CoT 方法,无错误的轨迹准确度显著下降。图 1 展示了这种权衡。
研究者猜测其原因是模型生成的输出的数量。这三种方法涉及到生成越来越复杂的输出:直接的轨迹层面的 prompt 设计方法需要单个 token,直接的步骤层面的 prompt 设计方法每步需要一个 token,CoT 步骤层面的 prompt 设计每步需要多个句子。如果每次生成调用都有一定的概率识别出错误,那么对每条轨迹的调用越多,模型识别出至少一个错误的可能性就越大。
将错误位置作为正确性代理的少样本 prompt 设计
研究者探究了这些 prompt 设计方法能否可靠地决定一个轨迹的正确性,而不是错误位置。
他们计算了平均 F1 分数,依据为模型能否预测轨迹中是否存在错误。如果存在错误,则假设模型预测的是该轨迹是 incorrect_ans。否则就假设模型预测的是该轨迹是 correct_ans。
使用 correct_ans 和 incorrect_ans 作为正例标签,并根据每个标签的出现次数进行加权,研究者计算了平均 F1 分数,结果见表 5。
这个加权 F1 分数表明,对于确定最终答案的正确性而言,通过 prompt 寻找错误是一个很糟糕的策略。
回溯
Huang 等人指出 LLM 无法在没有外部反馈的情况下自我校正逻辑错误。但是,在许多真实世界应用中,通常没有可用的外部反馈。
研究者在这项研究中采用了一种替代方案:用一个在少量数据上训练的轻量级分类器替代外部反馈。与传统强化学习中的奖励模型类似,这个分类器可以检测 CoT 轨迹中的任何逻辑错误,然后再将其反馈给生成器模型以提升输出。如果想要最大化提升,可以进行多次迭代。
研究者提出了一种简单的回溯方法,可以根据逻辑错误的位置来提升模型的输出:
相比于之前的自我校正方法,这种回溯方法有诸多优势:
研究者基于 BIG-Bench Mistake 数据集实验了回溯方法能否帮助 LLM 校正逻辑错误。结果见表 6。
∆accuracy✓ 是指在原始答案是 correct_ans 时,在轨迹集合上的 accuracy_ans 之差。
∆accuracy✗ 则是对于 incorrect_ans 轨迹的结果。
这些分数结果表明:校正 incorrect_ans 轨迹的收益大于改变原本正确的答案所造成的损失。此外,尽管随机基准也获得了提升,但它们的提升显著小于使用真正错误位置时的提升。注意,在随机基准中,涉及步骤更少的任务更可能获得性能提升,因为这样更可能找到真正错误的位置。
为了探索在没有好的标签时,需要哪种准确度等级的奖励模型,他们实验了通过模拟的奖励模型使用回溯;这种模拟的奖励模型的设计目标是产生不同准确度等级的标签。他们使用 accuracy_RM 表示模拟奖励模型在指定错误位置的准确度。
当给定奖励模型的 accuracy_RM 为 X% 时,便在 X% 的时间使用来自 BIG-Bench Mistake 的错误位置。对于剩余的 (100 − X)%,就随机采样一个错误位置。为了模拟典型分类器的行为,会按照与数据集分布相匹配的方式来采样错误位置。研究者也想办法确保了采样的错误位置与正确位置不匹配。结果见图 2。
可以看到 ∆accuracy✓ 的损失在 65% 时开始趋于稳定。事实上,对于大多数任务,在 accuracy_RM 大约为 60-70% 时,∆accuracy✓ 就已经大于 ∆accuracy✗ 了。这表明尽管更高的准确度能得到更好的结果,但即便没有黄金标准的错误位置标签,回溯也依然有效。
来源:AGIing
发布人:暖色
声明:该文观点仅代表作者本人,不代表火讯财经立场。火讯财经系信息发布平台,仅提供信息存储空间服务。
如文章涉及侵权, 请及时致函告之,本站将第⼀时间删除⽂章。邮箱:840034348@qq.com