整理自:专知
在公众号后台回复 Prompt Engineering 即可获取PPT。
ChatGPT爆火之后,也逐渐衍生出一大堆新的概念和机会。提示工程(Prompt Engineering)便是其中之一。据笔者所知,国内外目前已有提示工程相关的工程师岗位了。
提示工程是一门相对较新的学科,用于开发和优化提示,以有效地将语言模型(LM)用于各种应用和研究主题。提示工程技能有助于更好地理解大型语言模型(LLM)的能力和局限性。
研究人员使用prompt engineering来提高LLM在广泛的常见和复杂任务上的能力,如问答和算术推理。开发人员使用提示工程来设计与LLM和其他工具交互的健壮和有效的提示技术。
提示工程不仅仅是设计和开发提示。它包含了对与LLM交互和开发有用的广泛技能和技术。这是接口、构建和理解llm功能的一项重要技能。您可以使用prompt engineering来提高llm的安全性并构建新的功能,例如用领域知识和外部工具增强LLM。
由于对与LLM一起开发的高度兴趣,我们创建了这个新的prompt工程指南,其中包含所有最新的论文、学习指南、模型、讲座、参考资料、新的LLM功能和与prompt工程相关的工具。
地址:https://github.com/dair-ai/Prompt-Engineering-Guide
1. 引言
提示工程是一门相对较新的学科,用于开发和优化提示,以有效地将语言模型(LM)用于各种应用和研究主题。提示工程技能有助于更好地理解大型语言模型(LLM)的能力和局限性。研究人员使用prompt engineering来提高LLM在广泛的常见和复杂任务上的能力,如问答和算术推理。开发人员使用提示工程来设计与LLM和其他工具交互的鲁棒和有效的提示技术。
本指南涵盖了提示的基础知识,对如何使用提示来交互和指示大型语言模型(LLM)提供了一个粗略的想法。
LLM设置
在处理提示时,您将通过API或直接与LLM交互。您可以配置一些参数以获得不同的提示结果。
Temperature ——简而言之,Temperature 越低,结果越确定,因为总是选择可能性最高的下一个token。升高的Temperature可能导致更多的随机性,鼓励更多多样化或创造性的输出。我们实际上是在增加其他可能token的权重。在应用方面,我们可能希望对基于事实的QA等任务使用较低的Temperature,以鼓励更事实和更简洁的回答。对于诗歌生成或其他创造性任务,提高Temperature可能是有益的。
Top_p -类似地,使用Top_p(一种称为核采样的Temperature采样技术),您可以控制模型生成响应的确定性程度。如果你正在寻找准确和事实的答案,请保持这个数字较低。如果您正在寻找更多样化的响应,请增加到更高的值。
一般的建议是改变其中一个,而不是两个都改变。
在开始使用一些基本示例之前,请记住,您的结果可能会因您使用的LLM版本而有所不同。
提示的基础知识
提示的元素
随着我们介绍提示工程可能提供的越来越多的示例和应用程序,您将注意到有一些组成提示的元素。
提示(prompt)可以包含以下任何一个组件。
指令(Instruction):希望模型执行的特定任务或指令
上下文 context
——可以包含外部信息或额外的上下文,这些信息可以引导模型做出更好的响应
输入数据——是我们感兴趣的输入或问题
输出指示器 Indicator :表示输出的类型或格式。
提示并不需要所有组件,其格式取决于当前的任务。我们将在接下来的指南中接触到更多具体的例子。
设计提示的一般技巧
提示示例
在前一节中,我们介绍并给出了如何提示LLMs的基本示例。
在本节中,我们将提供更多示例,说明如何使用提示来实现不同的任务,并介绍其中的关键概念。通常,学习概念的最好方法是通过示例。下面我们将介绍几个示例,说明如何使用精心设计的提示来执行不同类型的任务。
主题:
文本摘要
信息提取
问题回答
文本分类
谈话
代码生成
推理
2. 提示技术
在这一点上,很明显,改进提示有助于在不同的任务上获得更好的结果。这就是prompt engineering背后的全部思想。
虽然基本的例子很有趣,但在本节中,我们将介绍更高级的提示工程技术,使我们能够实现更复杂和有趣的任务。
Zero-shot Prompting
Few-shot Prompting
Chain-of-Thought Prompting
Self-Consistency
Generate Knowledge Prompting
Automatic Prompt Engineer
Active-Prompt
Directional Stimulus Prompting
ReAct
Multimodal CoT
Graph Prompting
3. 提示应用
Program-Aided Language Models
Generating Data
4. 模型
ChatGPT
在本节中,我们将介绍ChatGPT的最新提示工程技术,包括提示、应用、限制、论文和额外的阅读材料。
主题:
-
ChatGPT介绍
回顾对话任务与ChatGPT的对话
Python的笔记本
ChatGPT是OpenAI训练的一种可以进行对话交互的新模型。该模型被训练成遵循提示中的指示,在对话的上下文中提供适当的响应。ChatGPT可以帮助回答问题、建议食谱、以某种风格写歌词、生成代码等等。
ChatGPT使用来自人类反馈的强化学习(RLHF)进行训练。虽然这个模型比之前的GPT迭代更有能力(也经过训练以减少有害和不真实的输出),但它仍然有局限性。让我们通过具体的例子来介绍一些功能和限制。
你可以在这里使用ChatGPT的研究预览,但对于下面的示例,我们将使用OpenAI Playground上的聊天模式。
GPT-4
在本节中,我们将介绍GPT-4最新的prompt工程技术,包括提示、应用、限制和其他阅读材料。
GPT-4介绍
最近,OpenAI发布了GPT-4,这是一个大型多模态模型,可以接受图像和文本输入并发出文本输出。它在各种专业和学术基准上实现了人类水平的表现。
书册:
课件:
在公众号后台回复 Prompt Engineering 即可获取PPT。
进NLP群—>加入NLP交流群
持续发布自然语言处理NLP每日优质论文解读、相关一手资料、AI算法岗位等最新信息。
加入星球,你将获得:
1. 每日更新3-5篇最新最优质的的论文速读。用几秒钟就可掌握论文大致内容,包含论文一句话总结、大致内容、研究方向以及pdf下载。
2. 最新入门和进阶学习资料。包含机器学习、深度学习、NLP等领域。
3. 具体细分NLP方向包括不限于:情感分析、关系抽取、知识图谱、句法分析、语义分析、机器翻译、人机对话、文本生成、命名实体识别、指代消解、大语言模型、零样本学习、小样本学习、代码生成、多模态、知识蒸馏、模型压缩、AIGC、PyTorch、TensorFlow等细方向。
4. 每日1-3个NLP、搜广推、CV等AI岗位招聘信息。可安排模拟面试。