最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

ChatGPT进阶:提示工程入门

运维笔记admin34浏览0评论

前言

什么是提示工程呢?简单来说,就是通过精心设计、优化输入信息来引导人工智能生成高质量、准确、有针对性的回应。

如果将互联网比喻为人类的新器官,互联网极大地扩展了我们的记忆容量,就像我们额外拥有了一个记忆器官。揭示了我们正在成为的生物——一种通过与技术深度相连来增强自我能力的生物。

以ChatGPT为代表的人工智能也正在成为我们的新器官,它们将辅助我们处理信息、做出决策、进行学习、理解和解决复杂的问题,激发我们的创造力。它们将极大地扩展我们的认知范围和思维能力。在它们的辅助下,每个人在未来都可以做到以前想象不到的事情。

第1章 认识ChatGPT

Google Workspace与Microsoft Office都会嵌入生成式人工智能,

AutoGPT则试图让大语言模型能够自主行动。

1.1 ChatGPT是什么

Chat Generative Pre-trained Transformer

2022年11月发布GPT-3.5

2023年3月发布GPT-4

语言模型是什么呢?语言模型可以理解为一种预测下一个token(自然语言处理的单位,可以简单理解为词)的统计模型。

语言模型会根据我们输入的词序列,结合它见过的所有词序列组合,再根据词序列组合出现的频率,来预测下一个最有可能出现的词是什么。根据语言样本进行概率分布估计,就是语言模型。

语言模型究竟长什么样子呢?

可以想象有一张巨大的表格,这张表格列出了所有词序列的组合,以及词序列对应组合出现的频率。当我们输入某个词序列时,语言模型会在这张表格里找出与之最匹配的词序列,并预测出其后面最常见的一个词。

语言模型的类型和对应的简单说明

统计语言模型

神经语言模型

预训练语言模型

大语言模型

GPT是Generative Pre-trained Transformer的缩写,中文释译为“生成式预训练变换模型”。

GPT是一种生成式人工智能。它通过计算大量数据中的概率分布,最终可以从分布中生成新的数据。

预训练是指在训练特定任务的模型之前,先在大量的数据上进行训练,以学习一些基础的、通用的特征或模式。用于预训练的数据通常是未标注过的,这意味着模型需要自我发现数据中的规律和结构,而不是依赖已标注的信息进行学习。使用无标注数据的训练方式通常被称为“无监督学习”。

预训练过程使得GPT能够学习到语言的一般模式和结构。然后, GPT可以通过在有标签的数据上进行微调,来适应各种不同的任务。

Transformer直译成中文可以是“改变者”“变换器”,甚至是“变形金刚”,这是GPT的基础架构。Transformer是一种深度学习模型,它使用自注意力机制来处理序列数据。这使得GPT能够有效地处理长文本,并捕捉到文本中的复杂模式。

什么是自注意力机制呢?

自注意力机制(Self-Attention)是Transformer的核心组成部分。这种机制的主要思想是在处理序列的每个元素时,不仅考虑该元素本身,还考虑与其相关的其他元素。

Transformer可以为语言模型提供一种“有的放矢”的能力,它可以对输入的文本中的每个词分配不同的重要性权重,然后进行权重比较,从而帮助模型理解文本中各词之间的依赖和关联关系,使其不再机械地对待每一个词,而是可以像人类一样有选择性地关注与理解信息。

所以,当我们说“GPT”时,其实指的是一种能够生成新的连贯文本,在大量数据上进行预训练并使用Transformer架构的深度学习模型。

2017年,谷歌发布了关于Transformer的论文;

2018年,OpenAI发布了GPT-1;

2020年,OpenAI发布了GPT-3。

2022年11月发布ChatGPT(GPT-3.5)

1.2 ChatGPT的能力

实实在在的生产工具,它不但能与你进行对话,还可以进行自动写作、命题绘画、语言翻译、智能推荐、分析预测等。它能应用在各行各业,如广告、直播、写作、绘图、新闻等。

