ChatGPT原理极简版

作者:郑骁庆
链接:https://www.zhihu.com/question/598243591/answer/3016818013
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

一、深度学习与语言模型

深度学习就是用层数较多(深)的人工神经网络从数据中学习输入与输出之间映射关系的算法,而人工神经网络是受生物神经网络的结构和功能启发下设计的计算模型。

用深度学习训练得到的网络就叫深度神经网络,它可以简单的看成一个函数,能够完成任何输入到输出的转换。比如:我们可以用它玩成语补全的游戏,输入成语的前三个字,让网络输出最后一个字(见图1)。

ChatGPT原理极简版插图
图1. 成语补全的深度神经网络

语言模型可以看成是成语补全的扩展版,它能够给定任意上文的情况下,预测下一个字或词。比如:输入“床前明月光,疑是地”,模型会输出“上”,然后将“上”添加到原输入中变成“床前明月光,疑是地上”,再输入到模型中,则会输出“霜”。如此这般,可以生成出完整的唐诗《静夜思》。使用这样的语言模型就可以完成文本生成任务了,类似技术被称为生成式人工智能(当然也还要包括生成图像、声音和视频等等啦)。

能够依据多长的上文来预测下一个字或词对模型的性能影响较大,目前一般从几千到几万个字或词不等,能够处理的上文越长,模型越强大。很多情况下,相同的上文,可以有多个不同的下文,所以模型输出实际上是不同可选字或词的概率分布。基于这些概率分布,使用随机采样方法就可以为同一个上文生成不同的下文,这种能力对于ChatGPT这种聊天和对话模型非常有用,因为它可以带来回答的多样性。

二、ChatGPT训练三步走

第一步“学会说话”:我们用深度神经网络来训练语言模型,先收集包含各种语言(英文、中文、法文等)尽可能多的文本,每次随机抽一段上文,让模型学会接着往下“背诵”(见图2)。由于看过和背过的文字实在是太多了(实际训练使用了几乎所有能从各种渠道获得的文字和图书资源),模型就可以像模像样地说话了。训练时除了使用海量文本,还会包括大量的代码(就当普通文本一样对待)。一般认为代码有助于提高模型的“逻辑推理”能力,因为代码实现的算法就是对求解问题所需逻辑步骤的描述。

ChatGPT原理极简版插图(1)
图2. 使用海量包含多种语言的文本训练语言模型

第二步“理解意图”:光会文字接龙肯定是不够的,最终目标是要用它来替我们干活的。所以这一步我们让模型统一以“给上文、补下文”方式来学习完成各种各样的任务。问答任务直接可以用“给上文(问题)、补下文(回答)”方式实现,但有些任务还需要在上文中加上提示(见图3)。以翻译为例,除了告诉模型需要翻译的内容外,还要指示模型翻译成哪种目标语言。这一步提示学习完成之后,模型即已“博览群书”(第一步)而“胸有成竹”,又能“领会意图”(第二步)而“对答如流”,已经处于基本可用的状态了。

ChatGPT原理极简版插图(2)
图3. 多任务提示学习让模型学会各种任务(绿色字体为提示语)

第三步“反馈择优”:对于某些问题,模型可能会生成带有偏见、歧视或者令人不适的回答。另外,之前提到过,对于同一个问题,模型能够生成多个不同的回答。这一步中我们让人们对同一问题的不同回答进行排序,然后采用强化学习算法(从交互中得到反馈,迭代优化模型的生成策略)进一步调整模型,使输出回答更符合人们的期望,达到与人们期望对齐的效果(见图4)。

ChatGPT原理极简版插图(3)
图4. 使用强化学习提高模型生成与人们期望相符回答的概率

经过以上学会说话、理解意图和反馈择优三个主要训练步骤,能够以自然语言对话方式完成各种任务的生成式大模型就构建出来了,之后当然还可用领域数据或强化学习进一步对模型进行迭代精调。一般而言,模型的规模越大,能够存储和融合的信息和知识就越多,性能也就越好。

希望详细了解构建和训练类ChatGPT模型完整过程可以参阅《如何构建和训练ChatGPT》(特别是强化学习部分)。

三、情景学习与思维链

使用ChatGPT时,情景学习(In-context Learning)方法能够显著提高其回答的质量,它的原理其实也非常简单。比如:问一位年幼的孩子4乘以5等于多少,他可能答不上来。但你先告诉他:“1乘以5等于5;2乘以5等于10;3乘以5等于15。”接着再问他:“4乘以5等于多少?”,他回答正确的可能性就增加了。同样,情景学习也是在提问前列举一些相似的例子作为输入喂给模型。

以影评的情感分析为例(见图5),先给出三个影评及其情感极性(好评、中性和差评),然后让模型分析“看完后让人感慨万分,久久不能忘怀。”的极性。

ChatGPT原理极简版插图(4)
图5. 影评情感分析中使用情景学习的例子

