目录

LLM论文笔记-17-Program-of-Thoughts-Prompting-PoT

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不擅长完成数值计算或复杂推理过程

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

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

4. 实验结论:

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

https://i-blog.csdnimg.cn/direct/b0af2a9226c84e178e20d65c7802b0af.png

  • PoT + SC 能在所有数学数据集和金融数据集上取得极其强大的性能,且大大超过了CoT+SC的表现
  • 在某些需要更多文本推理的任务中,可以将 PoT与CoT结合使用 ,通过PoT执行程序生成中间结果后,再通过CoT进一步推导出最终答案,这种方法能更好地解决复杂的多阶段推理问题

主要方法

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

https://i-blog.csdnimg.cn/direct/c9e549b7c65f4c0d8a0cb2efe7286db7.png

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

https://i-blog.csdnimg.cn/direct/3ba75cf4cfa34fd7981096f42f4e9577.png

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

将CoT和PoT结合:

https://i-blog.csdnimg.cn/direct/6012c5bcd49141fc909a761960123832.png

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

https://i-blog.csdnimg.cn/direct/ff8995a8f0e4498683081c91f467d508.png

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