ChatGPT-Prompt提示工程-01 课程简介

330 阅读8分钟

1 课程简介

本课程介绍了一门关于如何使用 ChatGPT 这个大型语言模型(LM)进行提示工程的课程。视频中,主讲人介绍了自己是 OpenAI 的技术人员,也是 DeepMind 的姐妹公司 DeepLearn.AI 的创始人,他将与我们分享他在使用 LM 的经验和最佳实践。视频中还介绍了两种类型的 LM:基于预测的 LM基于指令的 LM ,以及它们的区别和优势。视频最后,主讲人强调了提示工程的两个重要原则:清晰和具体,以及给 LM 足够的时间思考。视频的目的是激发我们对使用 LM 进行软件开发的想象力和兴趣。

LM

首先,你将学习一些软件开发最佳实践的提示。然后,我们将涵盖一些常见的用例,包括总结、推理、转换和扩展。接着,你将使用LLM构建一个聊天机器人。我们希望这会激发你的想象力,并能够创建出新的应用程序。在大型语言模型或LLM的开发中,大体上有两种类型的LLM,我将其称为基础LLM和指令调整后的LLM。

因此,基础LLM已经训练出来根据文本训练数据预测下一个单词。通常是在互联网和其他来源的大量数据上进行训练,以找出接下来最有可能的单词。例如,如果你提示“一次有一个独角兽”,它可能会继续完整这个句子,预测出接下来的几个单词是“和所有的独角兽朋友生活在一个神奇的森林里”。但如果你提示“法国的首都是什么”,那么LLM可能会给出正确的回答“巴黎”,或者可能会给出错误的回答。训练后的LLM可以接收新的提示作为输入,并输出预测结果。

基于互联网上的文章,基础LLM有可能会回答法国的最大城市是什么,法国的人口是多少等等。因为互联网上的文章很可能是关于法国的问答列表。相比之下,指令调整后的LLM更接受人们的指令。因此,如果你问它法国的首都是什么,它很可能会输出法国的首都是巴黎。指令调整后的LLM的研究和实践的动量更大。

因此,指令调整后的LLM通常是这样训练的:首先,你从大量文本数据中训练出一个基础LLM,随后使用指令和良好尝试的输入和输出来对其进行微调和优化,然后通常使用称为“人类反馈强化学习”(GPT)的技术进行进一步细化,以使系统更能够有帮助且能够遵循指令。因为指令调整后的LLM被训练成有用、诚实和无害的,所以它们输出有害文本(如毒性输出)的可能性比基础LLM更小。很多实际的应用场景已开始向指令调整后的LLM转移,而一些在互联网上查到的最佳实践则可能更适用于基础LLM。

对于大多数今天的实际应用,我们建议大多数人应该专注于经过调整的指令语言模型。这些模型更易于使用,而且由于OpenAI和其他LLM公司的工作,它们变得更加安全和更加符合要求。因此,本课程将专注于经过调整的指令语言模型的最佳实践,这是我们建议大多数应用程序使用的模型。在继续之前,我只想感谢OpenAI和DeepLearning.ai团队为我们提供的材料做出的贡献。我非常感谢OpenAI的Andrew Main、Joe Palermo、Boris Power、Ted Sanders和Lillian Weng。他们与我们一起进行了头脑风暴,对材料进行了审核,为这个短期课程的课程设置拼凑了课程计划。我也感谢深度学习方面Geoff Ladwig、Eddy Shyu和Tommy Nelson的工作。

Openai

