大白话理解GPT
GPT是由OpenAI开发的自然语言处理模型,Generative Pre-Trained的简称,即生成式预训练。也有说是 Generative Pre-Trained Transformer的简称,表达了Transformer在其中的重要性。
理解GPT基本上可以通过这三个词倒序进行解读。
Transformer
无论是通过机器翻译、聊天、总结文章等应用表现形式如何,都是生成一段自然与语言文字,再细一点说是生成一个一个的单词,本质上就是不断地预测下一个单词应该生成哪一个概率最大。
我们把计算机当成人来看,它如何知道下一个词应该输出哪一个呢?因为它掌握或者学习到了自然语言的规律和规则。当然它掌握的方法一定是通过某种确切的数学方式,能够通过代码逻辑作为指令,让计算机去运行而得到人类想要的结果。但从直觉(intitution,这个词在AI领域及其重要) 上人类的指令也是有人类逻辑可去解释的,很多创新都是从直觉出发的。
直觉1:生成的前提是理解(就像人类说话的前提是明白自己要说的是什么意思)
直觉2:上下文对理解和生成很重要(就像人类说的每一个词都与前面说的话和后面要说的话有密切的关系)
传统的NLP(自然语言处理)技术为了让生成的词与上文产生关系,希望计算机拥有记忆,创造了RNN(循环神经网络)、LSTM(长短期记忆网络)、GRU(门循环单元)等一系列方法,在不断提高预测生成准确度的同时,很多问题仍然是瓶颈。比如 ① 计算机的记忆向金鱼一样,太前面词忘得一干二净;② 下文对当前词的预测没有贡献,因为它还没有被说出来。
直到2018年,谷歌的大神提出了Transformer架构。它的设计允许模型在处理序列数据时,能够同时考虑到序列中各个元素的上下文信息,这对于理解和生成自然语言至关重要。GPT的推出正是使用了Transformer的架构作为核心,且颠覆性的突破了传统NLP的技术,相当于把NLP推进了一个世代。(Transformer具体的架构参考专门讲解的文章)
Pre-Trained
直觉3:理解是需要大量提前训练的(就像人类学习时要通过大量练习掌握系统性的规律和规则,达到举一反三的效果)
Pre-Trained就是预训练的意思,就是在计算机要生成词之前。先通过大量的学习已有的知识,让计算机掌握自然语言的底层规律和规则。已有的知识可以是图书、网页、文章、百科等等文字资料,每一个词的上下文都有大量的参考。它能学习到词语本身的含义、词语之间的关系、语句之间的关系、语句情感等等甚至人类无法明确表达出来的信息。
这里有3个很重要的概念叫做空间、维度和向量,我尽量用人话解释一下,很重要、很重要、很重要,重要的事情说无数遍。
空间和维度:
一条直线是一维空间、平面是二维空间、立体的东西在三维空间。维度越大的空间能够承载的信息量就越多,比如再加一个时间维度,就是人类生活的空间,也就只是4维而已。如果想对维度和空间有更具体的了解,可以自己去找,这里就不赘述了。
向量:
空间里面的每个颗粒都是有位置的、有大小的、甚至有方向的。比如我现在站在家门口,我在这个三维空间里就有位置、大小、方向。向量就是通过数学描述空间里面每一个点的客观信息,大家不用管它具体是什么,这里也不细讲。
接下来我们只需要完成两件事:
- 构建一个高维的空间来把自然语言的词装进去,因为维度越多承载的信息就越多,那些词的含义、同义词、反义词、近义词、词性、语法等等甚至没法形容的关系,都可以通过这个词在这个空间的数学向量表示出来。
- 给计算机大量的语料,供他学习(让它找规律,就是把每个词的向量计算出来)
一旦掌握了每个词的客观位置,就掌握了一本自然语言的高级字典,而每个词的位置是否正确,就取决于训练的好坏,学的准不准。
Generative
generative是生成的意思,这个是目的,不用过多解释。
值得强调的是,直觉上,每个词都是客观存在,不考虑人类语言演进的情况下,每个词的位置在字典中是固定的,不会随机变换的。因此,拿着上面的高级空间字典来生成下一个词,那不是就轻而易举了么。
总结一下,GPT基于上面的逻辑,不断地展现出它的实力,并快速的迭代进步,所谓的大模型本质上就是大字典,参数越多代表着空间维度越多、学习次数越多,字典的准确性就越高。