一文搞清楚ChatGPT的前世今生

自然语言处理领域(Natural Language Processing,NLP)

1950年,计算机之父------艾伦·图灵(Alan Turing)介绍了一项测试,以检查机器是否能像人类一样思考,这项测试称为图灵测试

它具体的测试方法是构建一个计算机对话系统,一个人和被测试的模型互相进行对话,如果这个人无法辨别对方究竟是机器模型还是另一个人,就说明该模型通过了图灵测试,计算机是智能的。

这个图灵测试就属于自然语言处理(后面简称 NLP)领域的范畴,那什么是自然语言处理呢?

所谓自然语言,就是人们日常生活中接触和使用的中文、英语、日语等。自然语言处理是指,让计算机来理解并正确地操作自然语言,完成人类指定的任务。

长久以来,图灵测试都被学界认为是难以攀登的巅峰。正因如此,NLP 也被称为人工智能皇冠上的明珠。

ChatGPT

NLP 中常见的任务包括文本中的关键词抽取、文本分类、机器翻译等等。NLP 当中还有一个非常难的任务:对话系统 ,也可被笼统称为聊天机器人

现在,ChatGPT 已经远远超出了聊天机器人这个范畴,它能够根据用户的指令写文章,回答技术问题,做数学题,做外文翻译,玩文字游戏等等。所以,某种程度上,ChatGPT 已经摘下了这颗皇冠上的明珠。

ChatGPT 的工作形式非常简单,用户向 ChatGPT 提问任何一个问题,模型都会做出解答。用户的输入和模型的输出都是文字形式。

一次用户输入和一次模型对应的输出,叫做一轮对话。可以把 ChatGPT 的模型抽象成如下流程:

ChatGPT 也可以回答用户的连续提问,也就是多轮对话,多轮对话之间是有信息关联的。其具体的形式也非常简单,第二次用户输入时,系统默认把第一次的输入、输出信息都拼接在一起,供 ChatGPT 参考上次对话的信息。

如果用户与 ChatGPT 对话的轮次过多,一般来讲模型仅会保留最近几轮对话的信息,此前的对话信息将被遗忘。

ChatGPT 在接收到用户的提问输入后,输出的文字并不是一口气直接生成的,而是一个字、一个字生成的,这种逐字生成,即生成式(Generative) 。如下图所示。

ChatGPT 与 NLP 的发展历程

可以试想一下,如果让你来实现一个 ChatGPT 模型,有哪些思路和方法呢?

事实上,大致有两种策略,基于规则 的 NLP 和基于统计的 NLP。

自从 ChatGPT 开始,NLP 领域又进入了强化学习时代,即基于强化学习的 NLP。

基于规则的 NLP

基于规则的 NLP,是指使用人工编写的规则来处理自然语言。

例如,我们可以基于以下规则设计一个对话系统:

规则 1:当模型接收到用户的问句后,把问句中的"吗"字去掉,"?"换成"。"

规则 2:把"你"换成"我","我"字换成"你"。

由此,我们可以根据这些规则,制作一个对话模型,开启对话模式了。

js 复制代码
用户:Hello。

模型:Hello。

用户:你是 ChatGPT吗?

模型:我是 ChatGPT。

以上是一个基于规则的非常粗浅的对话系统示例。

如果用户问题太复杂了怎么办?问题中没有加问号怎么办?我们需要不断编写出各种规则来覆盖上面的特殊情况。这说明基于规则存在几个明显的缺点:

  1. 在自然语言中,任何规则都无法完全覆盖需求,因此在处理复杂的自然语言任务时效果不佳;
  2. 规则无穷无尽,靠人力来完成将是一项天量的工作;
  3. 本质上并没有把自然语言处理的任务交给计算机来完成,依然是人在主导。

基于统计的 NLP

基于统计的 NLP 则是利用机器学习算法从大量的语料库中学习自然语言的规律特征

这种方法不需要人工编写规则,规则主要通过学习语言的统计特征,暗含在模型中。换句话说,基于规则的方法中,规则是显性的,人工编写的;基于统计的方法中,规则是隐形的,暗含在模型参数中,由模型根据数据训练得到

在近年来这种模型发展迅速,ChatGPT 就是其中一种。它们的处理方式主要如下:

