大模型的基本工作原理如下:
总结起来,大模型以词向量和 Transformer 的模型学习海量知识,把知识作为向量空间中的关系网存储,接受输入时通过向量空间中的一系列匹配进行输出。
打个比方,“我今天吃了狮子头和蔬菜”这句话,在transformer中,会由attention层对这句话加入更多的信息来补充。比如补充“狮子头是一道菜”“今天是星期六”等等。这些补充信息,会作为输入给到下一个attention层进行补充。当然有些信息可能是不重要的,也会被忽视掉。最终层与层之间,哪些信息需要补充,哪些信息需要保留,哪些信息传递,均由模型自主学习完成。而最终学习的结果就是,模型可以把海量的数据以关系网的形式“消化”掉,并保留其重要的相关性。这些表述可能还不够直观,再打个比方,这些层就好像人在去阅读文章的时候的一个连贯性注意力的过程。就好像我们在去阅读理解一篇文章的时候,脑子里会对输入的内容进行消化然后吸收记忆,而记忆下来的不是点状的知识,而是网状的经验。3)再形象些的比喻llm的原理基本就是这样了,总结起来就是大模型以词向量和transformer的模型学习了海量的知识,把知识作为向量空间中的一种关系网进行存储,并在接受输入时,通过向量空间中的一系列匹配进行输出。
所以词向量就是,大模型通过海量的文档学习,把三维世界中的“词元”,转化为了latentspace中的“意象”的过程。比如“杨柳”,在latentspace中的表达可能就是[01,56,42]这样的表达。这样转换之后,其实就解决了第一个问题,即我们把学习资料转化为了latentspace中的词向量,而在这个潜空间中运算的效率可以大大的增加,且词向量的表达方式可以表示出机器学习中,词汇之前的语义关系。2)attention层而第二个问题,被transformer模型中的自注意力机制解决。自注意力机制可以理解为,在机器训练中,我们加入了若干的attention层,每一个层都会对输入的信息进行学习和理解记忆。
首先讲一下LLm,即large-language-model,大语言模型的工作原理。我们可以观察LLm大模型比如豆包在回复的时候,是不是一个一个字,行业里称之为流式输出的方式给你呈现内容的。为什么会这样呢?这是因为,大模型确实是在一个字一个字地去推理生成内容的。就好像我们看输入法的输入联想逻辑,输入联想,其实就是根据你输入的单个字,来推测你要输入的下个字是什么。比如我打了一个“输”字,那么我要打的下字就很有可能是“入”,当然这里就会有人问了,我要打的下个字也很有可能是“球”啊。没错,最开始的研究人员确实也识别到了这个问题。那么解法是什么呢?其实很简单,我们把上下文加入到输入里,不就能帮助模型理解下个字该是什么了吗。比如我们输入的是“我想在这个单元格中输”,那这下一个字大概率就是“入”。而我们如果输入的是“这场足球比赛中,输”,那下一个字大概率就是“球”。那么看到这里,善于思考的同学可能会发现这里存在第一,我们知道大模型的学习数据规模往往是海量的,每次的计算如果都带入全量的数据,算力上肯定是吃不消的。