思维链推理的演绎验证
Deductive Verification of Chain-of-Thought Reasoning
Zhan Ling, Yunhao Fang, Xuanlin Li, Zhiao Huang, M. Lee, Roland Memisevic, Hao Su
arXiv (Cornell University) · 2023-06-06
摘要
大型语言模型在执行各类推理任务时,借助思维链提示技术能够显著提升表现。尽管思维链技术可使模型生成更为完整的推理过程,但其对中间推理步骤的重视可能会无意中引发幻觉现象与累积性错误,进而制约模型解决复杂推理问题的能力。受人类通过严谨细致的演绎逻辑推理过程来解决问题的方式的启发,我们试图让语言模型能够进行明确且严密的演绎推理,并通过自我验证来确保其推理过程的可靠性。然而,即便借助ChatGPT等先进模型,直接验证整个演绎推理过程的有效性仍颇具挑战性。鉴于此,我们提出将推理验证过程拆解为一系列循序渐进的子过程,每个子过程仅接收其所需的上下文与前提条件。为推进这一流程,我们提出了一种基于自然语言的演绎推理格式——自然程序。我们的方法能够使模型生成精确的推理步骤,且后续步骤能更严格地以先前步骤为依据;同时还能让语言模型以逐步方式开展推理自我验证。通过将这一验证过程融入每个演绎推理阶段,我们显著提升了所生成推理步骤的严谨性与可信度,在此过程中也提高了复杂推理任务的解答正确率。相关代码将于https://github.com/lz1oceani/verify_cot发布。
本摘要由 AI(Hy-MT2-Pro)翻译生成,仅供参考,请以原文为准。
AI 综述
基于全文生成- 主要观点
- 论文指出现有Chain-of-Thought提示虽能生成更完整推理过程,但对中间步骤的强调会引入幻觉与累积错误,从而限制大语言模型解决复杂推理任务。作者主张让语言模型进行显式、严格的演绎推理,并通过自验证保证推理过程的可信性。由于即使ChatGPT这类先进模型也难以直接验证整条演绎推理链的有效性,论文提出将验证分解为逐步子过程,每个子过程只接收必要上下文与前提。为实现该过程,论文提出Natural Program这一基于自然语言的演绎推理格式,使后续步骤更严格地建立在前述步骤之上,并支持逐步自验证。论文进一步将验证与Unanimity-Plurality Voting结合,以提升生成推理步骤的严谨性、可信性与可解释性,同时改善复杂推理任务的答案正确性。其关注点不只是最终答案正确,而是每个中间推理步骤的演绎有效性,因为最终答案正确时仍可能存在错误步骤。
- 研究方法
- 论文将基于推理的问答任务定义为元组(Q, C, O, A),把推理链表示为S=(s1, s2, ..., sm),并为每一步定义二元演绎有效性V(si),整链有效性为V(S)=∧V(si)。初步实验中,作者用GPT-3.5-turbo在GSM8K、AQuA、MATH、AddSub、Date、Last Letters六个数据集上,各随机抽取50条有效推理链和50条含错推理链,以零样本和两样本提示一次性验证整条推理链。论文提出Natural Program格式:先用指令要求模型提取并编号问题相关前提QC,再生成带“#{number} (by {list_of_premises_used})”前缀的推理步骤,最后一步含Final Step标签并给出最终答案。验证时只保留被引用前提和当前步骤描述,用one-shot提示让模型分析正确性并以yes或no结尾,再对单步有效性做多数投票。论文还提出Unanimity-Plurality Voting两阶段策略:先采样k条推理链并逐步验证,保留所有步骤均有效的链,再在通过验证的候选答案间做多数投票。
- 学术贡献
- 论文提出Natural Program这一自然语言演绎推理格式,使模型可通过in-context learning生成带前提引用的可验证推理链,而无需微调。方法层面,论文将长链验证分解为仅含必要上下文和前提的逐步子过程,并让语言模型对每个演绎步骤进行自验证,区别于一次性验证整条推理链的做法。论文还提出将单步验证与Unanimity-Plurality Voting结合,在算术和常识数据集上展示其对推理严谨性、可信性、可解释性以及答案正确性的提升。在错误类型上,论文识别并消除reasoning error与grounding error,其中grounding error被定义为使用未在引用前提中出现的信息,这为分析CoT错误提供了具体分类。与依赖外部求解器或程序代码表示推理过程的方法不同,论文的方法可兼容量词、自然语言细微含义以及未显式列出的常识前提,并兼容Last Letters这类抽象推理任务。这些贡献对LLM推理验证、自验证以及CoT可靠性研究这一具体子领域具有价值。
- 存在局限
- 材料摘录未明确给出最终完整实验的准确率、全部数据集规模、模型版本与统计显著性检验,除整链验证平均约0.50至0.63外,单步验证和Unanimity-Plurality Voting的量化效果未在摘录中呈现。Natural Program依赖模型按指定格式生成编号前提和带前提引用的步骤,若模型不能稳定遵循格式,前提抽取、步骤分解与单步验证流程可能失效,而材料未报告格式遵循率。验证仍由大语言模型执行,单步验证即使较可靠也非形式化证明,存在误判可能,材料未给出假阳性与假阴性分析。当重复采样未能得到严格推理链时方法输出unknown以避免幻觉误导,但这会降低答案覆盖率,材料未报告unknown比例。初步整链验证实验在每个数据集仅抽取50条有效链和50条含错链,样本量较小,可能不足以覆盖多样的错误类型与长尾推理模式。方法主要在算术和常识数据集上测试,尚未在司法推理、数学证明等必须使用形式语言的场景中验证。
- 进一步研究方向
- 可针对包含量词、道德推理、概率模糊语如likely等自然语言推理任务构建专门数据集,用Natural Program生成推理链并逐步验证,以检验该格式在非证明型推理中的兼容性。可开展消融实验,改变采样链数k与单步验证采样数k′,测量验证准确率、最终答案正确率和unknown比例,并比较零样本、one-shot以及不同规模LLM的验证表现。可对reasoning error与grounding error进行细粒度分类标注,统计单步验证的假阳性与假阴性模式,分析哪些错误类型最易被漏检。可探索将Natural Program与形式化验证器或外部求解器结合,研究自然语言步骤到形式证明的转换与互验流程。可在司法推理、数学问题求解等要求严谨推理的长链基准上评估逐步验证对累积错误的抑制效果,并报告相对整链验证的增益。
本综述由 AI(deepseek-flash)阅读开放获取全文自动生成,仅供参考,不代表原文作者观点,请以原文为准。
参考文献
相关论文
话题:Topic Modeling