当前位置:   article > 正文

Prompt Engineering

Prompt Engineering

Prompt Engineering Guide  

很好的学习网站:Prompt Engineering Guide | Prompt Engineering Guide

随着大语言模型如 ChatGPT 等的兴起,人们看到了其在自动生成各种文本方面的超强能力和广泛应用。然而,由于模型可能生成不准确或不当的文本,提示工程(Prompt engineering)应运而生。提示工程通过设计和构建输入提示来控制大语言模型的输出,从而提高生成文本的准确性和可靠性,为各种应用场景提供更好的效果和体验。因此,提示工程的背景和意义在于优化输入提示,引导大语言模型生成更加准确、可靠、符合预期的输出文本,从而更好地发挥其优势和价值。

随着大语言模型如 ChatGPT 等的兴起,人们看到了其在自动生成各种文本方面的超强能力和广泛应用。然而,由于模型可能生成不准确或不当的文本,提示工程(Prompt engineering)应运而生。提示工程通过设计和构建输入提示来控制大语言模型的输出,从而提高生成文本的准确性和可靠性,为各种应用场景提供更好的效果和体验。因此,提示工程的背景和意义在于优化输入提示,引导大语言模型生成更加准确、可靠、符合预期的输出文本,从而更好地发挥其优势和价值。

提示简介

  提示工程(Prompt engineering)是一门相对较新的学科,旨在为各种应用和研究主题开发和优化提示,以有效地利用语言模型(LMs:language models )。提示工程技能有助于更好地了解大型语言模型(LLMs:large language models )的能力和局限性。研究人员使用提示工程来提高 LLMs 在各种常见和复杂任务(如问答和算术推理)上的能力。开发人员使用提示工程来设计稳健且有效的提示技术,与 LLMs 和其他工具进行交互。

基本提示(Basic Prompts)

可以通过提示实现很多功能,但结果的质量取决于您提供的信息量。提示(Prompt)可以包含指令(instruction )或问题(question),以及其他详细信息,例如背景信息输入(input)或示例(examples)

例如:为了让模型生成描述今天上海天空的语句,我们可以通过逐步优化输入提示信息来帮助模型完成任务。

Prompt:
完成这个句子:
天空是

Output:
天空是指大气层上方的空间,通常是指人们在地面上所看到的天空,它的颜色和形态会随着时间、地点、季节和气象条件的不同而变化。

正如上面这个例子,语言模型输出了一系列与“天空是”这个上下文相关(只有指令和问题,没有背景信息)的字符串。输出结果是通用的知识,与我们想要实现的任务相差甚远。

这个简单的例子也突显了我们需要提供更多上下文或指令来明确我们想要实现的具体目标。

让我们试着稍微改进一下:

Prompt:
根据今天天气情况,完成描述今天天气的句子:
天空是

Output:
天空是阴沉的,乌云密布,目前正在下雨。

进一步细化地点(没有今天天气信息):

Prompt:
根据上海今天天气情况,完成描述今天天气的句子:
天空是

Output:
天空是阴沉的,目前有雨,气温较为寒冷。

告诉 LLMs 模型今天是晴天:

Prompt:
根据上海今天晴天,完成描述今天天气的句子:
天空是

Output:
天空是湛蓝色的,阳光明媚,没有云彩。

我们告诉模型去完成这个句子的上下文背景信息,所以结果看起来更好,因为它严格按照我们告诉它要做什么(“完成句子”)来进行。这种通过设计最佳提示语来指导模型执行任务的方法被称为提示工程。

现在的ChatGPT(也称为LLM,即大型语言模型)已经成为了执行各种先进任务的重要工具。无论是对于文本摘要、问答系统、对话机器人,还是数学推理、代码生成等领域,ChatGPT都展现出了其强大的能力和潜力。

参数调整(LLM Settings)

在使用提示语(Prompt )可以通过 API 或直接与 LLM 进行交互。可以配置一些参数来调整输出不同的结果。

  • Temperature

    Temperature是一个用于控制文本生成随机性的参数;

    Temperature值越低,生成的文本就越接近于模型已有的知识和样本,可能会更加保守和可预测,当Temperature值接近于0时,生成的文本就会越来越接近于模型最有可能的输出;

    而当Temperature值较高时,生成的文本就会更加多样化、新颖和出人意料。

    这是因为高温下,生成过程更加随机,模型更容易从多个可能的单词和短语中进行选择和组合,从而创造出更加多样化的文本。

    在应用方面,对于基于事实的问答,我们可能希望使用较低的温度,以鼓励更具事实性和简洁的回答。

    对于诗歌生成或其他创意任务,增加温度可能会更有益。

  • Top_p:

    用于控制生成文本多样性的参数,它可以理解为一个概率阈值。在生成文本时,模型首先计算出所有可能的词的概率分布,然后根据Top-p的设定值,只保留概率累加值最高的一部分词汇。具体来说,模型会将所有词的概率按照从大到小的顺序排列,然后不断累加这些词的概率值,直到累加概率值超过了Top-p设定的概率阈值。此时,模型只保留累加概率值最高的词汇,其他的词汇被丢弃。这样可以有效控制生成文本的多样性,防止生成文本重复和过于生硬。Top-p值越大,生成的文本就越多样化,但同时也可能导致生成文本的准确性降低,因为模型在选择词汇时可能会考虑一些低概率的词汇。

标准的提示(Standard Prompts)

标准提示具有以下格式:

<Question>?

也可以格式化为 QA 格式,这是许多 QA 数据集的标准格式,如下所示:

Q: <Question>?
A:

鉴于上述标准格式,一种广受欢迎且有效的提示技术被称为“few-shot prompting”,其中我们提供样本。Few-shot 提示可以按以下方式格式化:

<Question>?
<Answer>
<Question>?
<Answer>
<Question>?
<Answer>
<Question>?

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】

推荐阅读
相关标签