大模型准确率从 17% 到 90%!为什么提示词工程是今天最珍贵的技能?
大语言模型(LLM)正在迅猛发展,人们对 LLM 的接受度也在不断上升,提示工程已成为一项含有巨大潜能的新技能。
什么是提示词呢?可以把提示词看作是与人工智能系统对话的语言。让我们能够利用它们的巨大能力,重塑我们的创造、工作、解决问题的方式,以及做更多事情的方式。它可以让任何人——包括老人、孩子——在云端为复杂的数十亿参数人工智能系统编程。
LLM 建立在深度学习算法和架构之上,由海量的文本数据集训练而来。就像人类阅读了无数书籍一样,LLM 从数据中学习模式、语法、关系和推理能力。可以通过调整内部设置来改变模型处理信息的方式,并通过调整来提高准确性。在推理阶段给出提示时,LLM 会利用学到的知识和参数生成最有可能的、与上下文相关的输出结果。正是由于这些提示词,LLM 可以生成高质量的文本、与人进行对话、翻译语言、撰写不同类型的创意内容,并以信息丰富的方式回答问题。
如今有许多免费的开源 LLM 和付费的闭源 LLM 服务。LLM 正在改变各行各业以及我们生活的方方面面。举例来说:
客户服务:功能强大的人工智能聊天机器人可提供即时支持并回答客户询问。
教育:提供个性化学习体验和人工智能辅导。
医疗保健:分析医疗问题、加速药物研发和定制个性化治疗方案。
营销和内容创作:创作有吸引力的营销文案、网站内容和视频脚本。
软件开发:协助开发人员进行代码生成、调试。
基本的提示词类型与技巧
提示语是大模型的指路明灯,一个精心设计的提示词可以极大程度上影响大模型生成内容的质量和相关性。
不妨想象一下这样一个场景:让助理预订晚餐,你提供的信息(如偏好的菜肴或时间)越多、越明确,得到的结果也会更加准确。
同样,提示工程是一门艺术和科学,通过精心设计的提示词来从人工智能系统中获得所需的输出,包括设计和改进提示,以生成符合用户意图且准确、有创意的输出。
对于企业来说,提示词工程有三个基本的成效:
效果 最优化:减少迭代的次数并得到最满意的大模型输出。
成本最小化:尤其对于大规模的 AI 应用,像 GPT-4 这样的优质大模型的使用成本已经很高,提示词工程可以最大程度上减少不必要的查询指令以获得想要的答案。
提升用户体验:将大模型集成到聊天机器人或虚拟助手等应用程序中时,提示词工程可以通过提供更连贯和准确的回复来显著增强用户体验。
那么,究竟什么是提示词呢?从实践来看,提示词大致可分为以下几类:
直接提示词:短的直接指令,如“将‘你好’翻译成西班牙语”。
上下文提示词:在短的直接指令中加入更多的上下文。例如,“我要写一篇关于人工智能优点的博文,请写一个醒目的标题”。
基于指令的提示词:详细的指令,包括做什么和不做什么的具体细节。例如,“写一个关于一只会说话的猫的小故事,这只猫应该脾气暴躁、爱挖苦人”。
基于例子的提示词:提示者可能会说:“这是一首俳句的范例:寂静的池塘/青蛙跳进池塘/溅起水花!又是一片寂静。现在写出你自己的俳句”。
以下是已被证明在提示词工程中非常有效的几个提示策略:
迭代改进:根据人工智能的反应不断改进提示词,让它可以生成更好的结果。比如,可以从“写一首关于日落的诗”开始,根据输出结果将其细化为“写一首关于海滩日落的忧郁诗歌”。
思维链提示:鼓励逐步推理,有助于解决复杂问题。举例说明:不要只做复杂的提示,如“一个农民有 14 辆拖拉机、8 头奶牛和 10 只鸡。如果他卖掉一半的鸡,再买 3 头奶牛,那么有多少头牲畜能给他产奶?”这样的复杂提示,加上“请你逐步思考”或“解释你的推理”可能会取得更好的效果,甚至能清楚地指出模型可能犯的中间错误。
角色扮演:在交给人工智能任务之前,先给它分配一个角色或人物。比如“想象你是一名博物馆导游,解释一下小戴维·特尼尔斯的画作《从石窟看风景》”。
多轮提示:这包括将复杂的任务分解成一系列提示。这种技术包括使用一系列提示来引导人工智能找到所需的答案。比如“创建一个详细的提纲”,然后是“使用提纲将每个要点扩展为一个段落”,接着是“第 2 段缺少.......,请重写,重点是......”,最后完成文章。
挑战与机遇——如何将 大模型 的功力发挥到极致
提示工程面临着一些挑战和机遇。虽然人工智能已经有了指数级的进步,但在处理抽象概念、幽默、复杂推理等等任务时,LLM 可能仍然会感到吃力,这往往需要精心设计的提示词。人工智能模型可以反映出训练数据中存在的偏差。提示词工程师需要了解这一点,并在最终解决方案中解决和减少潜在的偏差。
此外,不同的模型可能会以不同的方式对提示词做出自然的解释和响应,这就给不同模型之间的通用化带来了挑战。大多数 LLM 创建者通常都有很好的文档,以及对该模型非常有效的提示词模板和其他指南。熟悉模型对高效使用模型总是有益的。
尽管推理速度在不断提高,但有效的提示也为在推理时对 LLM 进行精确编程以节省计算和能源资源提供了机会。随着人工智能与我们的生活日益紧密地结合在一起,及时工程在塑造我们如何与人工智能互动并从中受益方面发挥着至关重要的作用。
硅谷的提示词工程师年薪已经达到 200 万,而国内也出现了月入 10 万的提示词工程师。不少 AI 大模型公司和大模型应用开发商在招聘平台上挂出的“提示词工程师”岗位,开出的月薪起步价几乎都不低于 1.5 万。
如果方法得当,提示词工程将蕴含巨大的潜力,提示词工程师的含金量还将不断上升,释放我们尚未想象到的可能性。
但请注意:
提示词工程是提高 LLM 性能的一种更便宜、更快捷的方法,尤其是相比起花费大量时间对 LLM 进行微调。但请始终记住,它不是一个能解决所有问题的咒语,它是性价比最好的优化模型性能的策略之一。如果大模型本身没有与提示词(输入的指令)正确对齐,那么提示词工程的效果会变得有限,并且可能导致不相关的输出。
从 17%到 90%,提示词工程使大模型准确率猛增
除了以上提到的几点提示词策略,还有一种有效的提示策略叫作多范例提示(Few-Shot Prompting)。多范例提示词指的是在对大模型提出指令的同时,为大模式列举几个同类任务样例。这些样例有助于大模型理解上下文、一些细微的差别和用户所期望结果,从而提高输出结果的准确性和相关回复的能力。
多范例提示有以下四点要素:
清晰的输入指令(例如“将以下评论分类为正面或负面……”)
相关性:确保提供的示样例与指令所安排的任务高度相关
多样性:使用涵盖多个可能场景的示例,让模型对任务有广泛的了解
清晰度:确保每个样例都清晰无歧义,以避免使大模型产生混淆
W&B 对于这个提示词策略做过评估,发现通过列举范例,大模型输出的准确率可以从 19%跃升到 90%。测试者准备了 100 个工单作为测试样本,让大模型将这些工单分类。首先在不给大模型任何范例的情况下给出一个简单的直接指令:
再使用 100 份样例测试了这一简单指令后,测试者发现大模型输出的准确率只有 17!
测试者按照如下框架修改这一提示词,不断增加给大模型的范例数量:
测试者发现,在添加 5 个范例后,大模型输入的准确率上升到了 25%到 30%。而当添加了 20 个随机范例后,准确率到达了 70%。
除了给出范例,测试者还在尝试在提示词中添加对于四个工单类别的解释,改变模型输出的随机程度(temperature)的值,最终将输出结果的准确率调试到了 90%。以下是准确率及提示词范例数的统计图。
但值得注意的是,范例提示词也有一定的局限性,并不是一个万金油。它的局限性主要有以下三点:
范例依赖性:模型的输出质量很大程度上会取决于范例的质量以及范例与指令的相关度。
规模性:如果数据集很庞大或者任务复杂程度很高,列举各式各样的范例将会变得很累赘。
算力消耗:范例提示词会增加模型推理所需要的算力消耗,因为模型需要考虑更多的上下文。
提示词策略多种多样,各有其优缺点和适配的场景。接下来我们将推出有关提示词工程的系列文,如果你是提示词工程小白,对生成式大模型、人工智能应用感兴趣,或者想要步入提示词工程师这个行业,都可以关注起来。我们将从提示词的定义出发,逐步拆解、列举提示词的使用技术,帮助你了解并上手提示词工程。
版权声明: 本文为 InfoQ 作者【本原智数】的原创文章。
原文链接:【http://xie.infoq.cn/article/ffda89ad97dfb6fd4c028f094】。文章转载请联系作者。
评论