Page 215 - 《软件学报》2026年第1期
P. 215

212                                                        软件学报  2026  年第  37  卷第  1  期


                 行切片, 因此它对模型结构不可知, 可以为不同注意力头的模型结构                     (例如多头、多查询、多组查询等) 配置并行.
                 序列并行方式需要结合稀疏注意力机制才能达到较好的性能.
                  3.2.1.6    自动并行
                    目前的模型并行训练系统存在两种生成并行化执行计划的方法: 一是由用户手动制定并行化计划方案; 二是
                 从有限的模型并行配置的并行化模板计划中自动生成并行化计划. 然而, 随着模型配置规模的不断增大以及底层
                 基础架构拓扑的变化, 传统方法在分布式计算环境中扩展大型语言模型时显得不够灵活. 为了解决这一问题,
                 Alpa [28] 提出了一种类似于  FlexFlow [55] 的自动并行方案.
                    Alpa 将并行性抽象为两个层次: 操作符间           (类似于流水线并行) 和操作符内         (类似于张量并行) 的并行性, 并在
                 此基础上构建了分层的搜索空间, 使得这两个层次之间正交. 最终, Alpa 能够自动推导出高效的并行执行计划, 并
                 通过运行时    (runtime) 来协调计划的执行.
                    Alpa 将并行化问题抽象为以下优化问题: 计算图              G = (V,E) 的总执行成本是所有节点       v ∈ V 上的计算和通信
                              e ∈ E 上的重新分片成本的总和. 当输入张量不满足所选并行算法的分片规格时, 需要进行格式转
                 成本, 以及所有边
                 换, 称为重新分片, 这可能需要跨设备通信. 作者将成本最小化问题转化为整数线性规划                         (integer linear programming,
                 ILP) 并使用现成的求解器进行最优求解. 对于每个节点                v, 可能的并行算法数量是  , 每个节点有一个长度为               k v
                                                                                  k v
                 的通信成本向量      c v , 其中  c v ∈ R . 同时, 节点  v 有一个计算成本向量  d v ∈ R . 对于每个节点  v, 定义一个独热决策向
                                                                         k v
                                        K v
                 量  s v ∈ {0,1} , 表示它使用的算法. 对于节点  v 和节点  u 之间的重新分片成本, 定义一个重新分片成本矩阵              R vu ∈ R k v ×k u .
                          k v
                 问题的优化目标定义为        [28] :

                                                    ∑           ∑
                                                       T
                                                                    T
                                                 min  s (c v +d v )+  s R vu s u                      (1)
                                                                    v
                                                       v
                                                  s
                                                    v∈V        (v,u)∈E
                 其中, 第  1  项是节点  v 的计算和通信成本, 第     2  项是边  (v,u) 的重新分片成本, T   表示转置.
                    尽管可以使用性能分析来获取           c v 、  和  R vu  的准确成本, 但为简化处理, 作者采用以下估算方法: 对于通信成
                                                d v
                       R vu , 通过计算传输的字节数并除以网络带宽得到成本. 对于计算成本  , 作者将其全部设为                      0, 这一做法基
                 本  d v  和                                                  c v
                 于以下考虑: (1) 对于如矩阵乘等计算量较大的运算符, 不允许复制计算, 所有并行算法均将计算负载平均分配到
                 各设备, 因而其算术复杂度相同; (2) 对于计算量较小的运算符, 如逐元素操作, 虽然允许复制计算, 但其计算成本
                 可忽略不计. 为简化计算图, 作者将计算量微小的运算符                 (如逐元素运算、转置和归约等) 合并到其操作数中, 这
                 极大地减少了图中节点的数量, 从而减小了              ILP  问题的规模. Alpa 通过广度优先搜索计算每个节点的深度, 并将
                 其合并到最深的操作数上, 最终通过整数线性规划求解器完成求解. nnScaler                   [46] 不依赖现有的搜索空间, 而是允许
                 领域专家通过     3  种更通用的基本原语      (op-trans、op-assign 和 op-order) 自定义搜索空间. 这些原语用于表达模型
                 转换及各种并行化计划的时空调度特性. 为避免搜索空间的过度膨胀, nnScaler 在构建空间时支持对原语施加约
                 束. 表  4  详细总结了各种并行策略的计算时间复杂度和空间复杂度, 并全面梳理了它们的优缺点. 以                           MLP  的一层
                 全连接层为例,     D in  输入特征维度、  D out  为输出特征维度,  N  为样本数,  P 为处理器数. 上述综合分析有助于深入了
                 解每种并行策略在特定场景下的表现, 并为选择适用于特定任务与硬件环境的并行策略提供参考.

                                                   表 4 并行优化策略对比

                 并行方式      单设备计算时间复杂度         参数量空间复杂度               优点                     不足
                                                            实现简便, 无需对模型结构进行 当模型参数较小时, 通信开销
                   数据        O (  N × D in × D out  )  O(D in × D out )× P  较大修改. 能够处理大型数据集, 可能成为性能瓶颈. 需要高效
                   并行              P                        每个处理器分别处理不同的样本 的梯度同步机制, 以保持各处
                                                            批次. 对模型结构无特定要求         理器间权重一致
                         (          )                                              需要处理复杂的数据加载与梯
                          N × D in × D out
                        O           +SyncTime,              充分利用所有处理器, 从而提升
                  全切片         P                             模型训练速度. 该策略对于大型        度同步问题, 这可能会导致通
                   数据   SyncTime 表示同步时间, 因为需    O(D in × D out )  模型和数据集具有良好的可扩展   信开销增加. 对于小型模型和
                   并行   要保持梯度的同步, 这可能涉及                                            数据集, 该策略可能会出现性
                        通信和同步的开销                            性. 对模型结构无特定要求          能下降
   210   211   212   213   214   215   216   217   218   219   220