大模型提示词进阶,零样本提示, 一次样本提示和少样本提示以及思维链(Chain of Thought, Cot) 原创

发布于 2024-9-4 14:02
浏览
0收藏

“ 技术的核心只有两点,一个是把技术做好,一个是把技术用好 ”

在之前的文章中曾经说过,预训练和微调是为了打造一个更好用的大模型,而提示学习是为了更好的使用大模型,激发大模型的潜能。

而基于提示学习发展起来的提示词工程,也就是怎么写一个更好的提示词;网络上已经有很多经过检验的提示词框架,比如APE,BROKE等。

提示词工程是一门基于经验的科学,因此没有最好的提示词框架,只有不同任务下最合适的提示词框架。

而经过研究发现了提示词更加高级的玩法——样本提示和思维链。

样本提示

样本提示包括Zero-Shot,One-Shot,Few-Shot等多种形式,简单来说就是在提示词中加入一些例子。

比如 

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

大模型提示词进阶,零样本提示, 一次样本提示和少样本提示以及思维链(Chain of Thought, Cot)-AI.x社区

这就是一个少样本提示的例子,上部分是例子,浅绿色部分就是大模型的回答。

根据不同的大模型和任务类型,可以适当的给出一个到多个例子,而我们平常直接问大模型的问题属于零样本提示,也就是不给出案例,直接让大模型回答。

因此样本提示就类似于我们人类平常讨论问题,可能对方对你的问题不是很了解,这时我们下意识的反应就是,我给你举个例子。

这就是样本提示的作用,在使用样本提示的过程中,可以适当的增加多个样本,Few-Shot中的few就是大于等于1的意思。

以下就是一个给出三个例子的少样本提示:

大模型提示词进阶,零样本提示, 一次样本提示和少样本提示以及思维链(Chain of Thought, Cot)-AI.x社区

思维链

思维链是为了解决复杂问题而推出的一种方式,就是在提示词中加入思考过程。


举例如下:

这个是没用思维链的方式

问:小明有三个苹果,他的妈妈又给他买了两个苹果,小明吃掉了一个,小明还剩几个苹果?

答:4个

这个是使用思维链的方式

问:小明有三个苹果,他的妈妈又给他买了两个苹果,小明吃掉了一个,还剩几个苹果?

答:小明起初有三个苹果,他的妈妈又买了两个,之后又吃掉一个,因此3 + 2 - 1 = 4,所以小明有四个苹果。

问:小丽有三个网球,她又购买了两罐网球,每罐三个,这时小丽有几个网球?


在某些大模型中,如果不使用思维链的方式,关于小丽的问题,可能就会回答错误,而使用了思维链可以提升大模型回答的准确率,当然也不能完全避免回答错误的情况。

这里只是举个简单的例子,如果我们在执行更加复杂的任务时,使用思维链可以大大提升大模型的输出质量。特别是在Agent中,Agent利用思维链来优化大模型的推理规划能力和过程,这样就可以让Agent完成更加复杂的任务。

样本提示与思维链结合

样本提示和思维链是两种不同的优化大模型表现能力的方式,一个是给出案例,一个是逐步拆解,但它们的最终目的都是为了更好的使用大模型。

因此,在实际的应用过程中处理复杂任务时,一般会把样本提示与思维链两者相结合,即给出案例,又给出思考过程。

如下图所示:

大模型提示词进阶,零样本提示, 一次样本提示和少样本提示以及思维链(Chain of Thought, Cot)-AI.x社区

在一些问答系统中,使用样本提示+思维链的方式能够更好的回答问题,以及做一些复杂任务的拆解。

而如果把样本提示+思维链的方式,再使用大模型的function call的方式来实现Agent,就可以让大模型完成一些更加复杂的任务,比如使用思维链做完规划之后,调用工具来完成每一步的任务。

通过这样的方式,就可以把大模型与具体的垂直领域相结合,创建垂直领域的智能体。

大模型技术的核心只有两点,一是怎么把模型做的更好,更强大;二是怎么用好大模型,让大模型解决具体领域的问题。

思维链和样本学习是解决两种不同问题而提出的技术,而且可以把两者结合起来,使得模型表现的更好。


本文转载自公众号AI探索时代 作者:DFires

原文链接:​​https://mp.weixin.qq.com/s/zeRnkYfhXh7PkgY3bFU6tA​



©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2024-9-4 18:21:50修改
收藏
回复
举报
回复
相关推荐