一般来讲,使用情景学习时,所给出的例子越多越好。这里有一个有趣的现象值得一提,测试表明在所给出的例子中标签(即图5中的“差评”、“中性”和“好评”)是否正确与性能关系不大。比如:我们将“主演表情作作、略显浮夸。”的标签改成“好评”,又将“这部电影叙事紧凑、特技一流。”的标签改成“差评”,并不会影响模型对于“看完后让人感慨万分,久久不能忘怀。”影评的分析结果。但是例子呈现的格式(图5为一则影评后跟相应的情感标签,中间以空格分隔)要与提问的形式保持一致,并且文字内容要来自同一领域(图5中的例子不宜是餐馆或旅店评价的语句,因为问题是对电影评价的情感分析)。

我个人认为出现以上现象的原因是:ChatGPT是一种集成了语言运用、语义理解和世界知识的模型。模型其实已经具备了回答所需要的知识,少量的例子并不足于改变模型对于问题的判断和回答,难点是如何引导模型准确提取出与问题相关的知识来。所以情景学习中的例子要来自同一领域,这有利于模型检索出回答问题所需的相关信息和知识。同时,以统一的格式呈现例子和问题,则有利于模型按格式规定的顺序依次生成回答。

思维链(Chain-of-Thought)可以看成是情景学习的扩展,它不仅给出例子及相应结果,还给出得到该结果的计算或推理步骤(见图6)。本人猜想思维链有效的原因是给模型解题提供了一种模板或过程的指引,这种序列化的文本模板易于被生成模型所使用,它为生成较长内容的整体结构和中间步骤进行了预先的规划。这种模板也为模型在特定步骤上调取计算或推理所需知识提供了线索,从而引导模型得出正确的答案。

ChatGPT原理极简版插图(5)
图6. 求解数学应用题时使用思维链的例子

四、修改提示语优化结果

提示语(本文第二节的第二步提到过)的好坏确实会影响ChatGPT的回答质量(情景学习和思维链都可以看成是特殊的提示),现在已经出现了提示工程(Prompt Engineering)这个研究方向和提示工程师这种职位。撰写好的提示语有两个基本原则:

  1. 指令清晰并且具体;
  2. 给模型思考的时间。

第1条原则比较好理解,一般不要担心指令写得过长。在没有冗余的情况下,宜长不宜短。第2条原则的意思是复杂问题不要让模型直接得出结论,而要详细指示所需步骤,然后让模型根据每一步得到的结果再给出最终的判断。比如:对于一道比较复杂的数学应用题,不要直接问某个答案是否正确。可以参考以下形式来写提示语:

  • 第一步:先求解这道数学应用题;
  • 第二步:将求解出的答案与给出的答案进行比较;
  • 第三步:根据比较的结果,回答给出的答案是否正确。

如果以API方式批量调用ChatGPT的话,这里提醒一个小技巧。可以指示ChatGPT以JSON、HTML等结构化形式返回结果,以方便提取所需的内容。

最近斯坦福大学的Andrew Ng和OpenAI的Isa Fulford联合出了个“ChatGPT Prompt Engineering for Developers”的免费短课,值得听一下。课程的网络链接是https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/

五、能力评估和注意问题

2022年11月所推出的ChatGPT已经非常可怕了,OpenAI公司又于2023年3月推出比ChatGPT更为强大的GPT-4,并且还开始支持网页搜索、图片生成、计算器等插件(Plugins),使其能够在必要时调用插件来提高解决问题的能力。

ChatGPT在没有针对医学知识精调和强化的情况下,在美国医学执照考试的三个部分中达到或接近通过的门槛。Google公司对ChatGPT进行了程序员招聘面试,结果其编程能力可匹敌一位三级水平的软件工程师,每年可攒得18.3万美元薪资。ChatGPT还在MBA核心课程《运营管理》的期末考试中的基本运营管理和流程分析方面表现出色,不仅答案正确,而且能给出合理的解释。

我们近期借助认知心理学方面的理论对ChatGPT认知能力进行了评测,它在词汇的任务上表现相对出色,与英语母语的16岁左右高中生的认知能力相当,但逻辑推理和数字处理方面的能力相对较弱,相当于10岁左右的小学生水平,整体表现文强理弱。

ChatGPT和GPT-4等本质上是能够执行生成任务的机器学习模型,其天生会存在或衍生出以下一些问题:

  1. “幻觉”问题,即生成看起来似乎可信,但不准确或编造的信息(天生什么话都会接);
  2. 容易生成带有偏见、歧视和不符合伦理内容(训练使用的数据集里就存在);
  3. 缺乏及时更新信息和知识的方法(使用网页搜索插件会有所缓解);
  4. 某些任务的返回结果受提示词的影响较大;
  5. 使用和交互时可能会泄露个人的隐私;
  6. 可能被某些人滥用来制造虚假信息和内容等。

好吧,就到这里了!类似ChatGPT这种生成式大模型必然会对我们未来的工作生活产生较大影响。目前网络上绝大部分内容还是人类创造的,之后机器自动生成的比重会不断上升。既然避不开、躲不过、逃不脱,我们只能选择了解它、适应它、利用它。

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经同意不得转载:AI启航(AICHINES) -AI知识库与前沿资讯平台 » ChatGPT原理极简版
分享到: 生成海报

热门推荐

评论 抢沙发

学无止境,心理相伴!

维心网AI对话
切换注册

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活