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 .
   201   202   203   204   205   206   207   208   209   210   211