大模型架构:理解大模型预测输出文本的底层逻辑

大模型架构:理解大模型预测输出文本的底层逻辑

大模型全称大规模预训练语言模型(Large Language Model,简称 LLM),是基于Transformer 架构、参数量达到数十亿 / 千亿级、在海量文本 / 多模态数据上完成预训练的人工智能模型。

自然语言输入到大模型后,通过分词器Tokenizer将自然语言转换为TokenID序列,并将TokenID序列输入到Embedding嵌入层,该层通过查向量表将无语义的TokenID序列转换为具有语义空间的N维向量,叠加位置编码后输入到Transformer层。

在Transformer的每一层中,对输入依次做:层归一化LN1→多头自注意力MHA→残差连接→层归一化LN2→FFN前馈神经网络→残差连接。然后再将输出传递到下一层,直到最后一层输出特征向量。该特征向量包含了原语义、位置编码、上下文语义、token关联语义等信息,然后传入LM Head输出层。

在LM Head输出层(或者叫线性变换层),对特征向量进行线性投影生成词表维度logits,其中包含了几万 ~ 十几万所有可用token数值,每个数值代表在当前上文后,这个token作为下一个字的匹配分数。对logits进行Softmax计算(训练阶段不需要Softmax计算),得到一个值在0~1之间,总和为1的概率分布,然后通过解码策略(贪心/采样)选出1个目标TokenID,将目标TokenID拼接在原始TokenID序列后,再送入Embedding嵌入层循环走一遍计算输出流程,直到输出EOS终止符号,然后将TokenID序列通过分词器解码为自然语言后,完整返回给前端,再由前端进行展示输出结果。

分词器

分词器是独立于神经网络的文本转换工具,核心作用:把人类自然语言字符串,拆分成模型词表定义的最小单元(Token),再映射为模型能接收的整数 ID;同时内置批量对齐、掩码生成等附加处理能力。

编码

现代大模型采用Byte-BPE标准分词算法,通过对原始文本进行标准化清洗、预分词、UTF-8字节转换、BPE子词贪心合并、插入特殊符号、映射TokenID步骤实现从原始文本到TokenID序列的映射。

分词器中内置固定词表,存储所有Token字符串与唯一ID的映射关系。在通过BPE算法分词结束后,通过查表将原始文本映射为TokenID序列,无填充、无截断。

分词器中内置了附加预处理功能,在将TokenID序列传入Embedding嵌入层之前,支持对其进行截断、补pad、生成attention_mask功能,在训练阶段强制开启,在推理阶段,在线对话除截断按需开启外,pad和attention_mask默认不开启,离线批量推理强制开启。

解码

解码是编码的反向流程,自回归生成结束(采样到)后执行,把模型输出的数字 ID 序列还原成文字,主流 Byte-BPE/SentencePiece 通用这套步骤。

Embedding嵌入层

Embedding嵌入层是大模型神经网络第一层转换模块。它维护一张tokenID为索引,多维向量为值的二维向量表,推理时仅查表,训练时会通过反向传播更新二维向量表。

权重矩阵 Wemb ∈Rvocab_size×hidden_dim W_{emb} \in \mathbb R^{vocab\_size \times hidden\_dim} Wemb∈Rvocab_size×hidden_dim 输入TokenID(一维/二维批量),以ID为行索引,取出对应向量,输出张量: 这个过程纯查表索引,无矩阵乘法、无激活函数,是最简单的线性映射。

叠加位置编码

Embedding嵌入层输出张量后,在送入Transformer层之前,还需要叠加位置编码。

为什么要添加位置编码?因为在Transformer内部只有矩阵乘法,完全是置换等价的。也就是说,同样的token序列,尽管顺序不同,在Transformer中计算的注意力权重也是一模一样的。

为文本向量叠加位置编码的核心目的是使token序列相同,但顺序不一致的向量传入到Transformer之后是不同的向量,这样Transformer就能够区分。