在 ChatGPT 中,主要采用预训练( Pre-training 技术来完成基于统计的 NLP 模型学习。

它的重点在于,根据大规模原始语料学习一个语言模型,而这个模型并不直接学习如何解决具体的某种任务,而是学习从语法、词法、语用,到常识、知识等信息,把它们融汇在语言模型中。直观地讲,它更像是一个知识记忆器,而非运用知识解决实际问题

预训练的好处很多,它已经成为了几乎所有 NLP 模型训练的必备步骤。

基于统计的方法远远比基于规则的方法受欢迎,然而它最大的缺点是黑盒不确定性,即规则是隐形的,暗含在参数中。例如,ChatGPT 也会给出一些模棱两可、不知所云的结果。

所以,就有了基于强化学习的 NLP

基于强化学习的 NLP

ChatGPT 模型是基于统计的,然而它又利用了新的方法,带人工反馈的强化学习(Reinforcement Learning with Human Feedback,RLHF) ,以此取得了卓越的效果,把 NLP 的发展带入了一个新阶段。

几年前,Alpha GO 击败了柯洁。这几乎可以说明,强化学习如果在适合的条件下,完全可以打败人类,逼近完美的极限。当前,我们依然处在弱人工智能 时代,但局限于围棋这个领域,Alpha GO 就是一个强人工智能 ,它的核心就在于强化学习

所谓强化学习,就是一种机器学习的方法,旨在让智能体 (Agent,在 NLP 中主要指深度神经网络模型,就是 ChatGPT 模型)通过与环境的交互来学习如何做出最优决策。

这种方式就像是训练一只狗(智能体)听哨声(环境)进食(学习目标)。一只小狗,当听到主人吹哨后,就会被奖励食物;而当主人不吹哨时,小狗只能挨饿。通过反复的进食、挨饿,小狗就能建立起相应的条件反射,实际上就是完成了一次强化学习。

而在 NLP 领域,这里的环境要复杂得多。针对 NLP 模型的环境并非真正的人类语言环境,而是人为构造出来的一种语言环境模型。因此,这里强调是带人工反馈的强化学习。

基于统计的方式能够让模型以最大自由度去拟合训练数据集;而强化学习就是赋予模型更大的自由度,让模型能够自主学习,突破既定的数据集限制。ChatGPT 模型是融合统计学习方法和强化学习方法的,它的模型训练流程如下图所示:

总结

实际上,基于规则、基于统计、基于强化学习这三种方式,并不仅仅是一种处理自然语言的手段,而是一种思想。一个解决某一问题的算法模型,往往是融合了这三种解决思想的产物。

如果把计算机比作一个小孩,自然语言处理就像是由人类来教育小孩成长。

基于规则的方式,就好比家长 100% 控制小孩,要求他按照自己的指令和规则行事,如每天规定学习几小时,教会小孩每一道题。整个过程,强调的是手把手教,主动权和重心都在家长身上。对于 NLP 而言,整个过程的主动权和重心,都在编写语言规则的程序员、研究员身上。

基于统计的方式,就好比家长只告诉小孩学习方法,而不教授具体每一道题,强调的是半引导。对于 NLP 而言,学习重心放在神经网络模型上,但主动权仍由算法工程师控制。

基于强化学习的方式,则好比家长只对小孩制定了教育目标,比如,要求小孩能够考试达到 90 分,但并不去管小孩他是如何学习的,全靠自学完成 ,小孩拥有极高的自由度和主动权。家长只对最终结果做出相应的奖励或惩罚,不参与整个教育过程。对于 NLP 来说,整个过程的重心和主动权都在于模型本身。

NLP 的发展一直以来都在逐渐向基于统计的方式靠拢,最终由基于强化学习的方式取得完全的胜利,胜利的标志,即 ChatGPT的问世;而基于规则方式逐渐式微,沦为了一种辅助式的处理手段。ChatGPT 模型的发展,从一开始,就在坚定不移地沿着让模型自学的方向发展进步着。

相关推荐
AngelPP8 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年8 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼8 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS9 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区10 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈10 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang10 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx
shengjk112 小时前
NanoClaw 深度剖析:一个"AI 原生"架构的个人助手是如何运转的?
人工智能
西门老铁13 小时前
🦞OpenClaw 让 MacMini 脱销了,而我拿出了6年陈的安卓机
人工智能