查看“︁Transformer架构如何驱动现代大语言模型:深入解析AI核心技术”︁的源代码
←
Transformer架构如何驱动现代大语言模型:深入解析AI核心技术
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== 前言 == 当我们与GPT、Claude或Gemini等现代大语言模型互动时,我们正在见证一个与人类形成句子过程根本不同的过程。虽然我们自然地构建思想并将它们转化为文字,但大语言模型通过循环转换过程运行。理解这个过程揭示了这些强大系统的能力和局限性。 == 2026年AI预测:上下文成为关键瓶颈 == 根据最新的AI发展趋势预测,到2026年,模型本身不会成为瓶颈,而上下文获取将成为关键挑战。随着AI代理从向量存储、会话状态、长期记忆、SQL数据库等拉取数据,找到正确的数据变得困难。错过关键上下文会导致响应崩溃,发送过多信息则会使延迟和成本飙升。因此,上下文引擎作为解决方案应运而生——一个单一的层来存储、索引和提供结构化和非结构化数据,涵盖短期和长期记忆,从而实现更快的响应、更低的成本和更实用的AI应用程序。 == Transformer架构的核心组成 == 现代大多数大语言模型的核心是一种称为Transformer的架构。该架构于2017年引入,是由神经网络层构建的序列预测算法。该架构有三个基本组成部分: # 嵌入层:将标记转换为数值表示 # 多层Transformer层:进行实际计算的地方 # 输出层:将结果转换回文本 Transformer能够同时处理所有单词,而不是一次处理一个,使它们能够从大量文本数据集中学习并捕捉复杂的单词关系。 == 详细工作流程解析 == === 第一步:标记化(Tokenization) === 在任何计算发生之前,模型必须将文本转换为可处理的形式。这从标记化开始,文本被分解为基本单位称为标记。这些并不总是完整的单词,可能是子词、词片段甚至单个字符。 例如输入:"I love transformers!",分词器可能会将其分解为:["I", " love", " transform", "ers", "!"]。注意"transformers"变成了两个单独的标记。每个词汇表中的唯一标记都被分配一个唯一的整数ID: * "I" 可能是标记150 * "love" 可能是标记8942 * "transform" 可能是标记3301 * "ers" 可能是标记1847 * "!" 可能是标记254 这些ID是任意标识符,没有固有的关系。标记150和151并不因为数字接近而相似。整体词汇表通常包含50,000到100,000个模型在训练期间学到的唯一标记。 === 第二步:嵌入(Embedding) === 神经网络无法直接处理标记ID,因为它们只是固定的标识符。每个标记ID被映射到一个向量,即一个包含数百或数千个维度的连续数字列表。这些被称为嵌入。 [[文件:Imageshenrulijieaihexinjishu.png|无|缩略图|604x604像素]] 以下是带有五个维度的简化示例(真实模型可能使用768到4096维): * 标记"dog"变成 [0.23, -0.67, 0.45, 0.89, -0.12] * 标记"wolf"变成 [0.25, -0.65, 0.47, 0.91, -0.10] * 标记"car"变成 [-0.82, 0.34, -0.56, 0.12, 0.78] 注意"dog"和"wolf"具有相似的数字,而"car"完全不同。这创建了一个语义空间,相关概念聚集在一起。 为什么需要多个维度?这是因为如果每个词只有一个数字,我们可能会遇到矛盾。例如: * "stock" 等于 5.2(金融术语) * "capital" 等于 5.3(类似的金融术语) * "rare" 等于 -5.2(反义词:不常见) * "debt" 等于 -5.3("capital"的反义词) 现在,"rare"和"debt"都具有相似的负值,暗示它们相关,这毫无意义。数百个维度允许模型在没有这种矛盾的情况下表示复杂的关系。 在这个空间中,我们可以执行数学运算。"king"的嵌入减去"man"再加上"woman"大约等于"queen"。这些关系在训练期间从文本数据中的模式中产生。 === 第三步:位置编码(Positional Encoding) === Transformer并不天然理解词序。如果没有额外信息,"The dog chased the cat"和"The cat chased the dog"看起来相同,因为两者包含相同的标记。 解决方案是位置嵌入。每个位置都被映射到一个位置向量,就像标记被映射到意义向量一样。 对于出现在第2位的标记"dog",可能是这样的: * 词嵌入:[0.23, -0.67, 0.45, 0.89, -0.12] * 位置2嵌入:[0.05, 0.12, -0.08, 0.03, 0.02] * 组合(元素级求和):[0.28, -0.55, 0.37, 0.92, -0.10] 这个组合嵌入捕获了词的意义和使用语境。这也是流向Transformer层的内容。 === 第四步:注意力机制(Attention Mechanism) === Transformer层实现了注意力机制,这是使这些模型如此强大的关键创新。每个Transformer层对每个标记使用三个组件:查询(queries)、键(keys)和值(values)。我们可以将其视为模糊字典查找,其中模型比较它寻找的内容(查询)与所有可能的答案(键)并返回相应值的加权组合。 [[文件:Shenrujiexiaihexinjishu2.png|居中|缩略图|681x681像素]] 让我们看一个具体的例子。考虑句子:"The cat sat on the mat because it was comfortable." 当模型处理单词"it"时,它需要确定"it"指代什么。以下是发生的情况: # 首先,"it"的嵌入生成一个查询向量,本质上询问"我指的是哪个名词?" # 接下来,此查询与所有先前标记的键进行比较。每次比较产生一个相似度分数。例如: #* "The"(冠词)生成分数:0.05 #* "cat"(名词)生成分数:8.3 #* "sat"(动词)生成分数:0.2 #* "on"(介词)生成分数:0.03 #* "the"(冠词)生成分数:0.04 #* "mat"(名词)生成分数:4.1 #* "because"(连词)生成分数:0.1 # 原始分数然后转换为总和为1.0的注意力权重。例如: #* "cat"接收注意力权重:0.75(75%) #* "mat"接收注意力权重:0.20(20%) #* 所有其他标记:0.05总计(5%合计) # 最后,模型获取每个标记的值向量并使用这些权重组合它们。例如: 输出 = (0.75 × Value_cat) + (0.20 × Value_mat) + (0.03 × Value_the) + ... "cat"的值贡献75%,"mat"贡献20%,其他一切几乎被忽略。这个加权组合成为"it"的新表示,捕获了语境理解,即"it"最有可能指代"cat"。 这个注意力过程发生在每个Transformer层中,但每层学会检测不同的模式: * 早期层学习基本模式,如语法和常见词对。处理"cat"时,这些层可能高度关注"The",因为它们学会了冠词和其名词相关。 * 中间层学习句子结构和短语间关系。它们可能弄清楚"cat"是"sat"的主语,"on the mat"形成表示位置的介词短语。 * 深层提取抽象含义。它们可能理解这个句子描述物理情况并暗示猫舒适或休息。 每层逐步优化表示。一层的输出成为下一层的输入,每层添加更多语境理解。 重要的是,只有最终Transformer层需要预测实际标记。所有中间层执行相同的注意力操作,但仅转换表示以对下游层更有用。中间层不输出标记预测,而是输出流向下一层的优化向量表示。 这种堆叠多层,每层专精于语言理解的不同方面,是使大语言模型能够捕捉复杂模式并生成连贯文本的原因。 === 第五步:输出转换 === 经过所有层流动后,最终向量必须转换为文本。解嵌入层将此向量与每个标记嵌入比较并产生分数。 例如,完成"I love to eat",解嵌入可能产生: * "pizza": 65.2 * "tacos": 64.8 * "sushi": 64.1 * "food": 58.3 * "barbeque": 57.9 * "car": -12.4 * "42": -45.8 这些任意分数使用softmax转换为概率: * "pizza": 28.3% * "tacos": 24.1% * "sushi": 18.9% * "food": 7.2% * "barbeque": 6.1% * "car": 0.0001% * "42": 0.0000001% 得分相似的标记(65.2对比64.8)接收相似的概率(28.3%对比24.1%),而低分标记获得接近零的概率。 模型不选择最高概率标记。相反,它从此分布中随机采样。想象一个轮盘赌轮,每个标记获得与其概率成比例的切片。披萨获得28.3%,塔可获得24.1%,42获得微观切片。 这样随机性的原因是,总是选择特定值如"pizza"会产生重复、不自然的输出。按概率加权的随机采样允许选择"tacos"、"sushi"或"barbeque",产生多样化、自然的响应。偶尔会选择较低概率标记,导致创造性输出。 == 生成过程详解 == 生成过程对每个标记重复。让我们看一个例子,初始提示是"The capital of France.": 循环1: * 输入:["The", "capital", "of", "France"] * 通过所有层处理 * 采样:"is"(80%) * 当前输出:"The capital of France is" 循环2: * 输入:["The", "capital", "of", "France", "is"](包含新标记) * 通过所有层处理(现在5个标记) * 采样:"Paris"(92%) * 当前输出:"The capital of France is Paris" 循环3: * 输入:["The", "capital", "of", "France", "is", "Paris"](6个标记) * 通过所有层处理 * 采样:"."(65%) * 当前输出:"The capital of France is Paris." 循环4: * 输入:["The", "capital", "of", "France", "is", "Paris", "."](7个标记) * 通过所有层处理 * 采样:[EoS]标记(88%) * 停止循环 * 最终输出:"The capital of France is Paris." [EoS]或序列结束标记发出完成信号。每个循环处理所有先前标记。这就是为什么响应变长时生成会变慢的原因。 这被称为自回归生成,因为每个输出依赖于所有先前输出。如果选择了异常标记(也许在"I love to eat chalk"中"chalk"有0.01%概率),所有后续标记都将受此选择影响。 == 训练与推理阶段 == Transformer流在两个环境中运行:训练和推理。 === 训练阶段 === 在训练期间,模型从数十亿文本示例中学习语言模式。它从随机权重开始并逐渐调整它们。以下是训练如何工作的: * 训练文本:"The cat sat on the mat." * 模型接收:"The cat sat on the" * 具有随机初始权重,模型可能预测: ** "banana": 25% ** "car": 22% ** "mat": 3%(正确答案概率低) ** "elephant": 18% 训练过程计算误差("mat"应该更高)并使用反向传播调整每个权重: * "on"和"the"的嵌入被调整 * 所有96层的注意力权重被调整 * 解嵌入层被调整 每次调整都很小(0.245到0.247),但在数十亿示例中累积。在不同语境中看到"sat on the"跟随"mat"数千次后,模型学会此模式。训练在数千GPU上花费数周并花费数百万美元。完成后,权重被冻结。 === 推理阶段 === 在推理期间,Transformer使用冻结权重运行: * 用户查询:"Complete this: The cat sat on the" * 模型使用其学习的权重处理输入并输出:"mat"(85%),"floor"(8%),"chair"(3%)。采样"mat"并返回。不发生权重更改。 模型使用了其学习的知识但没有学习任何新内容。对话不会更新模型权重。要教模型新信息,我们需要使用新数据重新训练,这需要大量计算资源。 [[文件:ShenrulijiejiexiAIhexinjishu3.png|居中|缩略图|657x657像素]] == 总结 == Transformer架构为理解和生成人类语言提供了优雅的解决方案。通过将文本转换为数值表示,使用注意力机制捕捉单词间的关系,并堆叠多层以学习越来越抽象的模式,Transformer使现代大语言模型能够产生连贯有用的文本。 这个过程涉及七个关键步骤,对每个生成的标记重复:标记化、嵌入创建、位置编码、通过具有注意力机制的Transformer层处理、解嵌入到分数、从概率中采样和解码回文本。每个步骤建立在前一个基础上,将原始文本转换为模型可以操作的数学表示,然后转换回人类可读输出。 理解这个过程揭示了这些系统的功能和局限性。本质上,大语言模型是复杂模式匹配机器,根据从大规模数据集中学到的模式预测最可能的下一个标记。 这个七步过程重复进行,每一步都建立在前一步的基础上,将原始文本转换为模型可以操作的数学表示,然后转换回人类可读的输出。 ----''本文详细解析了Transformer架构的工作原理,希望对您理解AI核心技术有所帮助。欢迎关注我们的公众号,获取更多前沿科技资讯!''
返回
Transformer架构如何驱动现代大语言模型:深入解析AI核心技术
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
特殊页面
工具
链入页面
相关更改
页面信息