距离我上次写的关于提示的文章已经有一段时间了(2 个月,但感觉像是 2 年了!),也就是人们常说的“提示工程”。
从那时起,GPT-4 的出现进一步推动了大型语言模型(LLMs)的可能性。
提示工程被称为“本世纪最重要的工作技能”,也被称为“散文编程”,我认为这很有诗意。
就我个人而言,我认为这是个人和企业都需要掌握的基本技能,在可预见的未来,它将具有高度相关性。
在本周的文章中,我深入探讨了如何从 ChatGPT 的提示中获得最大收益,包括我在为这篇文章做研究时发现的一个新的思维链(CoT)“神奇短语”,它使 ChatGPT 更加准确,而且不容易产生幻觉。
如果你对 GPT-3.5 甚至 GPT-4 的功能没有印象,那可能是因为你给它的是“单行”提示,没有上下文,使模型很容易产生幻觉。
在本周的文章中,我们将踏上掌握有效提示艺术的旅程。
像 OpenAI、Anthropic、Cohere、Google、Meta 和其他许多公司提供的大型语言模型(LLMs),为知识渊博的早期采用者提供了巨大的生产力收益,同时也为无知的人带来了微妙的弱点。
就像有一些落伍者花时间将网站、社交媒体、智能手机和其他现在无处不在的技术应用到他们的业务中一样,也会有一些人未能将人工智能纳入到他们的工作流程中,尽管 AI 已为企业和个人提供了无与伦比的生产力提升。
典型的技术采用曲线。LLMs 已“越过鸿沟”进入主流市场,下一站是征服“保守派”。这不会太久。
我的建议是,在人工智能方面,不要做一个落伍者。人工智能正处于指数增长曲线上。ChatGPT 在几周内从完全不为人所知到跨越鸿沟进入早期主流市场。事实证明,它是最适合市场的产品。
现在未能利用人工智能可能会导致以后追赶的难度呈指数级增长。
这并不是因为学习人工智能有多复杂。事实上,LLMs 通过采用自然语言文本和语音界面简化了任务。
难度来自于试图跟上竞争者的步伐,这些竞争者步步紧逼,利用人工智能实现成本和生产率的提高,使他们能够在你犹豫不决的时候偷走你的客户。
人工智能曾像香薰一样被巧妙地注入谷歌搜索等应用程序中,你甚至不知道你在使用它。
但是,用经典电影《意大利任务》中迈克尔 - 凯恩的不朽名言来说,OpenAIs ChatGPT“炸开了门!”,在 2022 年底使人工智能吸引了主流的注意。
在接下来的几个月里(是的,几个月,而不是几年),生成式语言模型形式的人工智能将成为整个数字领域的普遍现象。
这将是一种全面的、直接的人工智能,在谷歌 Workspace 和微软 Office(被称为 365 Copilot)等一系列流行应用程序中出现新的生成功能,这些应用程序加起来被全球数亿人使用。
简而言之,人工智能将无处不在,而你将无法摆脱它。
正如我在上一篇文章中所说:
YOU + AI > YOU
无论是你 + ChatGPT,还是你 + 其他人工智能工具,都取决于你的业务需求。
重要的是,你现在就采取行动,而其他人却把头埋在沙子里,或者在拖延。
采取行动的最直接方式是学习如何提示 AI,让它做你想做的事。
换句话说,提示是向你的人工智能介绍情况的方式,给它提供你希望它创造的内容和方向。
因此,一个好的 prompter 就像一个好老师。
他们为学生(这里指的是 LLMs)指明了一条通往最终目标的道路。
大西洋杂志的 Charlie Warzel 在他关于提示的文章中,写下了这个标题:
此外,宾夕法尼亚大学教授创新和创业的副教授 Ethan Mollick 在同一篇文章中对提示进行了精辟的总结:
“提示是用散文的方式进行编程。”
这与我在上周文章中的说法相呼应:
提示 = 代码
或者,也许我现在应该把它修改为:
散文 = 代码
那么,如何写出一个好的提示?
让我们潜心研究,找出答案。
对于 OpenAI 模型,有 3 个地方可以开始提示:
根据所选择的模型和设置,你使用的方法可能会带来不同的结果。
OpenAI 模型的概述(2023 年 4 月)。
在本教程的大部分内容中,我们将专注于使用 ChatGPT,利用最强大的 GPT-4 模型,但所讨论的大部分技术将适用于 GPT-3.5 和其他基于聊天的大型语言模型。
首先,让我们来介绍一些重要的提示术语。
Token 是语言模型(如 GPT-4)用来理解和处理文本的东西。
一个 Token 可以被认为是一个词,或者有时是一个词的一部分。
例如,下图显示了一个段落是如何被分解成 Token 的:
您可以在这里使用 openai 的“Tokenizer”来查看输入文本有多少个 token。
作为一个粗略的经验法则,1 个 token 平均是 4 个字符或 0.75 个英语文本的单词。
你也可以点击标签来查看代表文本的实际 token ID:
在提示中理解 Token 是很重要的,因为不同的模型有不同的输入 Token 的最大数量,这反过来也限制了提示的大小。
如果你超过了提示的最大 Token 数量,模型可能会返回一个错误,或者直接砍掉你提示中的第一个 Token,丢失上下文。
我们将在后面的文章中更详细地讨论这个问题。
提示设计并不是你在提示工程时唯一可以使用的工具。
你还可以通过调整模型设置来控制模型的输出。
虽然模型设置在 ChatGPT 中是固定的,但通过模型 Playground 及 API,你有更多的选择。
你可以调整许多模型设置,但在本篇文章中,我们将重点讨论你将遇到的两个最常见的设置:温度(Temperature)和 Top P。
温度
LLM,如 GPT-4,就像一个巨大的 token 预测引擎。
温度是一个介于 0 和 1 之间的值,允许您在进行下一个 token 预测时控制模型的可信度。
较低的温度意味着它将承担较少的风险,而文本输出(称为“完成度”)将更加准确和确定。
提高温度将导致更多样化的完成度。
比如说,如果你输入“马是我最爱的”,让模型来完成这个句子,它就会根据下一个 token 的概率,呈现许多选择:
模型的工作方式类似于巨型文本(更准确地说是“token”)预测引擎。为了完成这个句子,模型在训练过程中学习了 4 个具有不同概率的潜在选项。
如果温度为零,那么模型总是选择最高概率的 token(上述案例中的“动物”),但随着温度向 1 增加,模型将从更多的概率 token 中选择,如下所示:
以下是模型温度设置的粗略指南:
据说,ChatGPT 模型的温度被设定为 0.7 左右,这意味着它的反应相当有创造性。
Top P
你会经常遇到的另一个模型参数被称为“Top P”。
Top P 是温度的一种替代物。
Top P 值是在 0 和 1 之间的概率。
Top P 值为 0.1 意味着在预测中只使用前 10% 的 token 来选择。
在你的模型中,使用温度或 Top P 是一个很好的做法,但不能同时使用。
接下来,让我们看看提示的结构和要素。
一个好的内容生成提示很少是简单的一句话,比如,“给我写一篇关于 X 的博文”,其中“X”是你希望模型写的主题。
如果你过去一直使用这种提示方法,而且效果不佳,那也就不奇怪了。即使是 GPT-4 也不能读懂你的思想(还不能!)。
重要的是要明白,“为了好玩”的随意提示和“专业提示”之间有很大的区别,后者的目标是获得专业的结果。
你可以把它想象成你与朋友或家人说话的方式,与你在正式的工作环境或会议上与同事说话的方式的区别。
“专业”提示包括以下几个部分:
我发现,与其把所有东西都写成一句话的巨型提示,并希望得到最好的结果,不如通过与 ChatGPT(GPT-4)进行对话,就像与一个极其能干的初级同事一起工作一样,从而获得更多的改进。
你不必把上面列出的每一个组成部分都拆开来写在新的提示行中,但有时把信息和要求一步步地介绍给语言模型并沿途编辑和尝试新的东西是有帮助的。
因此,让我们通过设置背景来开始我们的提示。
设置上下文可以说是提示的最重要部分,也是新手提示者最常忽略的部分。
当我在专业环境中使用 ChatGPT 时,我通常会创建一个专门用于客户的全新标签,并将背景设置为第一个提示。
我通常会做两件事来设置背景:
例如,为了设置客户背景,我向 ChatGPT 提示公司的基本信息,例如
你正在为 ABC 有限公司工作,该公司为英国南部的家庭和商业客户安装和服务净水器。
假设你希望 ChatGPT 成为 ABC 有限公司的内容营销和 SEO 专家。
那么,你接下来可以输入:
你被聘请为他们的专业内容营销和 SEO 专家,在净水器的主题上创造令人信服和吸引人的内容,通过明确的行动呼吁来推动网站的流量和转化率。你了解你的角色吗?
在设定角色背景时,通常会涉及到所谓的“奉承成分”,在这个成分中,角色被描述为许多你希望模型采用的理想特征(例如,聪明、诚实、乐于助人、专业、令人信服)。
美妙之处在于,一旦你为 ChatGPT(GPT-4)设置了上下文,并要求它确认它理解你对它的要求,它就会做出肯定的回答,就像下面的截屏例子一样:
这真的很像一个真正的人在这种情况下会做的事!
使用背景信息和角色扮演进行情境设置是提示工程中常见的设计模式,可以带来很好的效果。
ChatGPT(GPT-4)几乎可以扮演任何你想要的角色,从营销人员到健身大师,到英语教师到 CEO。
一旦你设定了背景,你在与 ChatGPT 的对话中可以做的下一件事就是向它提供有用的输入数据,让它可以用来完成工作。
对于博文写作、搜索引擎优化、文案写作和一般写作来说,我通常会复制和粘贴目标受众的画像,或者为更多的商业项目提供买方角色。
如果你被观众或买家的画像所困扰,那么可以要求 GPT-4 为你进行创建。例如,使用提示,“为 ABC 有限公司的水过滤器创建一个国内买家画像”。结果通常是不错的!
完成这些操作后,你就可以在下一个提示中要求 ChatGPT 为这个画像写作。上图便是一个专业级别的内容写作简报。
ChatGPT 目前的输出格式只限于文本。
然而,在文本的范围内,你可以指定许多不同的格式,例如:
现在,我们终于准备好指示 ChatGPT 开始为我们创建内容。
如果我想让 ChatGPT 写一篇非常长且详细的博文,并在搜索引擎上有很好的排名,我通常会要求它从制作一个大纲开始:
一旦有了博客大纲,你只需对其进行相应的编辑,然后将博客文章的每个部分剪切并粘贴到下一个提示中,要求 ChatGPT 为你撰写即可。
如果你写的内容想在谷歌搜索中获得排名,那么把你想获得排名内容的主要关键词和/或类似关键词粘贴到指令提示中。
此外,如果你想扩展博文大纲的某一节,你可以简单地写出你的说明,并复制和粘贴之前生成的章节文本,如下所示。然后 ChatGPT 会正式开始写作,而且比你以前合作过的任何初级同事都要快得多!
如果您发现您想让 ChatGPT 写得更详细,您可以从博客大纲中复制和粘贴更小的部分,一次一个,并要求 ChatGPT 对其进行详细的扩展。这样做的结果通常是每个部分都有几百字,给您提供一篇关键词丰富、信息量大的文章,可以受到搜索引擎和客户的喜爱。当然,您也可以要求 ChatGPT 在扩展部分时包括或排除某些主题,从而提供或删除更多细节。
实际上,这相当于你有了一个出色的、多才多艺的同事,只需要在正确的方向上点拨一下,就能产生出色的内容。
然而,ChatGPT 并不只有优点。
语言模型也有一些限制,这一点值得注意。
就像我在向客户展示或发表之前,不会完全依赖一个初级同事的输出,我也会对目前的大型语言模型产生的任何东西保持同样的谨慎,甚至包括非常强大的 GPT-4。
这主要是由于“幻觉”,即模型编造的东西。我在这篇文章中写了更多关于模型的弱点,所以就不再重复了。
因此,在我无法亲自检查结果的情况下,我个人会对使用 ChatGPT 或任何当前的 LLMs 感到非常不舒服。
这意味着我建议并且个人也只在自己觉得自己是领域专家的情况下使用 ChatGPT,而语言模型则作为初级同事,为我提供验证和编辑的内容。
此外,我使用的提示方法也有一些限制。
第一个限制是,在设置最初的背景时,有可能在奉承方面太过。
比如,如果你说“扮演一个智商为 7000 的物理学教授……”
这实际上可能会对你得到的结果产生反作用,因为模型没有参考点,不知道 7000 的智商究竟意味着什么(而且即使有,也肯定无法达到!)。
因此,在设定背景时,要把它放在人类现实的范围内,而不是科幻的范围内。
第二,就像你不应该过度奉承一样,同样重要的是,上下文提示的长度也不能过长。
提供太多的上下文或输入数据有可能实际上会混淆模型,使其偏离正轨。
我们想要的是足够的,而不是太多的背景,所以在这里进行实验是值得的。
第三,值得记住的是,你在一个标签中与 ChatGPT 的对话越多,它就越有可能最终“忘记”它应该是谁。
这是由于底层模型的token 背景窗口,类似于人类的短期记忆。
在 ChatGPT 中,token 背景窗口是 8192 个 token(记住,一个 token 大约是一个 0.75 个单词,所以大约是 6000 个单词的长度,或者在 12 号的字体大小下大约为 12 页 A4 纸)。
如果你通过 API 访问 GPT-4,该模型在开始忘记最初的上下文之前,可以使用多达 32,768 个 token。(大约 25,000 个单词,或者大约 50 页 A4 纸!)
一旦你的提示加上 ChatGPT 的输出总数超过了背景窗口的大小,对话中最旧的信息就会被丢弃。
因此,如果你发现 ChatGPT 在长时间的聊天后有点“走火入魔”,那就值得在提示中重新提交原始语境(背景和角色)来提醒它应该是谁。
目前,这是 ChatGPT 等当前模型的一个限制功能,但可能会在未来的版本中修复,模型将获得更永久的长期记忆。
这可以通过记忆过去的互动来实现,也可以通过总结很长的对话的关键点来实现(总结是 LLM 的一个关键优势)并在你提交下一个问题时自动附加总结,以提供最大的背景。
但是!谷歌不是讨厌人工智能生成的内容吗?
事实证明,谷歌并不讨厌人工智能生成的内容,只要它是高质量的内容,是为人类制作的,而不是只想玩弄搜索引擎排名的内容。
谷歌表示:“适当使用人工智能或自动化并不违反我们的指导方针。这意味着它不会主要用于生成内容来操纵搜索排名,这违反了我们的垃圾邮件政策。”
你可以在这里阅读所有关于规则的全文。
最后,让我们以一个老生常谈的提示技术来结束这篇文章。
除了提示元素(背景、输入数据、指令和输出格式),还有一些提示技术可以用来从大型语言模型中挖掘出额外的精度。
思维链(CoT)提示是一种技术,已被证明可以提高 GPT-3.5 和 GPT-4 等 LLM 的精度。
在我 2 月份关于提示的最后一篇文章中,我描述了使用“让我们一步一步地思考”作为一种有助于提高模型输出精度的零样本学习 CoT 提示。
零样本提示是不包含任何给定例子的提示,供模型用来指导输出。
例如,"什么是 2+2?" 就是一个基本的零样本提示。
事实证明,语言模型在响应零样本提示方面是相当不错的,尽管正如我们之前所看到的,它们可以通过更多的背景进一步改进。
在研究这篇文章时,我发现研究人员使用他们的自动提示工程师(APE)发现了一个比“让我们一步一步地思考”更好的 CoT 提示。
APE 零样本 CoT 提示是迄今为止发现的最准确的提示。
提示“让我们一步一步地解决这个问题,以确保我们有正确的答案“(Let's work this out in a step by step way to be sure we have the right answer.)可以鼓励模型中的思维链推理,并提高一些基准的性能,如下图所示,”让我们一步一步地思考“的准确率为 78.7%,而该提示的总体准确率为 82%。
资料来源:Zhou 等人的《大型语言模型是人类级别的提示工程师》
它已经被证明可以提高模型的性能、真实性和信息量,并通过在提示前加上神奇的短语“让我们一步一步地解决这个问题,以确保我们有正确的答案”来改善零样本和少样本提示。
摩尔力传感器 2024-12-13
南京智联达科技 2024-12-13
凯仕铁Casteks 2024-12-13
元初空间网络营销获客 2024-12-12