Self-consistency prompting — 自洽性提示
自洽性(英语:Self-Consistency Prompting, SC)是提示工程中的一种解码方法或策略,旨在提高大语言模型 (LLM)在解决需要多步推理的任务(如算术和逻辑谜题)时的准确性和可靠性[1]。该方法由 Google Research 的研究人员于 2022 年提出,作为“思维链”(Chain-of-Thought, CoT)技术的改进版。
其核心思想是,不局限于单一的“贪婪”解码路径,而是针对同一个问题生成多种不同的推理路径,然后选择在这些路径中出现频率最高的答案作为最终结果。这种方法基于一个直观的原则:如果一个模型通过不同的推理方式多次得出相同的结果,那么这个结果是正确的可能性就很高[1]。
背景与前提
自洽性(Self-Consistency)方法是思维链(Chain-of-Thought, CoT)技术的直接延伸。由 Wei 等人(2022)提出的 CoT 技术通过促使模型明确写出解题步骤,显著提升了 LLM 解决复杂问题的能力[2]。然而,CoT 的基本实现采用了“贪婪解码”(greedy decoding),即在每一步都选择最可能的下一个词元(token)。这带来了一个局限:如果模型在早期步骤中犯错,就无法偏离这个错误的轨迹并进行修正。自洽性方法正是为了解决这一问题而提出的[1]。
工作机制
自洽性算法用“采样后聚合”的程序取代了确定性的贪婪方法,包含以下步骤[1]:
- 生成多个推理路径:模型不只生成一个答案,而是使用思维链方法对同一个请求多次(例如,最多 40 次)生成解决方案。为了获得多样化的推理路径,会采用随机解码方法,如温度采样(温度参数 > 0)。
- 聚合与选择答案:从所有生成的推理链中仅提取最终答案(例如,一个数值)。然后,在这些答案中选择出现频率最高的一个。这个答案将作为最终输出。
这种方法模拟了“自集成”(self-ensembling)的原则,即利用同一模型的多个输出来提高可靠性并减少随机错误[3]。
效果与成果
在最初的研究中,自洽性方法在一系列流行的基准测试中表现出显著的准确性提升,尤其是在需要算术和逻辑推理的任务上。
- 在数学问题基准测试 GSM8K 上,PaLM-540B 模型的准确率从 56.6%(使用 CoT)提升至 74.4%(使用自洽性),增幅达到 17.8%。
- 在其他算术任务上,如 SVAMP 和 AQuA,准确率分别提升了 +11.0% 和 +12.2%。
- 在需要逻辑和常识推理的任务上,如 StrategyQA,准确率提升了 +6.4%[1]。
通过使用大型模型(如 GPT-3 175B 和 PaLM 540B),自洽性方法的应用在多个基准测试上创造了新的业界顶尖(state-of-the-art)性能记录[1]。
优点与局限
优点
- 提高准确性:显著改善了需要复杂多步推理任务的性能。
- 可靠性:该方法对于单一推理链中可能出现的错误更具鲁棒性。
- 实现简单:无需额外训练或修改模型架构。该方法可以作为现有模型的简单“包装器”来实现。
局限
- 计算成本高:主要缺点是需要对单个请求进行多次答案生成(例如 10、20 或 40 次),这会成比例地增加推理成本和时间。
- 适用性有限:标准方法对于答案格式明确定义的任务(如数字、“是/否”、列表选项)最为有效,因为这些任务易于进行多数投票。但它不适用于开放式生成任务(如撰写文章、总结摘要),因为这类答案的形式是独特的。
- 系统性错误的风险:如果模型系统性地生成错误的推理,而这些推理又碰巧收敛到同一个错误答案,那么自洽性不仅无法纠正错误,反而会增强对错误答案的信心。
方法的发展:Universal Self-Consistency
基础自洽性方法在处理自由格式答案任务上的局限性在后续研究中得到了解决。2023 年末,一组来自 Google DeepMind 的研究人员提出了通用自洽性(Universal Self-Consistency, USC)方法[4]。
在 USC 中,LLM 本身被用作“裁判”来进行聚合,而不是简单地对最终答案进行投票。模型会生成多个完整的解决方案,然后收到一个新的提示,要求它从中选择“最一致”或“质量最高”的方案。这种方法使得自洽性原则能够应用于具有开放和创造性答案格式的任务[5]。
链接
- Self-Consistency Improves Chain of Thought Reasoning in Language Models — Google Research 的原始科学论文。
- Self-Consistency — Prompt Engineering Guide 上的指南。
参考文献
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Aggarwal, P. et al. (2023). Let’s Sample Step by Step: Adaptive-Consistency for Efficient Reasoning and Coding with LLMs. arXiv:2305.11860.
- Chen, X. et al. (2023). Universal Self-Consistency with Large Language Models. arXiv:2311.17311.
- Knappe, T. et al. (2024). Semantic Self-Consistency: Enhancing Language Model Reasoning via Semantic Weighting. arXiv:2410.07839.
- Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
- Li, T. et al. (2024). Improving Faithfulness of Large Language Models in Summarization via Sliding Generation and Self-Consistency. arXiv:2407.21443.
- Byerly, A.; Khashabi, D. (2024). How Effective Is Self-Consistency for Long-Context Problems?. arXiv:2411.01101.
- Novikova, J. et al. (2025). Consistency in Language Models: Current Landscape, Challenges, and Future Directions. arXiv:2505.00268.
- Admoni, S. et al. (2025). Towards Large Language Models with Self-Consistent Natural Language Explanations. arXiv:2506.07523.
注释
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 Wang, X., Wei, J., Schuurmans, D., et al. (2022). «Self-Consistency Improves Chain of Thought Reasoning in Language Models». arXiv. [1]
- ↑ Wei, J., Wang, X., Schuurmans, D., et al. (2022). «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». NeurIPS 2022.
- ↑ «Self-Consistency Improves Chain of Thought Reasoning in Language Models - Summary». Portkey. [2]
- ↑ Chen, X., et al. (2023). «Universal Self-Consistency with Large Language Models». arXiv. [3]
- ↑ «Universal Self-Consistency with Large Language Models». Google DeepMind Publications. [4]