涌现是“由量变引起质变”,是“整体大于部分的总和”的概念。

大模型能力的涌现是指在小规模模型中不存在,但在大规模模型中存在的能力。

ChatGPT等大语言模型是建立在Transformer结构之上的,且多头注意机制层层叠加,最终形成一个极深的神经网络。

以下三种新能力将使ChatGPT大有作为。

上下文理解:学会了理解语境。

遵循指令:拥有一定的泛化能力。

推理能力

绝大多数职业在某种程度上都受到大语言模型的影响,涉及各个工资水平的职业。

1.3 ChatGPT的局限

ChatGPT具有“幻觉”的现象。幻觉”就是一本正经地胡说八道。

可以采取以下几种措施。

事实检查

多元化信息源

了解人工智能的限制

ChatGPT其实是一个失忆症患者。

“日记本”的容量即“上下文”的大小。以GPT-4的32k版本为例,它的“日记本”容量为32000个token。1个token通常可以对应普通英文文本中的4个字符,大约相当于一个英文单词的3/4。

我们的互动过程并不构成对模型的“训练”。

每一次在与ChatGPT进行对话时,ChatGPT本体都是一样的,只不过“日记本”不同,“日记本”的信息越多,ChatGPT对我们的需求、问题背景等的了解就越多,所以就看起来更聪明了。

在训练或标注过程中,所吸收知识中的偏见会影响其回答和判断。

ChatGPT的训练和标注过程通常依靠人工参与,应采用更加客观和去个人化的自动方式来补充人工标注,减少主观偏差。

第2章 人机共舞的艺术:提示工程简介

ChatGPT是一个“遇强则强,遇弱则弱”的工具。

2.1 什么是提示与提示工程

如何才能充分利用这个工具,让它把肚子里的知识能吐尽吐,真正成为你的生产力呢?

使用提示(Prompt)与提示工程(Prompt Engineering)

“提示”指的是用户向人工智能提供的输入信息,这些信息通常包含关键词、问题或指令,旨在引导人工智能生成与用户期望相符的回应。

提示工程是通过精心设计、优化输入信息(提示),来引导人工智能生成高质量、准确、有针对性的回应。它是一门高度依赖经验的工程科学,涉及对问题表述、关键词选择、上下文设置及限制条件等方面的细致调整,以提高人工智能回应的有效性、可用性和满足用户需求的程度。

2.2 提示工程的巨大威力:从Let’s think step by step说起

在人工智能领域,有时候一句简单的提示便能激发出模型的巨大潜力,即使只是一句话或一个词。

为聊天机器人编写非常好的提示是一项高水平技能,这正是运用简洁自然的语言进行编程的一个初步范例。

2.3 我们与ChatGPT的沟通模型

从“编码”的角度看,提示工程让我们优化了“把思想变成符号”的过程,从而让发送者(我们)和接收者(ChatGPT)之间能够更有效地传输信息。

从“噪声”的角度看,在我们与ChatGPT交互时,提示工程可以帮助处理和减少噪声(也就是干扰传递的因素),使我们的消息更容易被ChatGPT“理解”。

调用ChatGPT的API是有成本的,用更少的文字表达更多的信息。

2.4 从人工智能学科角度看提示工程

GPT-4已经在多项专业与学术任务上达到了人类水平,在各种测试中取得了非常好的成绩。

如果计算机技术和人工智能技术继续飞速发展,有可能创造出超越人类智能的实体。在这方面,一个非常有名的理论是“技术奇点”。

从这种“智能增强”(Intelligence Amplification)的理论角度来看,人工智能会是提高和扩展人类智能的一种方式,而非竞争对手或替代品。

对齐(Alignment):它旨在使人工智能与人类价值观保持一致并遵循人类意图。

ChatGPT写的一篇科幻小说描述了对齐的重要性:“最大化螺丝钉产量”的故事。

只靠提示工程是无法解决对齐问题的。

人工智能应该主动适应人类,而非让人类适应人工智能。

