一文搞清楚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 模型的发展,从一开始,就在坚定不移地沿着让模型自学的方向发展进步着。

相关推荐
产业家2 分钟前
Sora 后思考:从 AI 工具到 AI 平台,产业 AGI 又近了一步
人工智能·chatgpt·agi
量化交易曾小健(金融号)6 分钟前
人大计算金融课程名称:《机器学习》(题库)/《大数据与机器学习》(非题库) 姜昊教授
人工智能
IT_陈寒13 分钟前
Redis 性能翻倍的 5 个隐藏技巧,99% 的开发者都不知道第3点!
前端·人工智能·后端
W_chuanqi16 分钟前
RDEx:一种效果驱动的混合单目标优化器,自适应选择与融合多种算子与策略
人工智能·算法·机器学习·性能优化
好奇龙猫17 分钟前
[AI学习:SPIN -win-安装SPIN-工具过程 SPIN win 电脑安装=accoda 环境-第四篇:代码修复]
人工智能·学习
Pocker_Spades_A26 分钟前
AI搜索自由:Perplexica+cpolar构建你的私人知识引擎
人工智能
~kiss~27 分钟前
图像的脉冲噪声和中值滤波
图像处理·人工智能·计算机视觉
居7然30 分钟前
DeepSeek-7B-chat 4bits量化 QLora 微调
人工智能·分布式·架构·大模型·transformer
卡奥斯开源社区官方32 分钟前
OpenAI万亿美元计划技术拆解:AI智能体的架构演进与商业化实践
人工智能
熊猫钓鱼>_>36 分钟前
AI驱动的专业报告撰写:从信息整合到洞察生成的全新范式
大数据·人工智能·百度