欢迎参加这个关于为开发者设计的ChatGPT提示工程课程。
我很高兴有Isa Fulford和我一起教授这个课程。她是OpenAI的技术团队成员,开发了广受欢迎的ChatGPT检索插件,她的很大一部分工作是教人们如何在产品中使用LLM或大型语言模型技术。她还为OpenAI Cookbook做出了贡献,该书教授人们如何使用提示。很高兴有你加入。
我也很高兴在这里和大家分享一些提示的最佳实践。
因此,互联网上有很多关于提示的材料,比如“每个人都必须知道的30个提示”。这些主要集中在ChatGPT的网络用户界面上,许多人使用它来执行特定的、通常是一次性的任务。但是,我认为作为开发者工具的LLMs,即使用API调用LLMs快速构建软件应用程序的能力,仍然被低估了。
事实上,我在AI Fund的团队,这是DeepLearning.ai的姐妹公司,一直在和许多初创公司合作,将这些技术应用于许多不同的应用中,看到LLM API能让开发者非常快速地构建什么,这很令人兴奋。因此,在本课程中,我们将与您分享一些您可以做的事情,以及如何做的最佳实践。
有很多材料需要涵盖。首先,你将学习一些用于软件开发的提示最佳实践,然后我们将介绍一些常见的用例,如总结、推断、转换、扩展,然后你将使用LLM构建一个聊天机器人。我们希望这能激发您构建新应用程序的想象力。
因此,在大型语言模型或LLM的发展中,大致有两种类型的LLM,我将称之为基础LLM和指令调优LLM。
所以,基础LLM经过训练,可以根据文本训练数据预测下一个词,通常在大量来自互联网和其他来源的数据上进行训练,以弄清楚下一个最可能的词是什么。例如,如果你提示我们从前有一只独角兽,它可能会完成这个,也就是预测接下来的几个词是住在一个神奇的森林里,和所有独角兽朋友在一起。
但如果你提示我们法国的首都是什么,那么根据互联网上的文章可能包含的内容,基础LLM很可能会完成这个,比如法国最大的城市是什么,法国的人口是多少等,因为互联网上的文章很可能是关于法国的问题列表。
相比之下,一个指令调优LLM,这是LLM研究和实践的很大动力所在,一个指令调优LLM经过训练,可以遵循指令。因此,如果你问它法国的首都是什么,它更有可能输出类似于法国的首都是巴黎的内容。所以,通常训练指令调优LLM的方法是,首先用大量文本数据训练一个基础LLM,然后进一步用指令和尝试遵循这些指令的输入和输出来训练它,然后通常进一步使用一种称为RLHF(来自人类反馈的强化学习)的技术进行精炼,使系统更能够提供帮助并遵循指示。
因为经过指令调优的LLM已经被训练得有益、诚实且无害,所以例如,它们不太可能输出像基础LLM那样可能出现问题的文本,如有毒的输出,许多实际使用场景已经转向了指令调优的LLM。你在互联网上找到的一些最佳实践可能更适合基础的LLM,但对于今天的大多数实际应用,我们会建议大多数人更关注指令调优的LLM,这些LLM更易于使用,而且由于OpenAI和其他LLM公司的工作,它们变得更安全,更符合要求。 因此,本课程将重点介绍指令调优LLM的最佳实践,这也是我们建议你在大多数应用中使用的。在继续之前,我只想感谢OpenAI和DeepLearning.ai的团队,他们为Isa和我将要演讲的材料做出了贡献。我非常感谢来自OpenAI的Andrew Mayne、Joe Palermo、Boris Power、Ted Sanders和Lillian Weng,他们与我们一起参与了素材的头脑风暴,审查素材,为这个短期课程制定了课程。我也感谢DeepLearning团队的Geoff Lodwig、Eddy Shyu和Tommy Nelson的工作。
因此,当你使用一个指令调优的LLM时,想象你是在给另一个人,比如一个聪明但不了解你的任务细节的人,给出指示。所以,当一个LLM不起作用时,有时是因为指示不够清楚。例如,如果你说,写一些关于艾伦·图灵的东西。除此之外,明确你希望文本重点放在他的科学工作、个人生活、历史角色或其他方面,也会有帮助。如果你能明确你希望文本的语气,是应该像职业记者写的那样,还是更像你给朋友草草写的一封便签?这对LLM生成你想要的东西有帮助。
当然,如果你想象自己让一个刚毕业的大学生为你执行这项任务,如果你甚至可以指定他们应该提前阅读什么样的文本片段,以便写这篇关于艾伦·图灵的文章,那么这会更好地为这个新鲜的大学毕业生成功执行这项任务。所以,在接下来的视频中,你会看到如何明确和具体,这是提示LLM的一个重要原则。你还会从Isa那里学到一个提示的第二个原则,那就是给LLM时间思考。所以,让我们继续下一个视频。