终于有人能讲清楚ChatGPT的原理了,ChatGPT不仅仅是简单的词语接龙!

关注我,AI学习路上,我们一起成长

大家好,我是大圣,一名AIGC长期学习者,目前专注于AI提示词AI职场提效

一、引言

在人工智能的迅猛发展中,ChatGPT作为前沿技术的代表,其原理和运作方式成为了研究和讨论的热点。

常有观点将ChatGPT比喻为一种高级词语接龙,通过海量数据的学习与训练,机器能够根据给定的文本内容续写出下文,看似简单的操作背后,却隐藏着复杂的技术和算法。

本文将探讨这种比喻的合理性,进一步解析ChatGPT的工作原理,以及它如何通过对数据的深度学习和理解,超越了简单的词语拼接,达到了对人类语言深层次理解和创新输出的能力。

二、ChatGPT只是简单的词语接龙吗?

目前针对ChatGPT的原理有一种比较容易理解的比喻:词语接龙。说的就是GPT通过大量数据的计算,让电脑学会了根据上文的内容接下一个字,接下来我们首先用一个比喻来解释下"词语接龙"的原理。

你在教自己完全没有学过古诗的儿子背诵"鹅鹅鹅,曲项向天歌",教的过程如下:

  • 你先提示他第一个字是鹅,然后让他猜第二个字
  • 他猜第二个字是鸡,你就给他一巴掌,然后让他继续猜
  • 他猜第二个字是鸭,你继续给他一巴掌,让他继续猜
  • ...直到他猜出了鹅
  • 继续,前两个字是鹅,让他继续猜第三个字是啥
  • ...
  • 在吃了无数巴掌之后,儿子终于学会了"鹅鹅鹅,曲项向天歌"

如果你用这种方法教儿子学古诗,就算教不出神经病,也只能教出一个背诗机器,他理解不了诗的美,也创造不出新的诗句。所以,这种对ChatGPT的解释不能说不对,但也有点太简单了,它很容易让人觉得ChatGPT就是一个死记硬背和暴力穷举的产物。

暴力穷举能真正的创造出语言么?并不能。所以说如果语言接龙是一种训练方法,ChatGPT也一定是通过这种方法掌握了更高维度的规律,从而提高了学习效率。就像某人吃了两个巴掌之后,再猜第三个字的时候,不可能还去猜鸡一样。在训练过程中,一种能够被电脑所理解的语言结构被呈现了出来。正是这种对结构规律的把握,才让ChatGPT真正学会了人类语言。

那么这种结构是什么呢?只有理解到这一层,我们才能清楚地回答

ChatGPT到底是如何理解人类语言的

三、ChatGPT到底是如何理解人类语言的

3.1 计算机是如何记录现实世界的

计算机的底层是二进制,我们现实世界的所有问题如果交给计算机处理,其实最终都是把它转化成了数学问题。比如英语的26个字母,我们可以找52个数字来代替,26个数字表示大写,26个数字表示小写。

我们要存储一幅画,我们可以把每个像素的颜色表示为红绿蓝RGB三种颜色的组合,而每一种颜色都可以表示为0-255的数字。比如红色R0表示最浅的红色,255表示最深的红色。于是一幅画在电脑中就变成了一大堆数字的组合。

但是这种表示方法有个问题,电脑并不能把数字和他实际表示的东西建立起联系。在非人工智能的时代,电脑只是我们存储和处理信息的一种工具,就像存储和处理食物的冰箱和锅一样,他们并不需要认识冰淇淋和鱼香肉丝,使用他们的人认识冰淇淋,知道怎么做鱼香肉丝就可以了

在人工智能时代,我们需要电脑自己处理现实世界的信息,图像识别需要看到照片就能识别一个人,而自然语言理解需要看到一句话就能够理解他所说的意思。

电脑如何才能做到这一点呢?至少得需要两步

  • 第一步叫做向量化
  • 第二步叫做信息压缩与特征提取

3.2 向量化

向量化是一种将信息转换为数字组合的方法,用以方便电脑处理和分析数据

以人物属性为例,性别、身高、体重和年龄等可以通过一系列数字如"01807520"来表示,其中每个数字或数字组合对应某个具体特征。例如,性别用"0"表示男性,"1"表示女性;接着是身高、体重和年龄的数字表示。这种表示方法的简化版可能不足以捕捉个体的所有独特特征,因此可以通过增加更多维度---如三围、体脂率、肤色、发色、爱好、学历、收入以及居住城市等---来更准确地描述一个人。随着维度的增加,能够通过这些数字定义的个体特征更为详尽,从而使得基于这些维度筛选的人与原个体的相似度更高。

