【干货】Prompt 指南之零样本与少样本提示,超详细解析

cover.png

我在以前的文章中详细讲述了有关于 Prompt 的语气、基调、节奏以及思维链提示(Chain of Thought Prompting)等提示技术,如果有兴趣了解,可以参考这些文章。

我将在本文中为你带来另外 2 种提示技术,它们分别是:

  • 零样本提示(Zero-shot Prompting)
  • 少样本提示(Few-shot Prompting)

shot 即代表示例

这两种技术利用 LLM 的强大预训练知识,通过最小化的示例输入,实现对复杂任务的快速适应和高效处理。

本文将深入探讨零样本与少样本提示相关的内容,介绍这两种技术的使用方式,区别,使用场景以及局限性。

以下这张图简要的概括了一些提示技术以及每种技术所适用的场景。

QQ20240523-001619@2x.png

本文所有 AI 回答均来自于 Microsoft Copilot。

零样本提示(Zero-shot Prompting)

零样本提示的定义是直接向 AI 大模型提出任务,但是不提供如何执行的方法或者步骤。大模型必须使用其预训练的知识来生成答案。

一个简单的零样本提示示例是询问 LLM「中国的首都是什么」。

QQ20240523-113215@2x.png

再比如以下这个例子:

Prompt:从下面的文本中提取技术规格,并以 JSON 格式表示:Google Pixel 7, 5G network, 8GB RAM, Tensor G2 processor, 128GB of storage, Lemongrass

QQ20240523-113311@2x.png

以上都是很简单的例子,但是,麻雀虽小五脏俱全,有两点需要注意:

  • Prompt 中不包含任何示例。
  • LLM 完全依赖其预训练的知识来理解问题并回答它。

现在我将转向一个更复杂的例子。

想象这样一个场景,公司在招聘人员进来的时候,需要考虑人员的职位、技能、以往职称等因素,然后将其映射到每个公司里自身设置的职级序列和职称。

这种场景下,零样本提示就可以完成这个任务。

Prompt

你的任务是将提供的职位名称标准化为以下列表中的一个:

“数据分析师”,“数据科学家”,“数据架构师”,“数据工程师”,“数据库管理员”,“数据库设计师”,“首席信息官”,“首席技术官”,“IT主管”,“开发经理”,“数据处理经理”,“安全经理”。

你的目的是确保标准化和准确性,必须用最接近匹配的职位名称来回应。

如果没有合适的匹配职位名称,你可以回应“其他”。

职位名称:“高级数据工程师”

QQ20240523-113341@2x.png

与之前的 Prompt 类似,这里也没有提供任何示例,LLM 需要自己找出最佳匹配。

为了确保数据质量和可靠性,这个 Prompt 允许 LLM 在职称不符合预定义列表时选择“其他”。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

少样本提示(Few-Shot Prompting)

少量样本提示同样只需要向 LLM 发送单个 Prompt。但与零样本提示的关键区别在于:少量示例被添加到了 Prompt 中,这些示例可以帮助 LLM 理解并完成任务

我们以上文中,提取手机技术规格的 Prompt 为基础,然后加上示例:

Prompt

请从下面的文本中提取技术规格,并以 JSON 格式展示。

示例

输入:Google Nest Wifi, network speed up to 1200Mpbs, 2.4GHz and 5GHz

输出: { “product”:“Google Nest Wifi”, “speed”:“1200Mpbs”, “frequencies”: [“2.4GHz”, “5GHz”], “protocol”:“WP3” }

输入:Google Pixel 7, 5G network, 8GB RAM, Tensor G2 processor, 128GB of storage, Lemongrass

QQ20240523-113438@2x.png

再以上文中标准化职称的 Prompt 为基础,对其进行扩展,加入示例:

Prompt

你需要把职称分类为两个类别之一:「IC(个人贡献者)」或「管理者」。

我会给你提供一个职称输入,你的任务是分析此输入并确定可能的类别。但是请记住,我提供的职称可能并不明确包含「管理者」或「IC」。相反,它可能会暗示职位的性质或者技能。

例如,「软件开发人员」或「平面设计师」等职位头衔通常代表「IC」,而「项目负责人」或「运营主管」则可能表示管理职位。

你只需要提供一个输出:「IC」或「管理者」。

职称:Senior Data Engineer

QQ20240523-113507@2x.png

Prompt 包含了通用指令和具体示例,这可以帮助 LLM 生成更准确的分类。

提供多少示例效果最好?