OpenAI公司训练ChatGPT采用的RLHF(Reinforcement Learning from Human Feedback,人类反馈强化学习)就是实现对齐的手段之一。

弥达斯国王问题:我们想要的就是我们的真实需求吗?弥达斯是古希腊神话中的弗吉尼亚国王,他祈求神赋予他能力,把他触摸的一切都变成黄金。

2.5 拆解、标准化、流程化:如何用AI改造工作

拆解问题、标准化、流程化,简单来说就是将复杂问题简单化,简单问题标准化,标准问题流程化。

从整体到部分,从宏观到微观的思考过程,涉及问题的分解和重构。

通过制定统一的规则或标准来处理简单的问题,以提高解决问题的效率和质量。

流程化就是将一组相关的任务按照一定的顺序和规则进行组织,形成一个标准的工作流程。

减少了因个体差异和随机性引起的不确定性。

第3章 使用ChatGPT的基础技巧

3.1 使用文本分隔符分割指令和上下文

我们使用的提示一部分是指令,另一部分是上下文。

可以用“###”或““”"”,或者其他任何可以分割文本的分隔符将指令与上下文分割开。

使用分隔符可以让ChatGPT抓住重点。

3.2 使用标记语言标记输入格式

提示中往往会有一些重点,但是ChatGPT偶尔会忽略它们,可以使用“**”来加粗文本,即在重点词或短语前后添加两个星号,让ChatGPT注意到它们。

Markdown的标记语言在使用ChatGPT时非常有用。

3.3 使用有序列表与无序列表列出不同的项

使用ChatGPT的过程中,我们有时需要将一个任务列出很多项,如做一件事情的步骤、提醒ChatGPT在回答中需要注意哪些事项等。

对于有序列表,可以用数字序号的形式来表示。

对于无序列表,可以使用“-”来列出它们。

有序列表的格式与无序列表的格式仍然来自Markdown。

3.4 量化你的要求

将任务和要求转化为可度量和可比较的指标,最好是明确的数字。

3.5 不要说“不要做什么”,要说“要做什么”

3.6 利用ChatGPT“接龙”的特性引导下一步动作

ChatGPT是一个预测模型,它所做的事情是预测下一个token应该输出什么,一直在进行文字接龙。

在提示的最后添加一个“import”可以提醒ChatGPT是时候开始写Python代码了。

3.7 多轮对话:ChatGPT“越用越聪明”的秘诀

在同一个对话里聊同一件事情或主题时,ChatGPT似乎会变得越来越聪明。可能是因为ChatGPT读取了关于当前任务的更多的上下文信息,所以会有更高质量的产出。

在同一个对话中保持对同一主题的深度讨论,可以帮助ChatGPT更好地把握你的偏好,理解问题的具体背景和环境,从而使其回答更能切中要害。换句话说,我们最好在与ChatGPT的同一轮对话中讨论同一件事。

3.8 使用ChatGPT插件

ChatGPT的知识是有限的且不能获取实时信息,也不能执行具体的操作。它就像是一个只会说话的机器人,虽然知识丰富,但是不能帮你做事。

ChatGPT插件的重要性在于可以扩展ChatGPT的功能,让ChatGPT不仅是一个会说话的机器人,还是一个能帮你做事的机器人。

可以使用GPT with Browsing插件让ChatGPT能够上网,也可以使用Wolfram插件让ChatGPT执行复杂的计算、数据分析、绘图、数据导入和信息检索,还可以使用Chat with PDF插件让ChatGPT读PDF文件。

可以在插件市场中根据你的需求进行寻找。

第4章 使用ChatGPT完成自然语言处理任务

知识要点

文本摘要:提炼文本精华,生成会议记录摘要以提高工作效率

文本纠错:智能拼写与语法检查,如自动检查商业报告中的语法错误

情感分析:挖掘文本中的情感倾向,分析用户反馈,改进产品设计

实体识别:从文本中提取关键信息,如从简历中提取候选人的姓名、学历、经验等

机器翻译:使用ChatGPT完成创造性翻译

