制作网站建设规划书的结构为检察院加强网站建设

张小明 2026/1/1 12:31:24
制作网站建设规划书的结构为,检察院加强网站建设,网络设计及网络设计文档,wordpress手机版中文最近AI的发展实在是太快了#xff0c;上图就是让Nano Banana Pro结合《Attention Is All You Need》给的架构图#xff0c;让孙悟空给孙悟饭讲解Transformer的原#xff0c;架构图完美还原#xff0c;接下来还可以用来生成动漫视频#xff0c;十分有趣。近期B站上AI二创视…最近AI的发展实在是太快了上图就是让Nano Banana Pro结合《Attention Is All You Need》给的架构图让孙悟空给孙悟饭讲解Transformer的原架构图完美还原接下来还可以用来生成动漫视频十分有趣。近期B站上AI二创视频、AI让西游记角色唱歌的视频很火笔者也尝试做了简单复现用银角大王唱个歌《奉命张狂》由衷感叹AI的强大。不由得想问LLM为什么这么强Transformer的原理是什么为什么能做到如此强大的效果Transformer的架构是什么样的于是读了几本书《从零构建大模型》、《图解大模型生成式AI原理与实战》、《Transformer自然语言处理实战:使用Hugging FaceTransformers库构建NLP应用》做了适当的拓展阅读合和笔记于是就有了本文本文将尝试从原理、架构这两个方面对Transformer进行深入浅出的介绍。为了更好地理解本文会结合一个案例看看Transformer如何把Transformer is powerful.“翻译成Transformer很强大。”。机器是如何像人类一样理解原文并翻译成功期间会遇到哪些挑战机器只懂数字0和1机器如何理解文字请看分词章节。机器如拿到了数字坐标但文字顺序会让句子含义天差地别如“狗咬人”和“人咬狗”机器如何理解文字顺序请看位置编码章节。机器知道了语序但词与词之间的关联关系如“powerful”是修饰前面“Transformer”的机器如何理解词与词之间的关系请看注意力机制章节。就像下图这样01前言最初被预训练、后训练修正的原始“模型”是怎么来的为什么给数据经过不断训练就就能得到一个会说人话的“超大函数”出来呢人是从受精卵开始不断发育出生后拥有了一个符合人类大脑架构的“神经网络”在日后成长过程中大脑发育结构不断调整不断根据获取的环境信息不断内化知识逐渐成熟通常在35岁后颅骨完全闭合架构上再难发生大的变化但依然可以通过不断学习、接受新信息让大脑变得更聪明、更灵活。每过完一天都要比早晨醒来时更聪明一点。 – 查理·芒格所以LLM初始架构是什么样的对应人类大脑LLM在“出生时”是什么架构如何通过训练演变得有知识、技能做到“涌现智能”当前主流LLM通常是采用Transformer架构本文围绕Transformer架构进行深入解析包括Transformer的原理、Transformer的改进、Transformer的混合架构最后也会简要谈到2025年LLM架构前沿的探索情况以及也许比LLM更接近AGI的世界模型。02LLM 架构解析2017年发表的著名论文《Attention Is All You Need》提出的Transformer架构是现代深度学习模型的基石也是大模型架构的基石。其核心架构就是开头孙悟空给孙悟饭讲解的架构图其核心思想就是注意力机制。语言模型的发展经历了从 BERT、GPT 到今天的多模态大模型的快速演进。传统 Transformer 在处理长文本、关键信息检索以及对抗幻觉等任务时常常因过度关注无关上下文而陷入困境导致模型表现受限。为解决这些问题研究人员提出了多种改进方案如 DIFF Transformer、Energy-Based Transformer 等新型架构。Transformer、MoE 灵活搭配成为主流也逐渐有加入等新兴架构做混合架构的尝试据不完全统计超过一半新发布模型采用混合架构。这种架构创新也许可以打破 “提升性能必增成本” 的困境为 LLM 的高效部署提供了新的可能性。Transformer架构的核心是Encoder-Decoder结构编码器负责将输入序列转换为上下文表示解码器则基于编码器的输出和已生成的输出序列生成下一个输出。当前主流的LLM架构是只有解码器的模型Decoder-only Transformer包含自主力(Self-Attention)和多头注意力(Multi-Head Attention)的注意力层、前馈神经网络(FFN)注意力层FFN等模块组成其中一层多层堆叠构成一个Decoder-only Transformer模型层数通常根据任务复杂度而定层数越多模型越深模型效果越好。但是模型太深计算量太大导致训练困难所以需要一个取舍层数通常是经验和实战的选择。在确认LLM架构后我们就可以开始构建模型了构建模型时需要做三件事以把大象装进冰箱数据、模型、训练。数据的处理包括文本数据采集、文本数据预处理、文本数据嵌入。模型包括模型架构、模型参数。训练包括模型训练、模型评估、模型优化。数据文本采集此前的文章已经讲过但为了更好理解 Transformer还要从另一个视角讲一下文本数据预处理和文本数据嵌入有助于理解Transformer。文本数据预处理包括分词、词嵌入。2.1 Token数据流示例举例把Transformer is powerful.翻译成Transformer很强大。“时翻译到Transformer很时解码器已经生成了序列此时解码器需要根据已生成序列和上下文向量预测下一个中文词即强”已知的Tokens Transformer很输入时数据流是如则经过每一层的。生成Q向量此时解码器已经生成了“Transformer 很”。这个已生成的部分序列经过解码器内部的掩码自注意力层处理后会生成一个代表当前状态即准备生成下一个词的查询向量 Q_decoder。提供K、V向量编码器已经为英文句子“Transformer is powerful.”生成了一个完整的输出矩阵。这个矩阵中的每一行都是一个K-V对分别代表了“Transformer”、“is”、“powerful”和“.”的键和值信息。计算注意力权重模型会计算 Q_decoder 与所有英文词的K向量的点积得到一个注意力分数向量。经过Softmax归一化后这个分数向量就变成了权重向量。我们期望在这个权重向量中对应“powerful”的权重会非常高。加权求和最后模型用这个权重向量对所有英文词的V向量进行加权求和得到一个上下文向量。这个向量主要包含了来自“powerful”的信息并被传递给解码器的下一层用于最终预测出下一个中文词“强”。通过这个过程模型成功地将源语言中的“powerful”与目标语言中的“强”对齐了起来实现了精准的翻译。这个过程把一层Transformer过了一遍。自此Transformer的主流程已经讲清楚接下来我们再来看看Transformer的细节如果对Transformer的每个“零件”感兴趣可以接着看本章内容。2.2 分词token举个例子比如“Transformer is powerful.”分词后得到“Transformer”、“is”、“powerful”、“.”其中“.”是句子结束符表示句子结束不参与预测。还想补充的是我个人的一种理解方式可以认为分词就是为了得到一本字典的索引目录在transformer预测下一个词时根据当前用户的输入以及已有的预测输出去匹配字典中的词找到最匹配的词然后输出。这是一种很直观的理解方式省略了很多细节比如词嵌入的实现方式词嵌入的维度词嵌入的优化方式等但是这种理解方式可以让我们对分词有一个直观的认识。 当然如果只是完全随机在字典里去找下一个词我们的模型就会表现得很诡异LLM说出来的话也完全没有意义。所以我们通过设计模型架构通过嵌入、词位置、神经网络权重调整、注意力机制等手段在训练中让随机变得逐渐有规律可循。 就好比斑马在出生前通过DNA表达在娘胎里构建了基础的大脑结构刚出生几十分钟后就可以跟随母亲在草原上奔跑而不是让肌肉随机抽搐。在分词之后下一步是为所有可能出现的词元构建一个词汇表Vocabulary。词汇表是一个从词元到唯一整数ID的映射。例如我们可以为英文和中文分别构建词汇表英文词汇表示例词元 (Token)索引 (Index)(填充符)0(未知词)1(起始符)2(结束符)3Transformer4is5powerful6.7中文词汇表示例词元 (Token)索引 (Index)(填充符)0(未知词)1(起始符)2(结束符)3Transformer4很5强6大7。82.3 嵌入embedding把我们的示例词嵌入向量 (维度4)词元 (Token)索引 (Index)示例向量 (Vector)Transformer4[0.2, -0.5, 0.8, 0.1]is5[0.1, 0.0, -0.2, 0.9]powerful6[0.3, -0.4, 0.7, 0.2].7[-0.1, 0.1, 0.0, 0.1]2.3.1 字典的类比分词是得到了一本字典的目录我们想要知道下一个词是什么就需要去字典里找与上下文最相关的那个词。但如果只有字典目录也就是只有字没有词的释义很难匹配出最相关的词于是只能随机表达让肌肉无规律抽搐。所以我们需要给每个词一个 “释义”这个释义就是词嵌入也就是把词token转换为数学表示映射到高维空间中这样就可以通过计算两个词的距离来计算两个词的相关性。就好比我们给字典里的每个词都通过N多个字一个一维的长序列把这个字的含义解释清楚编一个页码类似的LLM中的词嵌入就是通过高维空间来表示一个词token这样就可以通过计算两个词的向量距离点积来计算两个token的相关性。中文字典的索引和字的解析如下图包括大语言模型在内的深度神经网络模型没法直接处理我们平时看到的原始文本。为什么呢因为文本数据是 “离散” 的 —— 简单说就是一个字、一个词都是单独的个体不像数字那样能直接算所以没办法直接用它做神经网络训练时需要的数学运算。这时候就需要一个办法把单词变成一种 “连续值向量” 的格式这样才能让模型用起来。2.3.2 词嵌入的过程可以看到举个实际的例子最小的 GPT-2 模型它的参数量是 1.17 亿用的嵌入维度是 768而 GPT-3 模型参数量达到 1750 亿嵌入维度就更高了有 12288。所以按字典的方式理解分词和词嵌入举例GPT-3的词汇表大小是50257个词嵌入的维度是12288维每个词用12288维度去解释那么GPT-3的全部词汇嵌入矩阵就是5025712288617558016大小每个维度占据4字节32位浮点数 FP32所以GPT-3的词汇嵌入矩阵大小就是61755801642470232064字节也就是2.34GB。这里维度占据存储空间取决于模型运行时使用的数值精度数值数据类型。在深度学习领域最常见的数据类型是32位浮点数FP32和16位浮点数FP16/BF16。不仅是文本像视频、音频这些不同类型的数据也能通过专门的神经网络层或者借助另一个提前训练好的神经网络模型转换成这种神经网可用的数据格式这个过程就叫 “嵌入”。 嵌入的分类说到底嵌入的本质其实很简单 把那些离散的东西比如单个单词、一张图片甚至一整篇文档对应到一个连续的向量空间里变成一个个 “点”。 这么做的主要目的就是把文字、图像这种非数值的数据转成神经网络能读懂、能处理的格式。另外词嵌入中 “维度” 可以从 1 维到几千维不等。一般来说维度越高越能捕捉到数据里那些细微的关系 —— 比如单词之间更复杂的关联。就好比我们用N个字来解释一个词一维的长序列解释篇幅越长这个词的含义就会越能被清晰表达在整本字典中的位置、与其他词之间的关系就能准确定位但代价是我们要的文字字典会变得非常厚我们的大脑也需要理解内化更多知识超出人脑极限据说汉字有两万多个但我们日常常用的仅需四千多个就足够日常生活了我们无法准确记忆字典每个词的释义但我们认识的字对应的含义内化在我们的大脑的神经网络当中了。理解回LLM维度越高我们的计算代价就更高计算起来会更慢效率会下降所以还需要做出权衡。为更清晰直观理解词嵌入这里举例rojector.tensorflow 上Word2Vec词嵌入模型在200维度的情况对71291个词元的嵌入结果再降维到3D并可视化后的情况可以直观的看到词元之间的空间情况。可以跳转网页上直观感受动画效果。词嵌入的实现方式有很多种如Word2Vec、GloVe、FastText、ELMo、BERT、GPT、GPT-2、GPT-3、GPT-4、GPT-5等其中GPT-3参数量达到1750亿。词嵌入外在AI常见应用中还有句子嵌入、段落嵌入、文档嵌入等如RAG应用。我们的世界还有声音、视频等其他格式的信息他们之间又如何建立关联关系呢比如一个多模态的LLM就需要有这样的能力这就要实现多模态对齐需要将不同模态的词元嵌入到同一个空间中才能进行比较。详细可以参阅《CLIP: Connecting text and images》https://openai.com/index/clip/。2.3.3 位置编码Positional EncodingTransformer模型的一个核心特点是其并行计算能力它不像循环神经网络RNN那样按顺序处理序列。然而这种并行性也带来了一个问题模型本身无法感知词语在序列中的位置或顺序。为了解决这个问题Transformer引入了位置编码Positional Encoding机制。位置编码是一组与词嵌入维度相同的向量它被加到每个词的嵌入向量上从而为模型提供关于词序的信息。这样模型就能区分“狗咬人”和“人咬狗”这两种完全不同的含义。位置编码的设计需要满足几个条件它应该为每个位置生成一个唯一的编码并且能够处理任意长度的序列。让我们为案例中的句子“Transformer is powerful.”添加位置编码。假设我们的嵌入维度是4我们可以使用简化的位置编码函数来生成每个位置的编码向量。词元 (Token)位置 (Position)词嵌入向量 (Embedding)位置编码向量 (Positional Encoding)最终输入向量 (Final Input)Transformer0[0.2, -0.5, 0.8, 0.1][0.0, 1.0, 0.0, 1.0][0.2, 0.5, 0.8, 1.1]is1[0.1, 0.0, -0.2, 0.9][0.8, 0.6, 0.8, 0.6][0.9, 0.6, 0.6, 1.5]powerful2[0.3, -0.4, 0.7, 0.2][0.9, -0.9, 0.9, -0.9][1.2, -1.3, 1.6, -0.7].3[-0.1, 0.1, 0.0, 0.1][-0.9, 0.9, -0.9, 0.9][-1.0, 1.0, -0.9, 1.0]在这个例子中我们为每个位置的词元生成了一个独特的位置编码向量并将其与词嵌入向量逐元素相加输入嵌入词元嵌入矩阵位置编码矩阵。位置编码的实现方式有很多种大致分为两种绝对位置编码直接与序列中的特定位置相关联。相对位置编码关注的是词元之间的相对位置或距离而非它们的绝对位置。输入嵌入经过归一化后可以传递到注意力层。行文至此似乎还从未解释过神经网络是什么以及为什么它们如此强大。2.4 神经网络神经网络Neural NetworkNN是受生物神经网络启发而建立的一种数学模型它由大量的人工神经元相互连接构成。神经网络是机器学习中非常常用的模型它具有强大的非线性拟合能力能够解决很多复杂的问题。神经网络由输入层、隐藏层和输出层组成其中隐藏层可以有多个每个隐藏层由多个神经元组成。每个神经元接收上一层神经元的输出并输出给下一层神经元。神经网络通过反向传播算法来训练通过不断调整神经元的权重和偏置使得神经网络能够拟合训练数据。4层神经网络输入层 ——输入层由 n 个神经元组成即 x1、x2、x3、……、x_n。隐藏层 ——第一个隐藏层由 n-1 个神经元组成即 h21、h22、h23、……、h_n-1第二个隐藏层由两个神经元组成即 h31 和 h32。输出层 ——输出层有输出 O1O2……On-2。并初始化一些随机权重 W1W2………W_n。输入层由偏差 b1 组成。我们再来看一个复杂的神经网络图中每一个红框都是一层神经网络如PT-3 davinci版本包含96层神经网络DeepSeek R1的61层MoE 前3层密集层Kimi K2的神经网络层数为61层其中1层为密集层其余60层为MoE层最近发布的Kimi K2 thinking也是一样的层数设计。2.5 注意力机制编码器Encoder是Transformer模型的核心组件之一其主要任务是接收经过预处理的输入序列即融合了位置信息的词嵌入向量并将其转换为一个富含上下文信息的特征表示。这个特征表示捕捉了输入句子中所有词语之间的复杂关系包括语法结构和语义依赖。编码器由多个相同的层layers堆叠而成每一层都包含两个主要的子层一个多头自注意力层Multi-Head Self-Attention和一个简单的、位置全连接的前馈神经网络Feed-Forward Network。在每个子层周围都使用了残差连接Residual Connection和层归一化Layer Normalization以帮助模型更稳定地进行训练。通过这一系列操作编码器能够逐步提炼输入序列的表示为解码器生成目标序列提供全面的上下文信息。为什么需要注意力机制解决的是在预测下一个词时要理解上下文的关系才能更好的预测下一个词让模型表现更好。好比别人给我们丢了一个问题我脑袋空空手上只有一本几万个字的字典我怎样才能更好的回答这个问题呢我需要先看下问题然后看下问题中的关键词再根据关键词去字典中找答案这样就能更好的回答这个问题了。那如何能找到与问题最关联的下一个词呢这就需要使用注意力机制捕捉数据依赖关系是现代深度学习模型中非常常见的做法。比如我们想让模型理解 “我” 和 “你” 之间的关系就可以用注意力机制让模型 “看” 到 “我” 和 “你” 之间的关联。举个类比就是就像我们拿SQL语句去关系型数据库查询我们想要的数据一样我们拿查询条件去匹配库表中的值从而拿到我们想要的数据记录。当然远没有那么简单SQL语句是 “静态” 的而模型是 “动态” 的随着输出追加到输入后面再座位新的输入整个上下文的词列表一直在变化我们就需要重新计算注意力。注意力机制包括自注意力机制、多头注意力机制、位置编码、注意力机制的变体等。2.5.1 注意力机制原理传统的注意力机制关注的是两个不同序列元素之间的关系。在自注意力机制中“自”指的是该机制通过关联单个输入序列中的不同位置来计算注意力权重的能力。核心思想让每个词关注句子中的其他词。它可以评估并学习输入本身各个部分之间的关系和依赖比如句子中的单词或图片中的像素。如下图中的doc就需要计算整个输入序列中各个元素之间的关系从而计算出每个元素对应的权重再以此计算出上下文向量。在自注意力机制中我们的目标是为输入序列中的每个元素计算上下文向量。上下文向量(context vector)可以被理解为一种包含了序列中所有元素信息的嵌入向量。一个输入序列记为x它由T个元素组成分别表示为x(1)到x(t)。嵌入化词元序列之间的注意力权重α 注意力分数w的归一化注意力分数w词元x(n)与其他词元的点积而得点积值越大则这两个词元相似度越高即对齐度越高注意力分数归一化softmax后得到每一个词元的注意力权重α即获得总和为1的注意力权重最后上下文向量Z(n)SUM(所有X(i)与其注意力权重α ✖️ 嵌入化词元本身的矩阵)即注意力权重和词元嵌入矩阵相乘后再求和。位移词元下标i循环以上步骤将所有词元的注意力权重都计算出来。图中是列举i2的此词元注意力上下文向量。从RNN的缺陷到自注意力机制想要表示整个输入序列的含义RNN的解码器在生成输出时只能靠它来读取全部内容。而很难处理长序列因为当序列过长时在将所有内容压缩为单个固定表示的过程中可能会丢失序列开头的信息。与传统的 RNN 和 CNN 相比Transformer 具有两大显著优势长距离依赖问题解决传统的 RNN 难以捕捉序列中相距较远词语的关系而 Transformer 的自注意力机制可以直接建模任意位置之间的依赖关系就是允许解码器访问编码器的所有隐藏状态。并行计算能力RNN 的时序依赖特性导致无法充分利用 GPU 并行能力而 Transformer 的并行处理能力使其能够高效利用现代硬件资源。注释用notebookLM根据本文整理完整PPT在文末为每个表示都生成一个状态即解码器可以访问编码器所有隐藏状态。但是同时处理所有状态会给解码器带来巨大的输入数量因此需要一些机制来按优先级使用状态。。自注意力机制就是为了解决这个问题而诞生的。自注意力机制也叫做点积缩放点积注意力scaled dot-product attention为什么这么叫呢理解点积点积是一个简单直接的操作它通过对两个向量的对应元素进行相乘然后求和来完成点积不仅仅是一个数学工具它还能衡量两个向量的相似度。点积越高表示两个向量的对齐程度或相似度越高。在自注意力机制中点积用于衡量序列中各元素之间的关注程度点积值越高两个元素之间的相似性和注意力得分就越高。理解缩放缩放的根本目的是为了控制点积结果的数值范围从而确保Softmax函数能稳定工作并拥有健康的梯度。这背后是一个深刻的数学和工程问题点积的数值结果范围的方差会随着维度 的增加而线性增大点积计算出的分数可能会非常大正数或非常小负数。理解归一化进行归一化的主要目的是获取总和为 1 的注意力权重。在实际应用中通常推荐使用 softmax 函数来进行归一化。这种方法在处理极端值时表现更佳且在训练过程中提供了更优的梯度特性。但Softmax函数对输入数值的绝对大小极其敏感指数函数exp会急剧放大数值间的差异。这导致点积和归一化的结合带来梯度消失问题所以需要控制点积结果的数值范围确保Softmax函数能稳定工作并拥有健康的梯度。具有可训练权重的自注意力机制引入了在模型训练期间会更新的权重矩阵Wq、Wk、Wu这三个矩阵用于将嵌入的输入词元x(i)投影为查询向量、键向量和值向量使得模型特别是模型内部的注意力模块能够学习产生“良好”的上下文向量。案例拆解分析“powerful”如何关联到“Transformer”让我们回到案例“Transformer is powerful.”并聚焦于单词“powerful”。在自注意力机制中当模型处理“powerful”这个词时它会生成一个查询向量Q_powerful。同时句子中的每个词包括“Transformer”、“is”和“.”都会生成自己的键向量K和值向量V。接下来Q_powerful会与K_Transformer、K_is、K_dot进行点积运算计算出“powerful”与句子中其他每个词的相关性得分。由于“powerful”是用来描述“Transformer”的我们可以预期Q_powerful与K_Transformer的点积结果会是一个较高的值。这个得分经过Softmax函数归一化后会得到一个较高的注意力权重。同时Q_powerful与K_is和K_dot的得分会相对较低对应的注意力权重也较小。最后模型会用这些权重对所有词的值向量V_Transformer, V_is, V_dot进行加权求和。由于V_Transformer的权重最大其向量表示将对最终的上下文向量贡献最多。因此“powerful”的最终表示将主要包含“Transformer”的信息从而建立起“powerful”和“Transformer”之间的强关联。为什么是Q、K、V在注意力机制的上下文中K“键”、Q“查询”和V“值”这些术语是从信息检索和数据库领域借鉴来的在这些领域中类似的概念被用于存储、搜索和检索信息。关系型数据库的查询我们有查询条件、查询索引、数据记录本身我们通过查询条件查询索引去匹配数据记录值从而拿到我们想要的数据记录。而且为了查询效率我们通常会使用B树索引而不是全表扫描。与之类比的自注意力机制也是通过查询、键和值来计算注意力权重从而计算出上下文向量且缓存了计算结果K和V在自回归模型中可以避免重复计算提高效率。缓存之前的计算结果特别是注意力机制中的一些特定向量就不需要重复计算之前的流而只需要计算最后一条流。这种优化技术被称为键-值(key-valueKV)缓存它能显著加快生成过程。“查询”query类似于数据库中的搜索查询。它代表模型当前关注或试图理解的项目例如句子中的一个词或 Token。查询用于探查输入序列的其他部分以确定应该给予它们多少注意力。“键”key类似于数据库中用于索引和搜索的键。在注意力机制中输入序列中的每个项目例如句子中的每个词都有一个关联的键。这些键用于与查询匹配。“值”value在这个上下文中类似于数据库中键值对的值。它代表输入项目的实际内容或表示。一旦模型确定哪些键哪些输入部分与查询当前关注项目最相关它就检索相应的值。题外话除了注意力权重Wq、Wk、Wu外还有权重参数W表示在训练过程中优化的神经网络参数定义网络连接的基本学习系数而注意力权重是动态且特定于上下文的值。在计算得到注意力分数w(21)-w(2T)后我们要进一步计算出注意力权重α(21)-α(2T)再将注意力分数转换为注意力权重通过缩放注意力分数并应用softmax函数来计算注意力权重。最后我们将每个词元的值向量u(1)-u(t)-分别与权重矩阵α(21)-α(2T)相乘再求得到上下文向量z(2)。回顾整个计算过程总结为一张图2.5.2 因果注意力机制因果关系方面的改进涉及修改注意力机制以防止模型访问序列中的未来信息这对于语言建模等任务至关重要在这些任务中每个词的预测只能依赖于之前的词。因果注意力也称为遮蔽注意力masked attention是自注意力的一种特殊形式。它限制模型在处理任何给定 Token 时只考虑序列中之前和当前的输入。这与标准的自注意力机制形成对比后者允许一次访问整个输入序列。当然还存在利用dropout随机掩码的机制来减少大语言模型中的过拟合问题。2.5.3 多头注意力机制接下来我们将多头注意力机制引入到模型中以获得更强的表示能力。多头注意力机制通过将自注意力机制的输出结果与多个不同的查询、键和值矩阵相乘从而获得多个不同的上下文向量。然后我们将这些上下文向量拼接在一起再经过一个线性变换最终得到一个表示能力更强的上下文向量。多头注意力使模型能够同时关注来自不同表示子空间的不同位置的信息。这提高了模型在复杂任务中的表现。案例说明一个头关注语法另一个头关注语义让我们以“Transformer is powerful.”为例来具体说明多头注意力是如何工作的。假设我们有两个注意力头Head 1 和 Head 2。Head 1 (关注语法结构) : 这个头可能会学习到句子的语法结构。当它处理“is”这个词时它可能会将大部分注意力权重分配给“Transformer”和“powerful”因为它识别出这是一个“主语-系动词-表语”的结构。它的输出将主要编码这种语法关系。Head 2 (关注语义关系) : 这个头可能更关注词汇之间的语义关系。它会发现“powerful”是描述“Transformer”的一个形容词因此当处理“Transformer”时它会特别关注“powerful”这个词。它的输出将主要编码这种语义上的修饰关系。通过组合这两个头的输出模型可以获得一个更丰富、更多维度的上下文表示从而更全面地理解句子的结构和含义。以下是两个注意力头的例子一个注意力头数为3词元数量为3嵌入维度为48的注意力计算过程1、注意力层是由N多个头组成的举例GPT-2注意力头数是12GPT-3注意力头数是96头GPT-4、GPT-5尚未公开DeepSeek R1也未公布估计与GPT-3相当。我们为了方便仅看其中一个注意力头这里列出了列出注意力投的Q、K、V权重。2、我们先只看其中一列的V向量计算过程为了生成其中一个向量我们执行矩阵向量乘法并添加偏差。每个输出单元都是输入向量的某种线性组合。例如对于 Q 向量 这可以通过 Q 权重矩阵的一行与输入矩阵的列之间的点积来实现。3、我们重复上一步将Q、K、V与输入的点积度计算出来。4、然后再将Q与K的向量求和得到注意力权重矩阵再将权重矩阵做softmax归一化将归一化的注意力权重矩阵的每个元素与V向量矩阵对应的相乘最终我们的到了这一列的V向量矩阵。5、接着我们将其他列的向量也计算出来如此一来我们将其中一个注意力头的注意力分数算出来了。6、我们要把每一个注意力头的注意力分数叠在一起然后执行投影来获得该层的输出。这是一个简单的矩阵向量乘法基于每列进行并添加了一个偏差。现在我们得到了自注意力层的输出。我们不是将其直接传递到下一个阶段而是将其逐个元素地添加到输入嵌入中。这个过程用绿色垂直箭头表示称为残差连接或残差通路 。往后还有一层MLP和归一化之后再输出本层输出。2.6 FFN/MLP(多层感知机)MLP是一个更广泛的神经网络概念而FFN则是该概念在Transformer层中的具体应用它们指的是同一个功能模块。MLP多层感知机是神经网络的一种由多个神经元或节点组成每个神经元接收输入信号然后通过激活函数计算输出信号。MLP通常用于分类和回归任务以及作为其他神经网络的组件。在Transformer 中MLP 通常用于处理自注意力层的输出以生成更强大的表示。举例一个两层神经网络的MLP追踪其中一个向量的MLP计算过程在 MLP 中我们将每个 C 48 长度的列向量独立地放入每个 MLP 层。然后我们应用 GELU 激活函数然后再次将向量投影回长度 C。GELU 是一个非线性激活函数它将输入向量中的每个元素映射到 0 到 1 之间的值。这有助于模型学习更复杂的函数而不仅仅是线性函数。1、首先进行矩阵向量乘法将向量扩展为长度 4 * C 的向量(动图中示例为92)添加了偏差MLP Bias的线性变换 。2、对向量中的每个元素应用 GELU 激活函数。这是所有神经网络的关键部分通过它为模型引入一定的非线性特性。所使用的 GELU 函数看起来与 ReLU 函数计算方式为 max(0, x)非常相似但它具有平滑的曲线而非尖锐的转角。3、然后通过另一个带偏置的矩阵向量乘法将向量投影回长度为 C 的维度。与自注意力投影部分类似将多层感知器的计算结果逐元素地加到其输入上。接下来对输入中的所有列重复此过程最终多层感知机部分已完成。于是我们现已获得Transformer 其中一层的输出结果该结果已准备就绪可传递至下一层。2.7 堆叠Transformer层正如深度学习中常见的情况一样很难确切地说出每一层的具体功能但有一些大致的思路较靠前的层往往专注于学习较低级别的特征和模式而较靠后的层则学习识别和理解较高级别的抽象概念和关系。在自然语言处理的语境中较低层可能学习语法、句法和简单的词语联想而较高层可能捕捉更复杂的语义关系、篇章结构以及依赖于上下文的含义。图中每一个红框是一层Transformer每个Transformer包含N个头以及一个前馈神经网络FFN/MLP子层。在经过N多层Transformer层后我们得到了一个向量表示这是概率较高的一个向量当然如果模型的温度调到0则每次都选取概率最高的向量这个向量对应一个词元会被加入到输入序列中作为下一个输入的上下文向量。如此循环之后我们得到了一个完整的句子然后继续循环直到生成了完整的文本。直到满足停止条件模型停止生成文本生成过程结束。2.8 案例讲解逐步生成翻译现在让我们完整地模拟解码器是如何一步步生成“Transformer很强大。”这个翻译结果的。这个过程是自回归的每一步都依赖于前一步的输出。第一步生成“Transformer”输入START标记。过程解码器接收到标记并结合编码器提供的关于整个英文句子的上下文信息。通过编码器-解码器注意力机制模型发现当前最相关的信息是整个句子的主语“Transformer”。输出模型预测出第一个词是“Transformer”。第二步生成“很”输入 Transformer。过程解码器现在知道已经生成了“Transformer”。它通过掩码自注意力机制处理这个部分序列并通过编码器-解码器注意力机制关注英文句子。此时模型需要决定如何翻译系动词“is”。在中文里“is”在这里被翻译为程度副词“很”用来修饰后面的形容词。输出模型预测出下一个词是“很”。第三步生成“强”输入 Transformer 很。过程解码器处理已生成的部分并通过编码器-解码器注意力机制将注意力高度集中在英文单词“powerful”上。模型开始翻译“powerful”这个形容词并首先生成其第一个字“强”。输出模型预测出下一个词是“强”。第四步生成“大”输入 Transformer 很 强。过程解码器继续处理并再次关注“powerful”。它意识到“强大”是一个更完整的翻译因此生成第二个字“大”来完成这个形容词。输出模型预测出下一个词是“大”。第五步生成句号“。”输入 Transformer 很 强 大。过程解码器注意到英文句子以句点“.”结束并且根据已生成的完整中文句子判断翻译已经完成。因此它会生成一个对应的中文句号“。”。输出模型预测出下一个词是“。”。至此整个翻译过程结束。可视化注意力权重下面是一个模拟的注意力热图展示了英文源句“Transformer is powerful.”与中文目标句“Transformer很强大。”之间的对齐情况。注*颜色越深表示注意力权重越大数值代表注意力权重的概率分布。“Transformer”与“Transformer”的高权重连接 从上表可以看出当解码器生成第一个中文词“Transformer”时它对英文单词“Transformer”的注意力权重高达0.95深色区域。这表明模型正确地识别出这是一个专有名词应该被直接“复制”到目标句子中而不是翻译成“变形金刚”。这种高权重的连接清晰地展示了模型如何进行直接的词汇对应。“powerful”与“强”、“大”的权重连接 在生成中文形容词“强大”时模型的注意力主要集中在英文单词“powerful”上。具体来说生成“强”时对“powerful”的权重是0.50生成“大”时对“powerful”的权重是0.35。这表明模型将“powerful”的语义信息拆分并映射到了中文的两个字上。这种一个源语言词对应多个目标语言词的情况在翻译中非常常见注意力机制能够很好地处理这种复杂的对齐关系。“is”与“很”的权重连接英文中的系动词“is”在中文里被翻译为程度副词“很”。在注意力热图中我们可以看到当生成“很”时模型对“is”的注意力权重达到了0.80。这揭示了模型超越了简单的字面翻译而是理解了“is”在这里的语法功能并找到了其在中文里最恰当的对应表达。这种对语法和语义的深层理解正是Transformer强大能力的体现。在理解了transformer最核心的知识注意力机制、FFN 、多层感知机MLP、规范层(Layer Norm)、归一层Softmax。我们可以开始构建大语言模型架构了之后就是预训练、微调、部署模型了。03当前开源旗舰LLM架构3.1 蓬勃发展的LLM我们看2025年主流大模型模型的发布情况版本迭代速度非常快很多模型甚至都带来了独特的创新能在特定领域达到SOTA。其中特别是开源的模型给AI平权带来很大的力量。如下图所示LLM Open Source Landscape and Trends3.2 LLM架构变化2025年LLM架构前沿的探索情况也是如火如荼各大厂商都在不断探索不断优化不断推出新的架构。也有不仅基于Transformer的架构也有基于Mamba的架构或者基于其他架构的LLM架构也有融合Transformer和Mamba的架构。如腾讯混元就是在尝试融合Transformer和Mamba的架构想要在性能和效率之间取得最佳平衡根据不同的子任务需求在模型内部灵活运用最合适的计算模块。所以我们在用元宝的时候有不少问题的回复看起来快了不少。从当前的发展趋势来看混合架构在LLM领域的应用越来越广泛未来可能会成为一个重要的发展方向。一篇详细比对LLM架构的文章The Big LLM Architecture Comparison From DeepSeek-V3 to Kimi K2: A Look At Modern LLM Architecture Design文中观点2025 年一些旗舰开源大语言模型LLM在架构上的发展变化。虽部分组件如位置编码、注意力机制、激活函数有改进但整体架构基础变化不大。当前头部的LLM架构都是在Decoder-only Transformer上不断做优化使得训练出来的模型表现越来越好。DeepSeek V3/R1 的创新架构DeepSeek V3 基于其推出的推理模型 R1 备受关注。它采用了Mixture of Experts (MoE) 和 Multi-Head Latent Attention (MLA) 机制使用 MoE以多个专家层替代前馈模块虽增加总参数但每次仅少量专家激活如 DeepSeek - V3 有 256 个专家推理时仅 9 个激活既提升模型能力又保持推理效率还设有共享专家提升整体性能。同时通过将关键值张量压缩进低维空间存储于 KV 缓存推理时再投影回原尺寸减少内存使用且建模性能优于传统多头注意力MHA。OLMo 2 的架构调整OLMo 2 由非营利机构开发因训练数据和代码透明受关注。其架构主要在归一化方面有特色采用类似 Post - LN 的方式将 RMSNorm 层置于注意力和前馈模块之后且在注意力机制内对查询和键添加 RMSNormQK - norm两者共同稳定训练损失虽仍使用传统 MHA但三个月后发布的 32B 变体采用了 GQA。Gemma 3 的独特设计Gemma 3 是性能良好却在开源界未受充分重视的模型。它使用滑动窗口注意力限制上下文大小减少 KV 缓存内存需求相比 Gemma 2 调整了全局与局部注意力比例窗口大小也从 4096 降至 1024对建模性能影响小。此外其归一化层在注意力和前馈模块前后都放置 RMSNorm结合 Pre - Norm 和 Post - Norm 优点。之后推出的 Gemma 3n 针对小设备优化采用 Per - Layer Embedding 参数层和 MatFormer 概念提升效率。MoE 架构的广泛应用MoE 架构在 2025 年颇受欢迎DeepSeek V3、Llama 4、Qwen3 等模型都采用。如 Llama 4 架构与 DeepSeek V3 相似但 Llama 4 使用分组查询注意力MoE 设置为较少但更大的专家且 MoE 和密集模块在变压器块中交替。Qwen3 推出密集和 MoE 两种版本MoE 版本用于降低大模型推理成本满足不同用户需求。04总结有了这些原理知识后对于我们构建LLM应用过程中做出决策很有帮助。我也对学习如何构建一个LLM应用很感兴趣。如何系统工程化完成LLM应用的构建从提示词工程最佳实践讲起直到如何与LLM联调后再逐步深入聊天服务、ARG服务、Agent应用的原理并讨论当前的实践范式。探讨如何让LLM应用发挥出最大的价值也让自己学到的知识能真正落地实践。Transformer学习过程中不断接触到回归、前馈、Loss函数、Softmax、交叉熵、梯度下降、反向传播等知识概念这些都在PyTorch中有所实现所以PyTorch引起了我很大的兴趣。期间也接触到CUDA、LangGraph、LangChain、向量数据库(ES、Milvus、chroma)等更多AI基础设施我想要构建一个足够智能的LLM应用也需要了解这些基础设施。这一刻“知道的更多不知道的就更多”具象化了啊。我的认知形成的小水滴每扩大一点在知识海洋中接触到面积越大我自己指导自己的未知就更多越发能体会到海洋之广袤无垠。这些不规则的知识点扩张使得这颗小小的大脑褶皱变得更多这个神经网络逐渐内化沉淀成为智慧。纷繁复杂的应用形态表现之下是为了弥补模型本身缺失的能力如果模型本身变得足够强大很多应用形态也会随着模型能力的演变逐渐变化甚至消失。所以我们在理解AI应用的时候可以思考模型本身为什么需要这种应用模式才能表现出这样的能力从而更深入触及模型的原理知其长短优劣知其然知其所以然。如下图所示蚂蚁集团9月份发布的《大模型开源开发生态全景》报告可以看到100天的时间很多应用出局了甚至很多基础设施项目也在不断更迭大名鼎鼎的TensorFlow已经被抛弃了而PyTorch却越来越受欢迎。有很多观点认为某种应用形态是伪需求是过度设计这是基于当前模型能力而言的。如最近在提的Context Engineering许多人就提出RAG很快就会消亡的观点。所以万变不离其宗模型能力是根本应用形态是是上层建筑。 在模型能力不足的情况下应用形态会不断演变以弥补模型能力的不足。在模型能力足够的情况下应用形态会逐渐消亡。于是我们既要关注模型能力的提升也要关注应用形态的演变。只有两者相互促进才能让模型发挥出最大的价值。读者福利如果大家对大模型感兴趣这套大模型学习资料一定对你有用对于0基础小白入门如果你是零基础小白想快速入门大模型是可以考虑的。一方面是学习时间相对较短学习内容更全面更集中。二方面是可以根据这些资料规划好学习计划和方向。作为一名老互联网人看着AI越来越火也总想为大家做点啥。干脆把我这几年整理的AI大模型干货全拿出来了。包括入门指南、学习路径图、精选书籍、视频课还有我录的一些实战讲解。全部免费不搞虚的。学习从来都是自己的事我能做的就是帮你把路铺平一点。资料都放在下面了有需要的直接拿能用到多少就看你自己了。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以点击文章最下方的VX名片免费领取【保真100%】
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

