Bootstrap

LLM论文笔记 17: Program of Thoughts Prompting (PoT)

  • Arxiv日期:2023.10.23
  • 机构:University of Waterloo / Vector Institute / University of California, Santa Barabra / Google Research

关键词

  • prompting engineering
  • 程序化推理(PoT提出)

核心结论

1. CoT不擅长完成数值计算或复杂推理过程

2. 可以借助外部工具实现推理,缓解CoT不擅长的领域

3. 提出了 Program of Thoughts(PoT)的概念,旨在通过将计算委托给外部程序解释器来分离复杂的计算推理,避免了CoT中的计算错误和效率低下

4. 实验结论:

  • PoT方法在多个数学和金融问答数据集上,尤其是在数学数据集(如GSM8K、AQuA等)和金融数据集(如FinQA、ConvFinQA等)上,相较于CoT方法,表现出了显著的性能提升。在少样本和零样本设置下,PoT分别提高了约12%的性能

  • PoT + SC 能在所有数学数据集和金融数据集上取得极其强大的性能,且大大超过了CoT+SC的表现

  • 在某些需要更多文本推理的任务中,可以将PoT与CoT结合使用,通过PoT执行程序生成中间结果后,再通过CoT进一步推导出最终答案,这种方法能更好地解决复杂的多阶段推理问题

主要方法

提出 PoT 的程序化推理方法,生成代码而非完整计算过程,借助外部解释器实现数值运算或推理的计算过程:

实现方法:zero-shot / few-shot

实现细节:PoT在生成程序时,不仅能够通过代码表达推理过程,还能将变量绑定到具有语义意义的名称上,从而帮助语言模型更好地理解问题并进行推理。

将CoT和PoT结合:

prompt样例:使用 # 提示生成代码

注:本系列不包括基础的知识点讲解,为笔记/大纲性质而非教程,用于论文知识点和思想和快速记忆和回顾,更多细节建议阅读论文原文

;