关键词抽取:从文本中提取有意义的联系,如为论文生成关键词

问题回答:掌握提问技巧和获取准确答案的方法

生成式任务:使用ChatGPT进行内容创作

4.2 文本摘要:提炼文本精华

文本摘要的提示公式

你是一个被设计来执行文本摘要任务的助手,你的工作是从原始文本中提取关键信息,并生成一个简短、清晰且保留原文主旨的摘要。接下来,我会在下方提供一串“需要进行文本摘要的文本”。你需要返回给我摘要的结果,我应该能从摘要中快速了解文本的主要内容。需要进行文本摘要的文本:###(这里填写需要进行文本摘要的文本。)###

ChatGPT存在两个缺点:幻觉、上下文限制。

对于幻觉,我们可以借助一些小技巧(如要求ChatGPT给出引用)来减少“幻觉”的出现。

ChatGPT的上下文是有限的。GPT-3.5的4k版本上下文有2000~3000个词,GPT-4的32k版本的上下文约有25000个词。由于词汇量太大, ChatGPT会“忘记”较早输入的内容。

只要需要分析的文本长度没有超过上限,我们就能够用ChatGPT来分析输入的文本。

4.3 文本纠错:检测和修正文本错误

文本纠错的提示公式

你是一个被设计出来执行文本纠错任务的助手,接下来,我会在下方提供一串“需要进行文本纠错的文本”。你需要分析文本中的每一条信息,对其进行错字检查、拼写检查、语法纠错、标点符号修正、词汇搭配、语义纠错、病句检查等方面的文本纠错,让句子表达通顺,使之没有语法错误与其他错误。进行检查后,你需要做出以下反馈:1-返回经过修改后的文本;2-注明修改的地方,并说明原因。需要进行文本纠错的文本:###(这里填写需要进行文本纠错的文本。)###

4.4 情感分析:挖掘文本中的情感倾向

区分正负面情感的提示公式

你是一个被设计为对文本进行情感分析的助手,接下来,我会在下方提供一串“需要进行情感分析的文本”。你需要分析文本中的每一条信息,并为每一条信息返回一个key-value对。key是文本的内容,value是“负面”“中性”“正面”中的一种。需要进行情感分析的文本:###(这里填写需要进行情感分析的文本。)###

4.5 实体识别:抽取特定实体

实体识别的提示公式

你是一个被设计为从文本中提取实体的助手,接下来,我会在下方提供一串“需要进行实体识别的文本”。你需要从中提取出[实体类型1]、[实体类型2]和[实体类型3],并返回给我一个JSON对象。需要进行实体识别的文本:###(这里填写需要进行实体识别的文本。)###

4.9 生成式任务:用ChatGPT做内容创作

4.9.1 生成式任务的提示设计维度

使用背景、ChatGPT的角色、目标和关键结果这四个要素来设计提示。

第5章 使用 BROKE框架设计ChatGPT提示

5.1 BROKE框架

在BROKE框架中,5个字母分别是5个英文单词的首字母,B代表Background(背景),R代表Role(角色),O代表Objectives(目标),K代表KeyResults(关键结果),E代表Evolve(改进)。

第6章 使用ChatGPT的进阶技巧

6.3 用链式思维提高 ChatGPT 的逻辑能力

两个激活ChatGPT推理能力的“神秘咒语”。

咒语1:让我们一步一步思考(Let’ s think step by step)

咒语2:让我们逐步来解决这个问题,以确保我们得到正确的答案(Let’s work this out in a step by step way to be sure we have the right answer)

6.4 自一致性:利用“投票”获得可靠答案

自一致性是一种让ChatGPT给出的答案更可靠的方法。

假设你有一个问题,问了五个朋友,他们都给出了相同的答案。在这种情况下,你可能会觉得这个答案相当可靠。自一致性就是利用类似的思路,让ChatGPT给出更可靠的答案。

使用自一致性方法的基本步骤。

1.使用链式思维提示来引导大语言模型生成推理过程

