大数跨境
0
0

PromptEngineering:自动推理并使用工具 (ART)

PromptEngineering:自动推理并使用工具 (ART) 数翼
2023-09-24
1
导读:​今天介绍一个新的提示框架 ART(Automatic Reasoning and Tool-use[1])。ART 对任务进行拆解,使用精心编写的脚本交替使用模型和工具分步执行,整合工具输出和 LM

今天介绍一个新的提示框架 ART(Automatic Reasoning and Tool-use [1])。ART 对任务进行拆解,使用精心编写的脚本交替使用模型和 工具分步执行,整合工具输出和 LM 输出,最终得到答案。

ART(Automatic Reasoning and Tool-use)的工作原理如下:

  • • 接到一个新任务的时候,从任务库中选择多步推理和使用工具的示范。

  • • 在测试中,调用外部工具时,先暂停生成,将工具输出整合后继续接着生成。

ART 整体流程

任务库

任务库是需要人工准备的,他记录了一个任务应该以什么样的步骤去执行。

比如我们要一个「把大象装进冰箱」的任务,任务样例库可能有这样一个样例:

ART任务模板

又或者一个「叫外卖」的任务,任务样例库可能有这样一个样例:

ART 任务模板

ART 的第一步就是从任务库中选取合适任务,这一步由 LLM 完成,LLM 根据关键词识别等进行任务的选取。

工具库

ART 需要一个工具库来执行对应的任务(拆分之后的任务)。

ART 工具库

这一步会把根据任务模板拆解出的问题选择工具执行。

每当⼦任务查询名称与任务库中的⼯具名称匹配时(例如 「Qi :[搜索]」),⽣成就会停⽌,并在调⽤该⼯具后恢复 ⽣成,并将其输出合并到部分完成的程序中。

整合

这一步利用 LLM 的能力整合输出继续后面的问题,当然这个也是顺序执行的,最终得到结果。

整合第一步的输出,调用第二步的工具,整合第二步(也可能加上第一步)的输出,作为第三步的输入,依次进行。

ART 整合输出的过程

如何提升

作者还提出了两种可以改进 ART 的方法,一个就是我们之前讲过的 「自洽性」,另一个就是通过人工反馈进行改进。

通过人工反馈可以进行手动扩展,更新任务和工具库去修正推理步骤中的错误或是添加新的工具。

性能

下图展示了作者使用 ART 在 BigBench 和 MMLU 任务上的测试性能。

ART 在 BigBench 和 MMLU 任务的性能

总结

ART 通过任务模板和工具,改进了 CoT 并扩展了语言模型的能力(外部工具),直接使用提示的时候我们很少这样使用, 或者下意识在语言模型没法很好的完成预测时,去手动拆解任务执行。但是当我们把这个过程程序化, 就会发挥很好的作用,后续咋开发系列我会给大家一些实际的例子。

引用链接

[1] Automatic Reasoning and Tool-use: https://arxiv.org/abs/2303.09014



--- END ---

【声明】内容源于网络
0
0
数翼
专注 AIGC 人工智能知识传播和实践
内容 228
粉丝 0
数翼 专注 AIGC 人工智能知识传播和实践
总阅读29
粉丝0
内容228