Prompt 工程指南(三)—— 高级技术篇之零样本和少样本提示

news/2024/12/2 19:42:06/

到目前为止,显而易见的是,改进提示有助于在不同任务上获得更好的结果。这就是提示工程背后的理念和目标。

虽然上篇教程介绍的基本示例已经很有趣,但在接下来的几篇教程中,我们将介绍更高级的 Prompt 提示工程技巧,使我们能够完成更复杂且有趣的任务。有意思的是,你可以看到这些技巧背后的算法论文绝大部分都是华人领衔发表的。

我们先从覆盖日常绝大部分提示场景的零样本和少样本提示开始。

零样本提示

目前的大语言模型(LLMs)通过大量的数据训练和指令调整,能够在零样本情况下完成任务。在前面的教程中,我们已经尝试了一些零样本示例。以下是我们使用过的一个示例:

提示:

将文本分类为 neutral、negative 或 positive。
文本:我认为度假还可以。
情感:

输出:

请注意,在上面的提示中,我们没有为模型提供任何示例 —— 这就是零样本能力的体现

指令调整已经显示出可以改善零样本学习。

微调(Finetuned)预训练大语言模型可以达到零样本学习的效果。所谓零样本学习,是指在没有见过某些特定任务的数据的情况下,模型可以通过利用先前学习到的知识来完成该任务。

这一技术的基本思想是,将一个预先训练好的通用大语言模型(例如GPT)进行微调,使其适应于特定的任务集。然后,该模型可以通过输入任务的自然语言描述,来学习该任务。最终,经过适当的微调,该模型可以在未见过的任务上实现很好的性能。

这里其实背后应用到了机器学习的能力,在大语言模型之前需要非常专业的机器学习知识和技能才能完成这一功能,而现在,只需要简单通过文本提示即可完成,所以大语言模型的一大贡献就是将机器学习这一金字塔尖的技术门槛拉低到普通人也能训练。

这一技术的优点在于可以大大减少对大规模训练数据的需求,同时还可以提高模型的泛化能力。另外,由于可以通过自然语言来描述任务,这种技术也更具有可解释性和可操作性。

更多细节参考魏等人于2022年发表的Finetuned Language Models are Zero-Shot Learners这篇论文。

指令调整实质上是将模型微调到通过指令描述的数据集上。此外,RLHF(reinforcement learning from human feedback:从人类反馈中进行强化学习)已经被采用来扩展指令调整,以便模型与人类偏好更好地对齐,这种最新发展推动了像 ChatGPT 这样的模型。

RLHF 是强化学习的一种形式,它利用人类反馈直接优化语言模型。在 RLHF 中,代理通过与环境的交互学习策略。该方法的一个重要组成部分是从人类反馈中推断出奖励函数。一旦获得了奖励函数,下一步就是学习最大化奖励的策略。

RLHF 的主要目的是通过从人类反馈中学习最优决策来改善语言模型。这个方法有许多应用,如自然语言生成、对话系统、语音识别等。例如,在对话系统中,RLHF 可以从用户反馈中学习生成最佳回复。

需要注意的是,使用 RLHF 需要大量的人类反馈数据,因此对于一些领域,例如法律或医疗保健等需要专业知识的领域,收集反馈可能会更具挑战性。

我们将在接下来的教程中讨论所有这些方法。

当零样本不起作用时,建议在提示中提供演示示例,这会将零样本提示转化为少样本提示。接下来,我们将演示少样本提示。

零样本提示是新手使用 ChatGPT 最常规的提示方式了,但它也是后续其他所有高级提示技术的基础。

少样本提示

虽然大语言模型表现出卓越的零样本能力,但在使用零样本设置时,在更复杂的任务上仍然表现不佳。少样本提示可以通过在提示中提供演示示例来启用上下文学习,以引导模型更好地执行任务,以演示示例作为条件,用于后续我们希望模型生成响应的示例。

让我们通过 Brown 等人 2020 论文中提供的一个示例演示少样本提示。

