P
Prompt Master

Prompt 大师

掌握和 AI 对话的艺术

APE

Automatic Prompt Engineer:自动生成/选择 instruction

APE

图片来源:Zhou 等人,(2022)

Zhou 等人,(2022) 提出了自动提示工程师 (APE),这是一个用于自动指令生成和选择的框架。指令生成问题被构建为自然语言合成问题,使用 LLMs 作为黑盒优化问题的解决方案来生成和搜索候选解。

第一步涉及一个大型语言模型(作为推理模型),该模型接收输出演示以生成任务的指令候选项。这些候选解将指导搜索过程。使用目标模型执行指令,然后根据计算的评估分数选择最合适的指令。

APE 发现了一个比人工设计的“让我们一步一步地思考”提示更好的零样本 CoT 提示 (Kojima 等人,2022)。

提示“让我们一步一步地解决这个问题,以确保我们有正确的答案。”引发了思维链的推理,并提高了 MultiArith 和 GSM8K 基准测试的性能:

APECOT

图片来源:Zhou 等人,(2022)

本文涉及与提示工程相关的重要主题,即自动优化提示的想法。虽然我们在本指南中没有深入探讨这个主题,但如果您对此主题感兴趣,以下是一些关键论文:

  • Prompt-OIRL - 使用离线逆强化学习来生成与查询相关的提示。
  • OPRO - 引入使用 LLMs 优化提示的思想:让 LLMs “深呼吸”提高数学问题的表现。
  • AutoPrompt - 提出了一种基于梯度引导搜索的方法,用于自动创建各种任务的提示。
  • Prefix Tuning - 是一种轻量级的 fine-tuning 替代方案,为 NLG 任务添加可训练的连续前缀。
  • Prompt Tuning - 提出了一种通过反向传播学习软提示的机制。

📚 相关资源

❓ 常见问题

关于本章主题最常被搜索的问题,点击展开答案

APE 是什么?为什么叫「自动提示工程师」?

Zhou 等人 2022 提出,把指令生成问题转成「自然语言合成 + 黑盒优化」。一个 LLM 作为推理模型读输入输出示例反推候选指令,目标模型执行候选指令打分,按分数选最优——整个过程不需要人写 prompt,所以叫「自动提示工程师」。

APE 找到的最佳 zero-shot CoT 是什么?

原论文最有名的发现:APE 找到的「Let's work this out in a step by step way to be sure we have the right answer.」比 Kojima 等人 2022 手写的「Let's think step by step」在 MultiArith 和 GSM8K 上表现更好。证明 LLM 可以自己优化 prompt——人手写的不一定最优。

APE 跟手动 prompt engineering 比有什么优势?

三点:1) 系统化搜索——能跑数百候选指令而不是凭直觉写两三条;2) 不依赖工程师对任务的偏见;3) 可以基于评估分数迭代。代价是:需要标注好的输入输出对作为评估集,而且每次跑都要消耗大量 token。所以适合「指令一旦优化就长期复用」的场景。

APE 之外还有哪些自动 prompt 优化方法?

原文列了几个关键方向:Prompt-OIRL(离线逆强化学习生成查询相关 prompt)、OPRO(让 LLM「深呼吸」优化数学题)、AutoPrompt(基于梯度搜索)、Prefix Tuning(轻量级 fine-tune 替代)、Prompt Tuning(反向传播学软 prompt)。整体可分两路:search-based(APE/OPRO)vs gradient-based(AutoPrompt/Prefix)。

我没有大量 GPU,能用 APE 吗?

能,但要分清版本。原论文 APE 调用商业 API 评估候选指令,没需要 GPU——只需要预算去跑 N 次推理。GPU 是 Prefix Tuning / Prompt Tuning 这类「软 prompt」方法才需要(要反向传播)。所以小团队可以跑 APE 风格的搜索:写 50-100 个候选 → 在小评估集上跑 → 选最优,整个过程纯 API 调用。