大模型是指输入大量语料,使计算机获得类似人类“思考”能力,能进行文本生成、推理问答、对话、文档摘要等工作。
大模型的训练和使用过程可以用“上学参加工作”来类比:
在 LLM 中,Token 被视为模型处理和生成的文本单位,会被数字化形成词汇表,便于计算机处理。为让计算机理解 Token 之间的联系,还需把 Token 表示成稠密矩阵向量,这个过程称为 embedding,常见算法有基于统计的 Word2Vec、GloVe,基于深度网络的 CNN、RNN/LSTM,基于神经网络的 BERT、Doc2Vec 等。以 Transform 为代表的大模型采用自注意力(Self-attention)机制来学习不同 token 之间的依赖关系,生成高质量 embedding。大模型的“大”在于用于表达 token 之间关系的参数多,主要是模型中的权重(weight)与偏置(bias)。
从整体分层的角度来看,大模型整体架构分为以下几层:
通俗来讲,大模型就是输入大量语料,来让计算机获得类似人类的“思考”能力,使之能够理解自然语言,能够进行『文本生成』、『推理问答』、『对话』、『文档摘要』等工作。既然是学习,那我们就可以用『上学参加工作』这件事来类比大模型的训练、使用过程: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||-|-||The|345||cat|1256||sat|1726||…|…|
数字化的好处是便于计算机处理。但为了让计算机理解Token之间的联系,还需要把Token表示成稠密矩阵向量,这个过程称之为embedding([3]),常见的算法有:基于统计Word2Vec,通过上下文统计信息学习词向量GloVe,基于词共现统计信息学习词向量基于深度网络CNN,使用卷积网络获得图像或文本向量RNN/LSTM,利用序列模型获得文本向量基于神经网络BERT,基于Transformer和掩码语言建模(Masked LM)进行词向量预训练Doc2Vec,使用神经网络获得文本序列的向量以Transform为代表的大模型采用自注意力(Self-attention)机制来学习不同token之间的依赖关系,生成高质量embedding。大模型的“大”,指的是用于表达token之间关系的参数多,主要是指模型中的权重(weight)与偏置(bias),例如GPT-3拥有1750亿参数,其中权重数量达到了这一量级,而词汇表token数只有5万左右。参考:[How does an LLM"parameter"relate to a"weight"in a neural network?](https://datascience.stackexchange.com/questions/120764/how-does-an-llm-parameter-relate-to-a-weight-in-a-neural-network"How does an LLM"parameter"relate to a"weight"in a neural network?")
首先为方便大家对大模型有一个整体的认知,我们先从大模型的整体架构着手,来看看大模型的组成是怎么样的。下面是我大致分的个层。从整体分层的角度来看,目前大模型整体架构可以分为以下几层:[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]这个就很好理解了,就不用我多作解释了吧