大语言模型具备强大的少样本学习能力,能够在很少的示例中完成各种自然语言处理任务。大语言模型的可扩展性是关键因素,它能够有效地学习到各种不同的自然语言处理任务,并取得出色的表现。少样本技术的主要优势在于,大大降低了对特定任务数据的需求,并减少了过度学习的风险。

大语言模型的强大表现对于自然语言处理领域具有很大的推动作用。其能够在不同的任务上取得出色的表现,而且只需要很少的训练数据。这对于解决自然语言处理中的各种问题非常有帮助。但是,也需要注意到语言模型存在一些限制和局限性,如偏见、稀有单词和不合理的生成等问题。因此,我们需要在使用语言模型时保持谨慎并注意它们的局限性。

更多细节参考 Language Models are Few-Shot Learners 这篇论文。

在这个例子中,要处理的任务是在句子中正确使用一个新词。

提示:

“whatpu” 是一种生长在坦桑尼亚的小型毛茸茸的动物。使用 whatpu 这个词的一个例子是:
我们在非洲旅行,看到了这些非常可爱的 whatpu。
“farduddle” 的意思是快速跳跃。使用 farduddle 这个词的一个例子是:

输出:

我们可以观察到,通过仅提供一个例子(即1-shot),模型已经学会了如何执行任务。对于更困难的任务,我们可以尝试增加演示次数(例如3-shot,5-shot,10-shot等)。

根据 Min 等人 2022 年的发现,以下是在进行少样本提示时关于演示示例的一些其他提示:

这个发现指的是通过大语言模型 (LLMs) 的情境学习展示了一种新的学习方式,即只需在少量的输入-标签对(演示)上进行推理即可执行新任务。通过对演示的重新思考,可以更好地理解情境学习的工作原理,同时也引发了对于可以通过情境学习学到多少的新问题。该研究提供了新的方式来理解情境学习的工作方式。此外,研究结果还包括原创的实现。

  • 标签范围和演示指定的输入文本的分布都很重要(无论单个输入的标签是否正确)
  • 即使只使用随机标签,通过格式也会对结果起关键作用,这比根本不使用标签好得多
  • 额外的研究结果显示,从真实标签分布中选择随机标签(而不是均匀分布)也有帮助

让我们尝试几个例子。

首先,让我们尝试一个带有随机标签的例子(这意味着将负面和正面标签随机分配给输入):

提示:

这太棒了! // Negative
这很糟糕! // Positive
哇,那部电影很酷! // Positive
这是一个多么可怕的节目! //

输出:

使标签已经被随机化,我们仍然得到了正确的答案。请注意,我们也保持了格式,这也有助于结果。事实上,通过进一步的实验,我们发现我们正在尝试的新的 GPT 模型甚至对随机格式变得更加稳健。例如:

提示:

Positive 这太棒了!
这很糟糕!Negative
哇,那部电影真的很棒!
Positive
真是一场糟糕的表演!--

输出:

上面的格式保持一致,但模型仍然预测了正确的标签。我们需要进行更彻底的分析,以确认其是否适用于不同和更复杂的任务,包括提示的不同变化。

少样本提示的不足

少样本提示技术对许多任务都有效,但仍不是完美的技术,特别是在处理更复杂的推理任务时。下面我们用一个例子来说明为什么会这样。在上一篇教程的末尾我们提供了下面这个任务:

这组数中的奇数相加得到一个偶数:15, 32, 5, 13, 82, 7, 1。
A:

如果我们再试一次,模型会输出以下内容:

这不是正确的答案,这不仅突显了这些系统的局限性,也说明需要更先进的提示工程。

让我们试着添加一些示例,看看少样本提示是否可以改善结果。

提示:

这个组中的奇数加起来是一个偶数:4、8、9、15、12、2、1。
A:答案为不是。
这个组中的奇数加起来是一个偶数:17、10、19、4、8、12、24。
A:答案为是。
这个组中的奇数加起来是一个偶数:16、11、14、4、8、13、24。
A:答案为是。
这个组中的奇数加起来是一个偶数:17、9、10、12、13、4、2。
A:答案为不是。
这个组中的奇数加起来是一个偶数:15、32、5、13、82、7、1。
A:

输出:

这并没有起作用。似乎少样本提示不足以获得这种类型推理问题的可靠答案。上面的示例提供了任务的基本信息,如果你仔细观察,我们介绍的任务类型涉及到更多的推理步骤。换句话说,如果我们将问题分解成多个步骤并向模型演示,可能会有所帮助。因此,最近思维链提示(CoT)流行起来,用于解决更复杂的算术、常识和符号推理任务。

总的来说,提供示例对于解决某些任务是有用的。当零样本提示和少样本提示都不够时,可能意味着模型的学习能力不足以在任务中表现良好。从这里开始,建议考虑微调你的模型或尝试更先进的提示技术。接下来,我们将讨论一种流行的提示技术 —— 思维链提示,该技术已经受到了广泛的关注。


http://www.ppmy.cn/news/282847.html

相关文章

终于有人把Linux系统收发网络数据包的过程讲清楚了!

Linux 服务器收到网络数据包,需要经过哪些处理,一步步将数据传给应用进程的呢?应用进程发送数据包时,Linux 又是如何操作将数据包发送出去的呢?今天我们就来聊聊这个话题。 在准备好接收网络数据包之前,Lin…

海信java手机qq_内置QQ service 安卓手机海信E89可爱登场

三、系统界面 海信E89搭载的是Android 2.1智能系统,而系统界面是经过优化的,有海信手机自己的风格。海信E89的解锁界面是比较独特的,虽是常见的滑动解锁,但点击中间的锁图标往不同的方向滑动可以在解锁的同时直接进入到不同的界面…

查看海信电视android版本,海信电视怎么查看MAC地址和版本号 方法介绍

原标题:海信电视怎么查看MAC地址和版本号 方法介绍 随着海信今年发布互联网电视品牌VIDAA电视,越来越多VIDAA系统的新品电视为广大信封们熟知,随着海信智能互联网电视的不断普及,用户朋友们在使用VIDAA系统电视中也会遇到一些问题…

海信电视升级鸿蒙系统,海信电视陆续启动聚好看升级计划

原标题:海信电视陆续启动聚好看升级计划 据了解,欧洲杯官方赞助商海信在此次欧洲杯开赛之前将有“大动作”,海信电视将在欧洲杯开赛前陆续启动聚好看升级计划。海信电视将在升级之后直接变身“看球神器”,设有专区显示本届欧洲杯的…

海信电视云账号连不上服务器,海信云账号如何使用?图文教程详解

原标题:海信云账号如何使用?图文教程详解 海信云账号可以在海信智能电视等海信一系列等多种智能终端上登录并共享资源。登录后,可以全面享受海信应用商城、媒体云、围观等服务。 海信云账号是海信专为海信智能电视、海信电视、海信平板、海信…

海信android版本升级失败,海信电视的android怎么升级-海信电视无法更新

海信电视怎么一直在更新 海信电视系统版本低 但是不更新怎么办 海信电视自动升级: 1、打开海信电视机,然后点击遥控器“设置”键; 2、依次点击“其他设置”——“系统设置”——“系统更新”——“自动更新”; (如果海信电视机有最新升级版本,那么它会提示你下载最新升级包…

华为OD-2023B卷-太阳能板最大面积(java)

2.华为OD-2023B卷 -太阳能板最大面积(回到目录) 太阳能板最大面积 知识点分治 时间限制:1s 空间限制:32MB 限定语言:不限 难度:★★ 中规中矩的双指针题目。暴力for循环过不了全部样例。 题目描述: 给航天器一侧加装长方形或正方形的太阳能板(图中的红色斜线区域),需…

ufs2.0测试软件,最新的UFS2.0闪存性能对比,小米MIX亮了

原标题:最新的UFS2.0闪存性能对比,小米MIX亮了 智能手机配置上,用户最关注的就是处理器,而对于内存组合,基本上都是大一点就行了,但是对于厂商来说,内存组合很重要,因为要靠它们进行…