向量化不仅便于电脑处理数据,还能在高维空间中揭示出数据之间的规律 。例如,仅以身高和体重为维度绘制的坐标系可以帮助我们发现体型相似的人。若引入更多维度,我们就能通过高维坐标系中的空间关系来更深入地理解每个人的独特特征。这种方法同样适用于词语的向量化,尽管词语的表示更为抽象,其维度不易概括。然而,当我们将词语放入高维空间时,意义相近的词语会在空间上彼此接近

向量化的另一大优势在于其可计算性。词语的向量可以进行加减乘等运算,从而揭示词语之间的关系。例如,通过特定的向量运算,可以发现"国王"减去"男人"再加上"女人"的向量结果与"女王"或"王后"的向量非常接近,说明在合适的维度空间中,词语之间的空间关系能反映它们在现实世界中的实际关系。

是不是相当amazing?好吧,这件事情说起来很简单,但实际上可能很难。前面说了,我们需要把词语放到一个合适维度的坐标中,还要能正确的标注出每个词语在这个空间中的位置,这种神奇的事情才能发生。但是怎么找到这些维度?怎么找到词语的空间位置呢?

这就是人工智能要干的事情了。比如我们预先准备一个50维度的坐标,准备放1万个词,先把这1万个词随便扔到坐标里,对就是随便扔,每个词爱在哪里在哪里。说的专业一点点,就是随机产生每个词的向量,然后到语料库中随便拎一句语料出来,让电脑玩词语接龙,找到第一个词和第二个词,把它们的向量拿过来一通计算,看看第二个词跟在第一个词背后的概率有多大。如果算出来概率很大,那你蛮走运的,说明这两个词在坐标里的位置很合适。如果概率很小,说明一开始随便放的位置并不合适,怎么办呢?一个巴掌,让电脑把词的位置再调一下,再回来算。还不行再一个巴掌,再回去调整。说到这里,你可能要说了,这和一开始的儿子背诗有啥区别,还不是巴掌么?这就是最关键的点:

因为向量是可以计算的,所以我们就可以知道每次计算出来的数和正确结果差距有多大,这个就是损失函数。我们的训练目的,就是要让这个差距越来越小,这是有数学方法可以逼近正确结果的,这个过程叫做收敛,也就是追求巴掌数量越来越少。具体不展开了,你就知道,在向量空间下,训练不断吃巴掌的电脑,是知道往哪个方向改进的。

3.3 信息压缩与特征提取

既然词向量已经能够帮助电脑理解每个词的意思,为什么直到10年以后,我们才看到了自然语言理解的春天?那是因为到现在为止,我们只干了第一步,还有刚才提到的第二步没有做,那就是信息压缩与特征提取。

没有做特征提取,就相当于没有找到正确的规律。你用错误的规律去训练电脑,那么电脑最后帮你找到的词向量,也就是错误的。也就是说,这些词其实并没有找到自己在向量空间中的正确位置。

图像识别之所以能够首先在人工智能领域取得突破,就是因为首先找到了提取图片特征的方法,也就是卷积神经网络(CNN)。

语言虽然是我们人类创造的,但是一开始我们却一直找不到提取语言特征的正确方法。直到谷歌的Transformer模型的出现

3.4 Transformer模型的突破

AI发展史上跨时代的模型,谷歌人工智能的最后辉煌,未来通用人工智能的老祖宗,ChatGPT里的那个Transformer。

2017年,谷歌提出了Transformer模型,创造性地提出了一种叫做自注意力机制的方法。在这个模型的训练下,电脑自己就能找出句子接龙中如果要猜出正确的词,哪些词的权重更高。这就和我们对这个句子结构的理解非常接近了。

有了Transformer自注意力机制的加持,我们终于可以成功地对语言进行压缩和特征提取了。在正确的特征提取下进行训练,我们就可以让电脑成功地做好向量化。

3.5 总结

ChatGPT本身其实就是一个语言模型,它被制造出来的根本目的并不是解决实际问题,而是怎么把话说的漂亮。而他把话说漂亮的诀窍其实也并不高深,说白了就是根据上文的内容去推测下一个词应该是什么,然后把这个词加进去,继续推测下一个词是什么。在不断的推测过程中,把词连成句子。他只关心说出来的话像不像人话,并不在乎是不是正确。之所以我们在很多时候觉得他说的很有道理,只是因为他看过太多的语料库,在他所有的训练语料中,正确的说法是概率最大的那种而已。