wordpress的主题在哪个文件夹给网站网站做优化

YOLO:从实验室到产线的实时视觉引擎 在智能制造车间里,一台工业相机正以每秒30帧的速度扫描着高速运转的PCB板。不到50毫秒后,系统就准确标出了一个仅占图像0.5%面积的虚焊点,并触发了自动剔除机制——这背后没有复杂的规则引擎&a…

张小明 2025/12/29 2:24:35 网站建设

html怎么做网站设计沈阳建站经验

Kotaemon在电信运营商套餐推荐系统中的应用在今天的通信市场,用户早已不再满足于“买卡送手机”或“全家桶套餐”这类粗放式营销。随着5G普及和流量消费模式的多样化,一个年轻视频博主可能每月消耗上百GB流量,而一位退休老人则更关心通话分钟…

张小明 2025/12/29 2:54:48 网站建设

成都网站建设制作设计网站中弹出广告怎么做的

OpenPLC Editor完全指南:从安装到实战的终极教程 【免费下载链接】OpenPLC_Editor 项目地址: https://gitcode.com/gh_mirrors/ope/OpenPLC_Editor 想要快速上手工业自动化开发?OpenPLC Editor作为开源PLC编程的利器,为你提供了从入门…

张小明 2025/12/29 7:04:55 网站建设

海南创作什么网站seo核心技术排名

5个步骤彻底解决夜间阅读疲劳:Dark Reader深色模式终极指南 【免费下载链接】darkreader Dark Reader Chrome and Firefox extension 项目地址: https://gitcode.com/gh_mirrors/da/darkreader 你是否曾经在深夜加班时,被刺眼的白色网页背景折磨得…

张小明 2025/12/29 7:32:11 网站建设

夸克浏览器官网入口重庆seo排名优化费用

从零开始理解 AUTOSAR:一个汽车电子工程师的成长之路你有没有过这样的经历?刚接手一个ECU项目,打开代码仓库,满屏是Rte_Read_、Com_SendSignal这类函数调用,却不知道它们从哪来、往哪去;想改个信号处理逻辑…

张小明 2025/12/29 2:49:00 网站建设

wordpress 主题演示站个人网站代码模板

MusicFree终极定制指南:3步打造你的专属音乐宇宙 【免费下载链接】MusicFreePlugins MusicFree播放插件 项目地址: https://gitcode.com/gh_mirrors/mu/MusicFreePlugins 厌倦了千篇一律的音乐推荐?想要一个真正懂你喜好的智能音乐管家&#xff1…

张小明 2025/12/29 6:32:36 网站建设