位置编码给每个位置添加独有的时序坐标,让模型能识别Token 的先后顺序、远近关系,解决 Transformer 天生丢失语序信息的缺陷。

Transformer层

Transformer Block(常简称 Transformer 层)是大模型的核心基础计算单元,基于自注意力机制(Self-Attention)构建,负责对融合语义与位置信息的三维特征张量,完成全局上下文语义建模;模型通过堆叠数十 / 上百个完全相同的该层,实现长距离文字关联理解,是自回归大模型的核心特征提取模块。

在Transformer层主要有两大模块:多头自注意力和FFN前馈网络。在张量进入这两个模块之前都需要做层归一化,经过模块处理之后进行残差连接。其中,多头自注意力模块解决词与词之间的关系问题 ;FFN前馈网络模块解决单个词内部的深层语义细化问题,而层归一化是将张量中的数值统一在稳定范围内,避免训练过程中的梯度爆炸和梯度消失问题,残差连接是将多头自注意力模块或FFN模块输出的张量加上原始Transformer层输入张量,避免原始文本语义丢失。

随着Transformer逐层深入,大模型对原始文本的理解也越来越深刻,最终走完所有层之后输出文本的特征张量,并输入到LM Head输出层。

LM Head输出层

LM Head(语言模型头)是堆叠完全部 N 层 Transformer后的最后计算模块,唯一任务: 接收最后一层 Transformer 输出的三维特征张量,把每个 Token 位置的语义向量,换算成全词表所有 Token 的预测概率分布,根据解码策略选出下一个 Token ID 用于自回归生成。

在LM Head输出层主要有3个步骤:LM Head线性变换、Softmax归一化、预测下一个TokenID。

LM Head线性变换是预测下一个词的关键。如果说前面的步骤是对原始输入文本进行的深度理解,那么这一步骤才开始真正预测下一个token。在模型内部预置了一个权重矩阵 Wlm W_{lm} Wlm,该矩阵是在训练阶段得到,通过将输入的特征张量与 Wlm W_{lm} Wlm相乘,即可得到单条样本的logits输出,如:[2.1, 0.3, 5.7, 1.2, -0.8],数字越大,代表该Token 作为下一个词的匹配度越高。

Softmax归一化是将原始得分转换成概率,一行所有概率相加总和等于1。上面的示例归一后:0.07, 0.01, 0.82, 0.08, 0.02

预测下一个TokenID的策略有两种,一种是贪心采样,直接取概率最大值对应的下标。另一种是Top-p/Top-k采样,只保留高概率Token,随机采样提升文本多样性。

如果采样结果为<EOS>结束符,则停止生成,收集全部生成TokenID送入分词器解码输出文本;如果未出现<EOS>,将新TokenID拼入原始上下文序列,重新走分词器→Embedding→Transformer 整套链路。

相关推荐
Henry-SAP13 小时前
SAP引领ERP智能化转型
人工智能·云原生·sap·erp
峥嵘life13 小时前
Android16 311Y3 EAP-TLS 网络连接失败分析与修复总结
android·开发语言·人工智能·php
特立独行的猫a14 小时前
一切皆插件:DeepSeek Harness 的架构哲学,以及与主流 Agent 的对比
人工智能·架构·agent·deepseek·harness
电商API_1800790524714 小时前
京东商品详情API技术文章
大数据·运维·人工智能·网络爬虫
fīɡЙtīиɡ ℡14 小时前
AI Agent 记忆系统
人工智能
企鹅的企15 小时前
2027北京AI数字健康与智慧医疗展官方:超两成展品亚洲首秀
人工智能·科技·机器人
lvts_cs15 小时前
淄博高新区绿天使数智创新港:高标准产研厂房全维度详解
大数据·人工智能
百胜软件@百胜软件15 小时前
从“人找货”到“货找人”:「胜券商品」如何用AI重构配补调
人工智能·重构
风流 少年15 小时前
Spring AI 2.0:Advisor
android·人工智能·spring