因此,当您使用经过调整的指令语言模型时,请考虑给另一个人指示。比如说一个聪明但不了解任务细节的人。那么当LLMs不能工作时,有时是因为指令不够清晰。例如,如果您要说,请为我写一些关于艾伦·图灵的东西。除此之外,明确您希望文本集中讨论他的科学工作、个人生活、在历史中的角色或其他相关事项可能会有所帮助。如果您指定文本要呈现的语气,它应该采用类似专业新闻记者所写的语气呢?还是更像一封简短的随笔,希望LLMs生成您所要求的内容?当然,如果你想象自己要求一个刚拿到大学毕业证的人为你执行这个任务,你甚至可以提前指定他们应该阅读哪几段文本以撰写关于艾伦·图灵的文本,这会进一步为他们成功执行您的此项任务做好准备。在下一个视频中,您将看到 如何清晰明确、具体,这是提示LLMs的一个重要原则。 您还将学习第二个提示原则:给LLMs时间思考。 所以,让我们继续下一个视频。

本章总结

本章介绍了什么是LLM,以及它们是如何工作的。LLM是一种可以根据文本数据生成文本的人工智能系统,它们可以理解自然语言,并根据不同的任务执行不同的指令。 LLM有两种主要的类型:基于文本生成的LLM和基于指令执行的LLM。

基于文本生成的LLM是一种可以根据给定的文本片段预测下一个单词或句子的LLM,它们通常使用一个技术叫做自回归(autoregressive),它意味着它们会根据之前生成的文本来生成下一个文本。 例如,如果你给一个基于文本生成的LLM一个句子“我喜欢”,它可能会预测出“吃苹果”或者“看电影”等等。基于文本生成的LLM的优点是它们可以生成流畅和连贯的文本,但缺点是它们很难控制和引导,因为它们只能根据给定的文本来生成文本,而不能理解用户的意图或目标。

基于指令执行的LLM是一种可以根据给定的指令来生成相应的输出的LLM,它们通常使用一个技术叫做自编码(autoencoding),它意味着它们会根据输入和输出之间的关系来学习如何执行指令 例如,如果你给一个基于指令执行的LLM一个指令“写一首关于爱情的诗”,它可能会生成一首诗,而不是预测下一个单词或句子。基于指令执行的LLM的优点是它们可以更好地理解用户的需求和目标,并且可以生成更多样化和创造性的输出,缺点是它们可能不够流畅和连贯,因为它们需要在输入和输出之间进行转换。

在这个课程中,我们将主要使用基于指令执行的LLM,因为它们更适合构建软件应用,并且也更容易控制和调整。我们将使用ChatGPT网页界面来与LLM进行交互,并且学习如何设计有效和安全的提示,以及如何避免一些常见的错误和问题。

提示工程是一门非常重要和有趣的学科,它涉及到如何与人工智能系统进行沟通和协作,以及如何利用人工智能系统来实现我们想要做的事情。在这个视频的最后,我们将预告一下下一节课的内容,其中我们将介绍提示工程的两个基本原则:清晰具体和给予思考时间。清晰具体的原则是指我们要尽可能地明确地告诉LLM我们想要它做什么,以及我们期望它的输出是什么样的。这样可以避免一些模糊和歧义的指令,以及一些不符合我们目标的输出。 例如,如果你想让LLM写一封给你的朋友的邮件,你需要告诉LLM你的朋友的名字,你想说的话,以及你想用什么样的语气和风格。 如果你只是说“写一封邮件”,LLM可能不知道你想要写给谁,写什么,或者怎么写。给予思考时间的原则是指我们要给LLM足够的时间来处理我们的指令,并且生成高质量的输出。这样可以避免一些过于简单和匆忙的输出,以及一些不完整和错误的输出。 例如,如果你想让LLM写一篇关于人工智能的文章,你需要给LLM足够的时间来搜索和整理相关的信息,并且组织和表达自己的观点。 如果你只是说“快点写”,LLM可能会生成一些没有深度和逻辑的文章,或者甚至无法生成任何文章。

这就是这个视频的概要,希望你能对提示工程有一个初步的了解,并且对下一节课感兴趣。在下一节课中,我们将通过一些具体的例子来展示如何应用这两个原则,并且让你亲自尝试一下。 谢谢你的观看,我们下次见!


更新: 发现一个非常有意思的Prompt网站,大家可以学习一下! Hello from Learn Prompt | Learn Prompt image.png