LangChain最近公布了其实验结果,旨在通过少样本提示来提高大规模语言模型(LLM)在工具调用任务中的表现。根据LangChain博客,实验表明少样本提示显著提高了模型的准确性,特别是在复杂任务中。
少样本提示:游戏规则的改变者
少样本提示涉及在模型提示中包括示例模型输入和期望输出。研究,包括LangChain参考的一项研究表明,这种技术可以显著提高模型在广泛任务中的表现。然而,构建少样本提示有很多种方法,目前尚未有多少公认的最佳实践。
LangChain的实验在两个数据集上进行:查询分析和多宇宙数学。查询分析数据集涉及根据用户查询调用不同的搜索索引,而多宇宙数学数据集测试的是在一个更复杂、具有代理性的工作流程中进行函数调用。实验对多个OpenAI和Anthropic模型进行了基准测试,并尝试了不同的方法向模型提供少样本示例。
构建少样本数据集
多宇宙数学任务的少样本数据集是手动创建的,包含13个数据点。使用了不同的少样本技术来评估它们的效果:
- 零样本:仅向模型提供了一个基本系统提示和问题。
- 少样本静态消息,k=3:在系统提示和人类问题之间传递了三个固定示例作为消息。
- 少样本动态消息,k=3:根据当前问题和示例问题之间的语义相似性传递了三个动态选择的示例作为消息。
- 少样本串,k=13:将所有十三个示例转换成一个长字符串附加到系统提示中。
- 少样本消息,k=13:在系统提示和人类问题之间传递了所有十三个示例作为消息。
结果与见解
结果显示了几个关键趋势:
- 少样本提示显著提高了整体表现。例如,Claude 3 Sonnet的性能从零样本的16%提高到使用三个语义相似示例消息的52%。
- 使用语义相似的示例作为消息比使用静态示例或字符串效果更好。
- Claude模型比GPT模型更受益于少样本提示。
一个最初没有少样本提示而得到错误答案的问题在使用少样本提示后得到了纠正,展示了这种技术的有效性。
未来方向
这项研究开启了多个未来探索的方向:
- 比较插入负少样本示例(错误答案)与正少样本示例的影响。
- 确定语义搜索检索少样本示例的最佳方法。
- 找出最佳的少样本示例数量,以获得最佳的性能-成本平衡。
- 评估包含初始错误和后续纠正的轨迹是否比首次正确的轨迹更有益。
LangChain邀请进一步基准测试和未来评估的想法,以继续推进这一领域。
Image source: Shutterstock