在实现模型的高质量输出中,提示的设计扮演着至关重要的角色。这些精心设计的输入指令,如同指挥棒一般,引导着模型生成出我们期望的响应。然而,尽管它们的重要性无可争议,但提示的创建却是一项既耗时又费力的工作,通常需要深厚的领域知识和大量的人力投入。这些限制促使我们不断探索和开发自动化系统,以期更高效地优化提示。
在提示工程的道路上,我们面临着一个重要的挑战:如何摆脱对人工专业知识的过度依赖,为每个独特任务量身定制出合适的提示。这种方法不仅耗时费力,而且难以高效地应用于复杂或特定领域的应用。此外,当前的提示优化方法大多局限于那些提供内部计算访问的开源模型,对于以API为唯一访问途径的专有模型(即黑盒系统)来说,由于其内部机制的不透明性,传统的基于梯度的技术变得不切实际。这些限制凸显了我们在有限资源下高效工作,同时保持在各种任务中有效性的迫切需求。
目前,提示优化的方法大致可以分为连续和离散两类。连续技术,如软提示,虽然依赖辅助模型来改进指令,但所需的大量计算资源却使其难以应用于黑盒系统。而离散方法,如PromptBreeder和EvoPrompt等,则着重于生成提示的变种,并根据评估指标选择表现最好的提示。尽管这些方法展现出了一定的潜力,但它们仍然需要更多的结构化反馈机制来进一步改进。它们需要在探索与任务特定细化之间找到平衡点,以避免结果次优。
针对这些挑战,微软印度研究院的研究人员开发并开源了PromptWizard,一个专门用于优化黑盒LLM中提示的创新AI框架。该框架采用了反馈驱动的批判和综合机制,通过迭代的方式不断改善提示指令和上下文示例,从而提高了任务性能。PromptWizard通过将引导探索与结构化批判相结合,确保了提示的全面改善。与以往的方法不同,它将任务特定要求与系统化的优化过程紧密结合,为各种NLP应用提供了高效且可扩展的解决方案。
PromptWizard的运行过程分为两个主要阶段:生成阶段和测试推断阶段。在生成阶段,系统利用LLM通过应用认知启发法创建了多个基本提示的变体。这些变体根据训练示例进行评估,以确定哪些候选提示表现优秀。该框架还集成了一个批判机制,用于分析每个提示的优点和不足,并生成反馈意见,为后续的改进迭代提供参考。通过合成新的示例和利用推理链,系统进一步增强了提示的多样性和质量。在测试推断阶段,优化后的提示和示例将应用于未见过的任务,以确保性能能够持续改进。这种方法通过专注于有意义的改进而非随机变异,显著降低了计算开销,使其更加适用于资源受限的环境。
为了验证PromptWizard的有效性,研究人员在包括Big Bench Instruction Induction(BBII)和算术推理基准(如GSM8K、AQUARAT和SVAMP)在内的45个任务上进行了大量实验。结果显示,在19个任务中,PromptWizard在零样本设置下的准确性最高,其中在13个任务中超过了Instinct和EvoPrompt等基线方法。此外,它还进一步提高了单样本场景下的准确性,为19个任务中的16个带来了性能提升。例如,在GSM8K上实现了90%的零样本准确性,在SVAMP上实现了82.3%的准确性,充分展示了其处理复杂推理任务的能力。与PromptBreeder等离散方法相比,PromptWizard在令牌使用量和API调用次数上减少了高达60倍,且每个任务的总成本仅为0.05美元,使其成为最经济实惠的解决方案之一。
PromptWizard的成功之处在于其创新地结合了顺序优化、引导批判和专家角色整合,确保了任务特定对齐和可解释性。这一成果不仅凸显了其在改变提示工程领域的潜力,还为在不同领域中优化LLMs提供了可扩展、高效且易用的解决方案。这一进展进一步强调了将自动化框架与NLP工作流程整合的重要性,为更有效和经济地利用先进的AI技术铺平了道路。