要激活这种能力,只需在指令的开始加上“Let’s think step by step”即可。

2.多次重复生成答案,让ChatGPT从不同的思考路径得出结论。

3.通过“投票”选择最可靠的答案。

6.5 知识生成提示

在问ChatGPT问题之前,可以先要求它生成一些问题相关的知识,从而获得更好的回答表现,这就是知识生成提示。

如果问题是关于翻译的,就可以先让ChatGPT回答关于翻译的一些基本知识。然后,将这些知识和问题一起提供给ChatGPT,让它回答问题。

使用知识生成提示可以按照下面的步骤。

(1)生成知识:让ChatGPT生成与问题相关的知识。

(2)整合知识和问题:将生成的知识与问题结合在一起。可以将知识和问题一起提供给ChatGPT,形成一个新的输入。

第7章 如何用ChatGPT进行创新

知识要点

组合式创新:将已有的元素结合在一起,获得全新的效果与产品

ChatGPT+领域知识:撬动ChatGPT的专业知识,为你提供建议与参考

ChatGPT+工具:利用ChatGPT调用外部工具,扩展ChatGPT的能力

ChatGPT+其他AI:将ChatGPT与其他AI模型相结合,实现更多可能

用ChatGPT做数据分析

7.1 组合式创新

组合式创新就是将已有的元素、知识、技术等不同领域的成分进行重新组合,以创造出全新的产品、服务或解决方案。

将GPT-4模型与搜索引擎结合在一起,就出现了NewBing,完全颠覆了旧的搜索引擎体验;将ChatGPT和编程助手结合在一起,就有了全新的GithubCopilot,能够自动帮程序员完成代码、写注释、列步骤、修Bug等;利用ChatGPT调用机器人的API,机器人就能够听懂人话。

科学家已经教会ChatGPT这样的大语言模型自己学习使用工具,AutoGPT这样的项目则在想办法给ChatGPT的“大脑”加上感知与执行的能力,试图让它成为一个真正能够自主行动的智能体。

7.3 ChatGPT+工具

人类之所以强大,很重要的原因之一是会使用工具。

将ChatGPT与其他工具结合使用也会激发出新的可能性,发挥出意想不到的效果。

7.4 ChatGPT+其他AI工具

AI模型有很多种,它们均有各自擅长的任务。

ChatGPT能够帮助我们与其他AI模型进行对话,打破语言壁垒。

第8章 基于ChatGPT进行开发

8.1 ChatGPT API:利用ChatGPT制作自己的应用

在ChatGPT的参数中,有一个叫作temperature(温度)的参数控制着生成文本的随机性,参数值的范围为0~2。如果你希望生成的文本更随机、更有创新性,那么你可以增大temperature的值;反之,如果你希望生成的文本更稳定、更准确,那么你可以减小temperature的值。

8.2 LangChain:大语言模型开发框架

LangChain是一个围绕大语言模型构建的框架。

LangChain的核心思想是我们可以将不同的组件“链”在一起,以便围绕像ChatGPT这样的大语言模型创建更高级的用例。

大语言模型开发框架也不止这一家,如微软的Semantic Kernel等也是不错的选择。

第9章 ChatGPT的替代品们

了解Claude、PaLM2、HuggingChat等大语言模型。

9.1 Claude:ChatGPT的孪生姐妹

Anthropic由OpenAI公司的前成员于2021年创立。

OpenAI接受了微软的投资,而Anthropic则接受了谷歌的投资。

9.2 PaLM 2:来自谷歌的实力对手

PaLM2是谷歌在2023年5月发布的大语言模型,

包含了4个不同参数的模型:Gecko(壁虎)、Otter(水獭)、Bison(野牛)和Unicorn(独角兽),

参数量最小的模型Gecko可以在一台手机上本地运行。

谷歌全家桶”办公,如Gmail、GoogleDocs、GoogleSheets、GoogleSlides等,PaLM2会整合到这些办公软件之中,单击相应按钮就能使用它们。

发布评论

评论列表(0)

  1. 暂无评论