【吴恩达】ChatGPT提示工程师 笔记【第一课 引言】

课程1视频地址

欢迎参加这个关于为开发者设计的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时间思考。所以,让我们继续下一个视频。

相关推荐
OpenTiny社区7 分钟前
Node.js技术原理分析系列——Node.js的perf_hooks模块作用和用法
前端·node.js
菲力蒲LY11 分钟前
输入搜索、分组展示选项、下拉选取,全局跳转页,el-select 实现 —— 后端数据处理代码,抛砖引玉展思路
java·前端·mybatis
南宫生23 分钟前
力扣每日一题【算法学习day.130】
java·学习·算法·leetcode
柠石榴24 分钟前
【练习】【类似于子集问题】力扣491. 非递减子序列/递增子序列
c++·算法·leetcode·回溯
!!!52532 分钟前
Java实现斗地主-做牌以及对牌排序
java·算法
sjsjs1138 分钟前
【数据结构-并查集】力扣1722. 执行交换操作后的最小汉明距离
数据结构·算法·leetcode
过客猫202240 分钟前
使用 deepseek实现 go语言,读取文本文件的功能,要求支持 ascii,utf-8 等多种格式自适应
开发语言·后端·golang
刘立军1 小时前
本地大模型编程实战(20)用langgraph和智能体实现RAG(Retrieval Augmented Generation,检索增强生成)(4)
人工智能·后端·llm
CoderIsArt1 小时前
生成一个立方体贴图(Cube Map)
算法·sharpgl
且听风吟ayan1 小时前
leetcode day20 滑动窗口209+904
算法·leetcode·c#