四、为什么OpenAI成功了

Transformer的徒子徒孙们也有很多,国内国外都有很多以Transformer为模板进行优化的模型,为什么最终只有open AI走了出来了?因为OpenAI两次赌对了方向,分别是

  • 选定了自然语言理解作为主要方向
  • 当模型表现不好的时候,没有选择针对特定场景优化算法,而是增加参数数量和训练数据,创造更大的向量空间。这时候出现了一个神奇的现象:涌现

4.1 选定自然语言理解作为主要方向

OpenAI创立之初的愿景就是要做通用人工智能,但是如何能够做出通用人工智能,其实是没有答案的。在几年前,人工智能领域还是各种专业人工智能的天下,从业者基本上都是聚焦在一个细分的领域,比如围棋,比如图像识别,比如玩游戏,设计模型,标注数据,进行训练,然后获得一个好成绩,名扬天下。

OpenAI一开始也搞了几年游戏,直到Transformer出来,才选定了自然语言理解作为方向。这是一个非常正确的选择,因为语言才是理解整个人类社会最重要的工具。人类的几千年文明史,几乎所有的显性知识,它的载体都是语言,而人类相互之间的交流,最重要的渠道也是语言。

如果电脑能够理解语言,就相当于它获得了理解整个人类文明成果的能力,也获得了和人类无缝交流的能力。所以要产生通用人工智能,语言一定是最初的突破口

4.2 增加参数数量和训练数据:涌现

在谷歌的BERT出来的时候,一开始是吊打GPT的。这时候Open AI面临两种选择:

  • 第一根据特定场景优化模型的算法,提升模型的性能,搞出一个性能更高的模型。
  • 第二是效果不够好,肯定是因为向量空间不够大,不够精确,因此增加训练层数,增加词项量的维度,增加训练数据,也就是说增加参数数量和训练数据,搞一个更大的模型出来。

Open AI选择了后者,他们笃定通用人工智能需要泛化到更多的场景,因此需要更大的参数和更大的数据量。果然又赌对了.

在参数规模达到1,000亿量级的时候,神奇的现象产生了,一些语言模型本来不应该具备的能力,忽然产生了。

这就是涌现,这标志着模型在自我学习和理解方面取得了重大进步。自此open AI一路高歌猛进,和其他公司彻底拉开了距离

五、结语

经过对ChatGPT原理的深入分析,我们不难发现,将其视为简单的"词语接龙"大大低估了它的复杂性和先进性。ChatGPT通过向量化、信息压缩与特征提取等技术手段,不仅学会了语言的表面形式,更重要的是掌握了语言背后的逻辑和结构,实现了对人类语言深度的理解和创造性的运用

六、参考文档

相关推荐
曼城周杰伦7 小时前
自然语言处理:第六十三章 阿里Qwen2 & 2.5系列
人工智能·阿里云·语言模型·自然语言处理·chatgpt·nlp·gpt-3
狸克先生15 小时前
如何用AI写小说(二):Gradio 超简单的网页前端交互
前端·人工智能·chatgpt·交互
新加坡内哥谈技术17 小时前
Mistral推出“Le Chat”,对标ChatGPT
人工智能·chatgpt
nbsaas-boot19 小时前
如何利用ChatGPT加速开发与学习:以BPMN编辑器为例
学习·chatgpt·编辑器
hunteritself1 天前
ChatGPT高级语音模式正在向Web网页端推出!
人工智能·gpt·chatgpt·openai·语音识别
Doker 多克2 天前
Spring AI 框架使用的核心概念
人工智能·spring·chatgpt
曼城周杰伦2 天前
自然语言处理:第六十二章 KAG 超越GraphRAG的图谱框架
人工智能·pytorch·神经网络·自然语言处理·chatgpt·nlp·gpt-3
爱技术的小伙子2 天前
【ChatGPT】ChatGPT在多领域知识整合中的应用
chatgpt
学习前端的小z2 天前
【AIGC】如何准确引导ChatGPT,实现精细化GPTs指令生成
人工智能·gpt·chatgpt·aigc
段传涛2 天前
LLM( Large Language Models)典型应用介绍 1 -ChatGPT Large language models
人工智能·语言模型·chatgpt