Page 206 - 《软件学报》2026年第1期
P. 206
高彦杰 等: 大语言模型预训练系统关键技术综述 203
输入
批次数据 分词嵌入 前向传播 反向传播 梯度更新
图 1 大语言模型训练流程
如图 1 所示, 训练流程大致可以分为以下几个阶段: 首先, 根据显存容量和算法收敛性的要求, 输入一个数据
批次. 例如, GPT-3 175B 使用了一个包含 3.2M 个标记的批次. 接着, 对输入数据进行词嵌入和位置嵌入处理, 将其
转换为张量表示. 然后, 将数据输入由多层 Transformer 构成的模型中进行计算. 在完成模型中各层的前向计算后,
根据损失函数进行反向传播, 计算各个权重相对于损失的梯度. 最后, 通过这些梯度更新模型权重, 完成一次迭代.
经过多轮迭代后, 若模型性能达到预期, 训练过程即完成.
图 2 展示了一个简化的计算图, 用于描述 3 层 GPT 模型的计算流程. 图中的节点代表 Transformer 层, 边则表
示层之间的依赖关系. 例如, 图中的方框表示注意力层. Transformer 层按照节点上的编号和箭头所指的顺序依次
执行, 从而完成推理过程.
在每一次迭代的前向传播步骤中, 生成的输出标记被反馈到模型, 损失函数计算误差后, 通过反向传播计算梯
度, 并最终更新模型参数. 自回归生成每个标记的过程通过执行模型的所有层完成. 输入可以是来自客户端的提示
词标记, 也可以是先前生成的输出标记. 一般来说, 将模型运行一遍定义为一个迭代. 在图 3 中显示的示例中, 整个
过程包括 3 个迭代. 第 1 次迭代 (“迭代 1”) 获取所有输入标记 (“GPT 是”), 并预测下一个标记 (“语言”). 完成前向
传播并获取预测输出后, 需要最小化损失函数, 然后通过梯度下降算法更新相应的权重.
输出
Add Add
语言 模型 <EOS>
MLP
Linear
3 3 3
Linear
2 2 2
Attention
GELU
1 4 1 Key
Query Value
Linear Linear
GPT 是 GPT 是语言 GPT 是语言模型
迭代1 迭代2 迭代3
LayerNorm LayerNorm
输入
图 2 大语言模型一个请求的前向传播流程 图 3 Transformer 模型结构
图 3 中的大语言模型结构通常由多个 Transformer 层堆叠而成, 其核心算子包括矩阵乘法和非线性变换. 在执
行过程中, 大语言模型与输入批次数据进行大量的矩阵运算, 例如, 通用矩阵乘法等.
原始的 Transformer 模型使用了由编码器和解码器堆叠而成的 Transformer 层, 而 GPT 的架构则由一个单一
的解码器层堆栈组成. 图 3 展示了在 GPT 中使用的一个 Transformer 层. 在组成 Transformer 层的各项操作中, 注
意力 (attention) 层是区分 Transformer 与其他模型结构的关键部分. 从高层次来看, 注意力操作通过计算每个标记
的权重, 使序列中的每个标记能够关注到其他标记. 注意力层的核心计算公式为:
T
S = QK ,P = Softmax(S ) ∈ R N×N ,O = PV ∈ R N×d .

