语言模型的简史
始于20世纪60年代的ELIZA,这是一个早期的自然语言处理程序,设计成罗杰斯式的心理治疗师。这种程序可以解析人类的输入,然后生成相应的响应。快进到2018年, OpenAI 推出了在大量文本数据上训练的 GPT-1。之后是 2019 年更先进的 GPT-2 和 2020 年的 GPT-3,它们具有生成奇妙类人的文本的能力。每一次 GPT 的迭代都这是向前迈出的一大步,展示了机器学习和大数据集在创建日益复杂的语言模型方面的力量。
什么是即时工程?
提示工程提出了涉及到构造给ChatGPT等大型语言模型(LLM)的提示或指令,以优化它们的响应。它严重依赖于语言学,即研究语言结构及其学问。例如,如果你要求ChatGPT写一个故事,一个提到的设计提示可能是这样的:“写一个关于一个名叫西尔弗船长的军官,他会说话的骆驼,以及他们寻找失落宝藏的具体故事。”这个提示,给出了上下文,并设定了AI的响应方向。提示工程师将不断地改进提示,并监视它们的效果,因为底层的AI在不断发展。目标是完善人工智能的交互。
为什么令牌很重要
像 GPT-3 这样的 LLM 通过将文本分层为令牌来处理文本,这些令牌是需要收费的。令牌可以理解为语言模型解析文本的最小单位,例如,“ChatGPT 是 OpenAI 开发的语言模型“这句话会被分解为8个令牌。深思熟虑的提示工程可以节省令牌和资金,因为每个令牌都会消耗计算资源和时间。
及时工程的思维方式
将提示工程视为设计有效的Google搜索查询。有更好和更差的方式来实现你的请求。例如,不是问“谁赢了比赛?”这样含糊不清的问题,你可能会问“谁赢了” 2023年的NBA总预测?”这样具体的问题,更可能得到更准确的答案。因为具体的问题可以提供更多的上下文信息,帮助AI更准确地理解你的需求。
及时工程的最佳实践
以下是编写有效提示的一些关键提示:
- 提供清晰、详细的指示。不要假设背景知识。例如,不是要求人工智能“总结一本书”,你可能会要求它“总结乔治·奥威尔的‘1984’的主要主题和情节要点。”
- 采用一种角色,或者指定你希望AI使用的声音。例如,你可以指示AI“以莎士比亚的风格写一个回应。”
- 期望的格式(例如,摘要,要点)。例如,“按时间顺序启动战争的主要事件。”
- 使用迭代提示来指导AI。如果最初响应不足,则提出后续问题。这就像进行一场对话,每个问题都建立在之前有一个响应的基础上。
- 避免引导性的问题,偏斜响应。例如,不是问“不是真的吗,X?”你可能会问“对于X有什么证据和反对的证据?”
- 不是问“世界的历史是什么?”你可能会问“20世纪世界的主要事件是什么?”
高级即时工程
零样本、单样本、少样本
在与像ChatGPT这样的大型语言模型交互时,用户可以利用“zero-shot”、“one-shot”和“few-shot”的概念来引导模型的响应。多数技术都可以被视为“提示”工程”的不同方法 – 这是一门编写的有效提示,以引导模型产生所期望的艺术。
“零射击”是指你向 ChatGPT 提供一个提示,但不提供任何具体的例子,希望它能够基于现有的知识理解并有效地响应。例如,你可以问一个复杂的问题或请求解释一个概念,ChatGPT 应该能够基于其训练数据提供有意义的响应。当你想要直接的答案而不提供任何上下文时,这是非常有用的。
“One-shot”涉及提供一个单一的例子以及你的提示。这个例子用于引导模型的响应。例如,如果你要求 ChatGPT 写一首诗,你可以先提供一个你想要的诗的例子: “ChatGPT,你可以写一首像这样的诗吗:‘玫瑰是红色的,紫罗兰是蓝色的……’。”模型使用这个单一的例子来理解你请求的风格和格式。
“Few-shot”的操作原理与“one-shot”相同,但涉及提供几个例子,而不仅仅是一个。当你希望模型在多个实例中识别出一个模式或风格时,这很有可能帮助。例如,如果您希望 ChatGPT 继续一系列的历史事件,您可以要求它生成下一个事件,然后再提供几个系列的示例。
请记住,所有这些技术的关键是提供清晰、简洁的提示。您的提示更加具体、详细,ChatGPT 使您正在寻找答案的可能性就更大。尝试不同的方法,看看哪种最适合您的需求特定。
AI幻觉
在人工智能领域,尤其是在 OpenAI 的 ChatGPT 这样的大型语言模型中,有一种被称为“AI 幻觉”的现象可能会发生。这指的是 AI 模型生成的输出与现实事实或提供的提示无关,从而导致错误或不正确的信息。导致这些幻觉的关键因素可能来自于不足或过时的训练数据,过度夸张,对某些习语或俚语的不熟悉,以针对干扰AI的对抗性攻击。
ChatGPT中的AI幻觉可能会导致一系列的错误信息,其中的不准确到重大的误报。这可能会错误用户,严重偏见,甚至导致误报信息的传播。因此,采取策略来减少这些情况的发生至关重要。
正如我们之前在博客中讨论的,提示工程是我们的工具之一,可以引导 ChatGPT 生成更准确和可靠的响应。但是除了重要提出的提示之外,还有其他技术可以进一步增强这种策略的效果。
其中一种技术涉及调整 ChatGPT 响应的“温度”。在 ChatGPT 这样的 AI 模型中,温度参数控制了响应的随机性。较低的值会导致更确定和集中的输出,而较高的值会导致更多样和创造的输出。通过调整这个参数,我们可以对模型的输出进行更多的控制,降低AI幻觉的可能性。
另外,给ChatGPT分配特定的角色也有帮助。例如,要求其扮演中立的观察者或事实吸引者的角色,可以增加对其生成的相应的控制级别。
然而,重要的是要记住,即使有了这些策略,也应该始终验证人工智能输出的准确性。虽然提示工程和其他技术可以帮助减少人工智能幻觉的可能性,但它们不能完全消除。因此,人类的像 ChatGPT 这样的 AI 模型生成的内容的可靠性和准确性方面的验证和监督仍然至关重要。
提供和文本嵌入
- 用数字表示文本以捕捉语义和关系。这是一种将文本转化为数值标注的方法,使得我们可以在数学上比较不同的词或句子。例如,“国王”和“女王”这两个词可能有类似的支持表示,因为它们都是有效的。
不要忘记新兴模型
提示工程技术也适用于新兴的 AI 系统,例如文本转语音和文本转音频生成器。例如,当使用文本转语音 AI 时,您可能会在语音输出中提供指定您想要的音调或情感的提示,如“以快乐、兴奋的音调阅读以下文本。”
掌握提示工程需要实践,但它让我们能够充分利用像ChatGPT这样强大的LLM的潜力。通过深思熟虑的提示,我们可以进行更有效的人工智能合作。
原文: https://atlassc.net/45dfb013e528/2023/09/10/prompt-engineering-mastering