大语言模型所处的领域,叫自然语言处理(NLP),也就是机器处理人类的日常的语言,这里有一个最大的难度,也是NLP用十几年的时间走的一个弯路——
早期的科学家所使用的方式,其实我们也许也能想到,就是把各种规则告诉机器,“如果...那么...”之类,只要把所有语言的通用规告诉机器,那么机器只要做判断就行了,但是最后的结果就是,人类的语言太复杂了,多大的规则都无法穷尽语言的使用。
这我们也能想想,毕竟我们都能体验到,一个词在这句话是这个意思,到了那句话可能就完全不是那么回事儿了;一句话放着这个情景里是这个意思,换一个场景就完全不是那个意思了。
所以,即便图像识别(计算机视觉)都已经大规模应用了,语言文本的处理还没什么大的进展,就在于语言太复杂了,机器无法全面的处理。
于是,后来科学家就把自然语言的处理转换成了机器擅长的数学运算,怎么来做呢?
首先,抛开所有的语言学层面的规则、语法,而是基于一个基本的语言特征,就是所有的词的产生都是根据上下文和语境来的,你的这个词的产生很大程度就是上一个词“接下来”的,所以转换成机器能做的运算,就可以变成相似性和概率的运算。
就是把每句话进行分词,然后把分好的词再进行向量化,转变成包含了多个维度特征的向量,在实践中,可能一个词转换的特征向量是有上千个维度(如[345,2,34,89,...]),我们用一个包含了几千个维度特征的向量来表达这个词,这时候,我们就把语言的问题,转变成了计算向量的相似性的问题,就把负责的语言问题转换成了简单的向量距离计算的问题,这也是机器所擅长的。