如果示例能够让 LLM 给出准确回答的话,那是不是意味着给的示例越多,LLM 给出的回答就会越准确的?

事实证明,添加更多示例并不一定会提高准确性。

在某些情况下,添加更多示例上反而会降低准确性。多篇研究论文指出,在提供 2 个示例后准确率会有显著提升,然后趋于平稳。提供超过 2 个示例可能会浪费资源,也就是浪费 Token。

65d0d3f3723a51a3a58c2d0f_Number of examples to use in a prompt.png

示例的顺序对结果有影响吗?

那在编写 Prompt 的时候,提供示例的顺序重要吗?

顺序很重要,LLM 的预测会根据示例的顺序而发生巨大变化。。但是,这取决于你所使用的 LLM,不同的 LLM,顺序对输出结果的影响程度不一样。

其中一个策略就是将最关键的示例放在最后,LLM 会对它们处理的最后一部分信息给予重要的权重。

一个研究案例

这个案例来自于 2024 年 4 月的一篇论文,由伦敦大学的研究人员发表。

该论文主要围绕「在开源项目中通过 Prompt 中的示例来解决 Bug」的话题。

研究方法以及步骤如下
  1. 事实收集:研究人员收集了一组与 Bug 相关的示例。包括有 Bug 的代码、错误消息和一些未来用于解决 Bug 的文档;
  2. Prompt 构建:在 Prompt 中加入示例;
  3. 评估:评估这些示例的不同组合会如何影响 LLM 正确解决 Bug 的能力。
结论
  1. 每个示例都有独特的作用,突出了拥有多样化示例的重要性;
  2. 更多的示例并不意味着更好的输出:添加更多的示例并不总是导致更好的结果,如果 Prompt 变得过于杂乱或复杂,有时甚至会降低性能。

662bb1f009cc4f6feba9dcb7_Bug Report examples vs score .png

少样本提示的局限性

尽管少样本提示很有用,但它依然存在很大的局限性。 其中,最大的局限性就是它依赖于所提供示例的质量和多样性,也就是说,垃圾进,垃圾出。

正如上文所提到的,示例还有可能会降低 LLM 的性能,或者将其引向错误的方向。

此外,还有过拟合的风险——LLM 可能不会泛化示例,从而创建出完全照搬模仿示例的回答,这样的回答有可能根本不符合逻辑。

QQ20240523-120656@2x.png

零样本提示 vs. 少样本提示

如何选择这两种技术在一定程度上取决于你想要执行的任务的特定需求,以下是一些考虑因素。

任务的具体性

  • 零样本: 适合不需要领域特定知识的通用任务。
  • 少量样本: 适用于特定领域的任务,比如法律、医学等领域。少样本提示允许没有大型数据集的情况下也能产生高质量、特定领域的输出。

数据需求

  • 零样本: 无需额外的示例,仅依赖模型的预训练。
  • 少量样本: 依赖提示提供少量示例输入,引导模型朝正确的方向发展。

准确性

  • 零样本: 由于缺乏特定上下文,有时可能会提供不太准确或更一般的答案。
  • 少量样本: 由于示例提供了帮助模型细化输出的上下文,因此通常可以为具有高特异性的任务提供更准确的答案。

可扩展性

  • 零样本: 可扩展性强,因为它不需要针对任务进行特定的准备。
  • 少量样本: 可扩展性略差,因为每种新任务类型可能都需要创建新的提示示例。也可能容易受到语义模式漂移的影响,从而使示例响应的准确性和相关性降低。

总结

总的来说,零样本和少样本提示各有优势和局限,选择使用哪一种方法取决于特定的任务和目标。

为了获得更可靠的响应,还可以考虑使用更高级的提示技术,比如思维链提示,或者对模型进行微调和进一步的提示工程实验,以达到更好的结果。

摘要:零样本与少样本提示这两种技术利用 LLM 的强大预训练知识,通过最小化的示例输入,实现对复杂任务的快速适应和高效处理。本文将深入探讨零样本与少样本提示相关的内容,介绍这两种技术的使用方式,区别,使用场景以及局限性。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

包括:大模型学习线路汇总、学习阶段,大模型实战案例,大模型学习视频,人工智能、机器学习、大模型书籍PDF。带你从零基础系统性的学好大模型!

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

👉AI大模型学习路线汇总👈

大模型学习路线图,整体分为7个大的阶段:(全套教程文末领取哈)

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

👉大模型实战案例👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉大模型视频和PDF合集👈

观看零基础学习书籍和视频,看书籍和视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述
在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

👉获取方式:

😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值