Prompt Engineering提示工程——LLM的使用技巧(一)

843 阅读3分钟

“我正在参加「掘金·启航计划」”

在人工智能越来越强大的今天,我们每个人都能通过掌握技巧来更好的使用它。下面,我将介绍一些巧妙的使用技巧来帮助使用LLM(Large Language Model)。

基本概念

一般来说,我们可以直接对AI进行下命令的,因为大模型产生出来就是用来服务人类。我们可以通过简单的提示词(prompts)获得大量的结果,但是结果的质量和提供的信息数量和完善度有关。输入到模型的提示词可以包含指令或者问题,也可以包含上下文、示例。看下面一个简单的示例:

image.png 星火大模型网页版

模型很难区分我们的真实意图,然后做了一些科普,我们可以稍稍完善一下,明确我们的要求:

image.png 星火大模型网页版

现在的效果好多了,我们告知模型去完善句子,因此输出的结果和我们最初的输入是完全符合的。

提示工程(Prompt Engineering)就是探讨如何设计出最佳提示词,用于指导语言模型帮助我们高效完成某项任务。

这个例子中的技巧也叫做 零样本提示(zero-shot prompting), 即用户不提供任务结果相关的示范,直接提示语言模型给出任务相关的回答。某些大型语言模式有能力实现零样本提示,但这也取决于任务的复杂度和已有的知识范围。

少量样本提示(Few-shot Prompting)

虽然大型语言模型展示了惊人的零样本能力,但在使用零样本设置时,它们在更复杂的任务上仍然表现不佳。少样本提示可以作为一种技术,以启用上下文学习,我们在提示中提供演示以引导模型实现更好的性能。演示作为后续示例的条件,我们希望模型生成响应。

比如我们可以看这样一个例子:

image.png

在进行少量样本提示的时候,不用赘述太多细节,要更注重格式。1

少量样本提示并不是万能的,特别是在处理更复杂的推理任务时捉襟见肘。

image.png

有时候它受限于训练材料,也可以是智障, 换个问法:

image.png

这没用。似乎少样本提示不足以获得这种类型的推理问题的可靠响应。上面的示例提供了任务的基本信息。如果仔细观察,我们引入的任务类型涉及几个更多的推理步骤。换句话说,如果我们将问题分解成步骤并向模型演示,这可能会有所帮助。这就是思维链技术,它的提出是为解决更复杂的算术、常识和符号推理任务。我们将在下期介绍这个技术

reference

Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?