大语言模型LLM就是将网页,书籍,文献中的大量的语言结构也就是通用知识,通过某种规则映射到百亿千亿的参数里,当我们给它指令的时候,就是通过调用这些参数,从而将之前所映射的知识的其中一些某部分语言模式“搜索”出来。
所以大模型所达到的效果跟我们数学中所学的函数f(x)是一样的,只不过函数自变量x是一个实数,因变量y也是一个实数;同理而我们的大模型,输入的自变量x是语句一样的自然语言,输出因变量y可以和输入x一样是同样的自然语言(大语言模型LLM),也可以是图片,视频(多模态大模型)。理论上输入x可以是任何模态(文字,语言,图片,视频),输出y也可以是任何模态(文字,语言,图片,视频),但本质是不变,就是y = f(x)。
那么如何将这些通用的知识变成大模型的参数呢?原理和函数求参是一样的,就是将(x,y)数据对带入,我们知道对于一次函数 y = ax 带入(2,4)就可由4 =2 a求出a = 2,同理在大模型的pre-turning 阶段,同过自回归,也就是将X = [x1,x2,x3,x4],Y = x5带入大模型y=f(x)这个非常复杂的函数去求参,由于大模型的参数量达到百亿千亿级别,比我们数学上的一元,二元函数的参数量多的多,就可以将大模型看成百亿元多次函数,所以在进行求解这个函数的参数的过程中,一是需要巨量的(x,y)数据对,也就是我们大模型中的,预训练数据集,以及微调中的(promote,response)问答对,还是(x,y); 二是仿照多元多次函数的求解过程,也就是求偏导数的方法由(x,y)去逼近最反映(x,y)分布规律的参数A。这样经过长时间的大量的(x,y)对的计算,就得到了近似的参数A, 也就是函数Y = AX。当我们就行推理的时候,就可以带入x,经过计算得到Y(Ax)。
关于X,Y的形态,还想多说一点,就是如果我们输入的X是语音或者视觉类的指令,大模型输出的Y是一系列动作规划,让这些大模型的输出去控制自身的这些硬件,那么这就是自动驾驶和人形机器人。这也是为什么现在这两个行业也在训练自己的大模型的原因,只不过他们不是我们熟知的大语言模型那样x是自然语言token,输出y也是token。自动驾驶的大语言模型输入的x就有各种路况的车外的视频,那输出y就是真实司机基于这些车外视觉路况的驾驶操作,当然在输入给大模型进行训练前还需要将这些(x,y)规范化,数据化,因为说到底,大模型底层还是数值的计算,只有将我们或者机器所熟知的输入和输出数值化之后才可送个大模型,让大模型由(X,Y)去求参A, 然后由X去求Y。人形机器人也是同样的道理。将人的指令如语音命令作为x传递给机器人,机器人里的大模型根据这些输入的x,去做相应的动作Y,如家庭场景去冰箱取东西,叠衣服,炒菜,工厂场景,大螺丝,搬运货物等。