以下是从 0 到 1 学习大模型知识的相关内容:
什么是大模型: 通俗来讲,大模型是输入大量语料,让计算机获得类似人类的“思考”能力,能进行文本生成、推理问答、对话、文档摘要等工作。可以用“上学参加工作”来类比大模型的训练和使用过程:
大模型如何运作: 打个比方,“我今天吃了狮子头和蔬菜”这句话,在 transformer 中,会由 attention 层对其加入更多信息补充,如“狮子头是一道菜”“今天是星期六”等,这些补充信息会作为输入给到下一个 attention 层,最终哪些信息补充、保留、传递由模型自主学习。层与层之间就像人阅读文章时的连贯性注意力过程,大模型以词向量和 transformer 模型学习海量知识,把知识作为向量空间中的关系网存储,接受输入时通过向量空间中的匹配进行输出。这个过程像人脑阅读学习,记忆的不是逐字逐句,而是按相关性、重要程度结合历史经验,比如看到红色会觉得代表温暖、强烈。
大模型的整体架构: 从整体分层角度,大模型架构可分为以下几层:
通俗来讲,大模型就是输入大量语料,来让计算机获得类似人类的“思考”能力,使之能够理解自然语言,能够进行『文本生成』、『推理问答』、『对话』、『文档摘要』等工作。既然是学习,那我们就可以用『上学参加工作』这件事来类比大模型的训练、使用过程:1.找学校::训练LLM需要大量的计算,因此GPU更合适,因此只有购买得起大量GPU的贵族学校才有资本训练自己的大模型2.确定教材::大模型顾名思义就是大,需要的数据量特别多,几千亿序列(Token)的输入基本是标配3.找老师::即用什么样的算法讲述“书本”中的内容,让大模型能够更好理解Token之间的关系4.就业指导::学完书本中的知识后,为了让大模型能够更好胜任某一行业,需要进行微调(fine tuning)指导5.搬砖::就业指导完成后,下面就要正式干活了,比如进行一次翻译、问答等,在大模型里称之为推导(infer)在LLM中,Token([2])被视为模型处理和生成的文本单位。它们可以代表单个字符、单词、子单词,甚至更大的语言单位,具体取决于所使用的分词方法(Tokenization)。Token是原始文本数据与LLM可以使用的数字表示之间的桥梁。在将输入进行分词时,会对其进行数字化,形成一个词汇表(Vocabulary),比如:The cat sat on the mat,会被分割成“The”、“cat”、“sat”等的同时,会生成下面的词汇表:|Token|ID|<br>|-|-|<br>|The|345|<br>|cat|1256|<br>|sat|1726|<br>|…|…|
打个比方,“我今天吃了狮子头和蔬菜”这句话,在transformer中,会由attention层对这句话加入更多的信息来补充。比如补充“狮子头是一道菜”“今天是星期六”等等。这些补充信息,会作为输入给到下一个attention层进行补充。当然有些信息可能是不重要的,也会被忽视掉。最终层与层之间,哪些信息需要补充,哪些信息需要保留,哪些信息传递,均由模型自主学习完成。而最终学习的结果就是,模型可以把海量的数据以关系网的形式“消化”掉,并保留其重要的相关性。这些表述可能还不够直观,再打个比方,这些层就好像人在去阅读文章的时候的一个连贯性注意力的过程。就好像我们在去阅读理解一篇文章的时候,脑子里会对输入的内容进行消化然后吸收记忆,而记忆下来的不是点状的知识,而是网状的经验。3)再形象些的比喻llm的原理基本就是这样了,总结起来就是大模型以词向量和transformer的模型学习了海量的知识,把知识作为向量空间中的一种关系网进行存储,并在接受输入时,通过向量空间中的一系列匹配进行输出。这个过程其实大家想一想,是不是就像是人脑在阅读学习的个过程?比如我们在记忆一些资料时,其实记忆的也不可能是逐字逐句去记忆的,也是按照相关性,重要程度,再结合历史经验信息进行记忆的。记忆下来的东西,也不是一个个的文字,而更像是一种感觉,一种“意象”。再比如我们去看红色,会觉得这个代表温暖,代表强烈,这也是因为我们在去记忆这个信息时,同时受到来自生理、社会伦理等的关联记忆,所以一个简单的“红色”在我们的脑海中记忆时,也不仅是一个简单的词语,而是带有了很多的“feature”信息。
首先为方便大家对大模型有一个整体的认知,我们先从大模型的整体架构着手,来看看大模型的组成是怎么样的。下面是我大致分的个层。从整体分层的角度来看,目前大模型整体架构可以分为以下几层:[heading3]1.基础层:为大模型提供硬件支撑,数据支持等[content]例如A100、数据服务器等等。[heading3]2.数据层[content]这里的数据层指的不是用于基层模型训练的数据基集,而是企业根据自己的特性,维护的垂域数据。分为静态的知识库,和动态的三方数据集[heading3]3.模型层:LLm或多模态模型[content]LLm这个大家应该都知道,large-language-model,也就是大语言模型,例如GPT,一般使用transformer算法来实现。多模态模型即市面上的文生图、图生图等的模型,训练所用的数据与llm不同,用的是图文或声音等多模态的数据集[heading3]4.平台层:模型与应用间的平台部分[content]比如大模型的评测体系,或者langchain平台等,提供模型与应用间的组成部分[heading3]5.表现层:也就是应用层,用户实际看到的地方[content]这个就很好理解了,就不用我多作解释了吧