验证究竟能修复什么?
验证在模型的错误是推理失误而非知识缺失时最为有效。2023年的一项研究中,研究人员让GPT-3生成思维链,然后通过从结论倒推来验证自身答案;这提升了其在算术、常识和逻辑推理基准上的准确率[2]。关键在于,模型将自己的结论作为条件来重新检查推理步骤,从而捕捉到原本会累积的错误。
同样地,2023年提出的一种“验证链”方法,在基于列表的问题、多跨度阅读理解以及长文本生成任务中,均减少了幻觉现象——即那些看似合理但实际错误的陈述[3]。该方法的工作流程是:让模型先起草一个答案,规划验证问题,独立回答这些问题(以确保答案不受草稿偏见影响),最后生成一份修正后的最终回复。这种独立核查正是关键所在;如果模型只是重读自己的草稿,往往会重复同样的错误。
验证在哪些环节仍会出错?
验证并不能保证完美,尤其是在任务复杂或模型初始输出存在严重缺陷的情况下。在2024年一项关于自动化领域建模的研究中,与单步基线相比,采用带自我反思的多步迭代方法使类别的F1分数提升了22.71%,关系的F1分数提升了75.18%,但属性方面没有显著改善[1]。这表明验证有助于解决某些类型的错误(如遗漏元素、复杂模式),但对其他错误(如属性提取)效果有限。
此外,验证过程在计算上可能代价高昂,且难以扩展到非常长的任务。链式验证论文指出,虽然该方法能减少幻觉,但无法完全消除,而且它需要多次模型调用——起草、规划、回答和定稿——这会增加成本和延迟[3]。对于步骤繁多的任务,错误漏过的概率会增大,而如果模型自身的反馈有误,验证过程本身也可能引入新的错误[1]。
如何验证才能获得最大收益?
证据指向两条实用规则:将任务分解为多个步骤,并独立检查每一步。链式验证方法明确地将验证问题与草稿分开回答,从而防止模型被自身初始回答所影响[3]。类似地,多步骤领域建模方法迭代提取要素,并利用自我反思评估每个要素,从而在关系识别方面带来显著提升[1]。
另一条路径是借助外部工具或人工监督。ART框架(自动推理与工具使用)允许模型暂停下来调用搜索或代码执行等工具,从而捕捉纯语言推理可能遗漏的算术或事实错误[4]。而对于较小的模型,通过在多步推理示例上进行微调,使其专精于目标任务,可以提升其性能,但代价是牺牲通用能力[5]。因此,验证在结合外部检查或任务特定训练时效果最佳,而非作为独立的解决方案。
关于这些来源
这个回答基于5项研究(2项经同行评审,3项为预印本),发表于2023年至2024年间,其中1项为2024年或之后发表,合计被引用196次。这些研究是从5项通过质量筛选的研究中选出的最相关者,而这些研究又源自从超过5亿篇论文数据库中检索到的44篇文献。
本文引用的文献
基于大语言模型的多步迭代式自动化领域建模
一种多步骤迭代式领域建模方法结合自我反思,在类别上的F1分数较单步骤基线提升了22.71%,在关系上提升了75.18%,但属性方面未见显著提升。
大型语言模型通过自我验证能够成为更好的推理者
自我验证,即模型通过反向推理检查自身思维链结论,在算术、常识和逻辑推理数据集上均提升了准确率。
链式验证减少大型语言模型中的幻觉
链式验证(CoVe)通过规划并独立回答验证问题,在基于列表的问答、多跨度问答以及长文本生成任务中均显著减少了幻觉现象。
ART:面向大型语言模型的自动多步推理与工具使用
ART(自动推理与工具使用)能够自动生成包含工具调用的多步推理程序,在BigBench和MMLU基准测试上,其性能优于少样本提示和自动思维链方法。
让小型语言模型专精于多步推理
将GPT-3.5的多步推理能力蒸馏到较小的T5模型(≤11B)中,提升了它们的数学推理能力,但代价是通用能力有所下降。
