Page 169 - 《软件学报》2025年第4期
P. 169

杨紫超 等: 基于性能建模的深度学习训练任务调度综述                                                      1575


                 息粒度, 这些低开销的方法可以进一步细分为               3  类: 基于任务元信息的方法、基于计算图结构的方法和基于可组
                 合算子的方法. 其中, 基于任务元信息的方法仅需要任务的高层描述信息进行建模, 基于计算图结构的方法需要任
                 务的计算图结构信息, 而基于可组合算子的方法则需要最细粒度的算子级别信息.
                    从性能模型的建模方法来看, 实测剖析法主要采用了基于分析的建模, 而基于计算图结构与任务元信息的方
                 法则主要基于数据驱动的思路, 通过离线训练的方式进行建模; 基于可组合算子的方法则对以上两类建模方法均
                 有所使用.
                    接下来, 将详细介绍这       4  大分类中的方法. 在后续表格中, “建模选型”列展示该性能建模方法使用的模型类型.
                 “分布式训练”列表示该方法是否支持对分布式训练任务的性能建模. “建模指标”列表示该方法支持建模的性能指
                 标. “任务/数据集”列简要展示实验验证其建模效果时所选取的建模对象. “效果”列简要展示该方法的建模性能, 其
                 中误差指的是     MRE  误差.

                 2.2   基于实测剖析的方法
                    表  1  展示了具有代表性的基于实测剖析的任务性能建模方法. 这类方法遵循以下流程: (1) 通过分析离线任务
                 分布式训练提供支持, Cynthia
                 的实测性能数据, 建立一个带参数的任务性能分析模型; (2) 使待建模任务在一种或多种实际硬件上运行多次迭
                 代, 以收集稳定的运行时特征; (3) 剖析实测的运行时特征以确定参数, 从而得到针对该任务的定制化性能模型.

                                             表 1 基于实测剖析的任务性能建模方法

                                 分布式         建模指标
                    成果    建模选型                                    任务/数据集                    效果
                                  训练 执行时间 吞吐率 收敛效率
                  Chronus [20]
                   Hydra [29]  分析模型  -   √     -     -         14种CNN、RNN模型           执行时间误差低 (约5%)
                   Allox [30]
                  Cynthia [31]  分析模型  √  √     √     -        ResNet32 [23] 、VGG-19 [26]  吞吐率误差低 (约1.6%–6.3%)
                  Synergy [32]  分析模型  -  -     √     -             ResNet18 [23]       吞吐率误差低 (约3%)
                  Optimus [33]  回归模型  √  √     -     √    InceptionBN [34] 、Seq2Seq [35] 等5种模型 收敛效率误差一般 (约9%)
                 Shockwave [36]  回归模型  √  √    √     -        Accordion [37] 、SimiGrad [38]  执行时间误差偏高 (约13%)
                 Daydream [39]  仿真模型  √  -     √     -        AMP [40] 、FusedAdam [41]  吞吐率误差低 (约2.8%)
                  Proteus [42]  仿真模型  √  -     √     -          9种CNN、RNN模型           吞吐率误差低 (约4.3%)

                    基于实测剖析的方法主要针对任务多样性提出解决方案. 面对内部结构复杂多样的任务, 可通过设计统一的
                 方法来提取与任务性能相关的运行时特征, 从而消除任务在结构层面的差异性, 有效地解决这一挑战. 实测剖析法
                 即采取该思路, 并结合回归模型、仿真模型以及基于规则的分析模型, 根据实测运行时特征对任务的性能进行建
                 模. 主要工作具体内容如下.
                    一些工作通过分析任务实测运行时特征与性能的关系, 设计基于规则的分析模型进行建模. 其中一些工作直
                 接利用深度学习训练的周期迭代性进行简单的实测建模, 如                    Chronus [20] 、Hydra [29] 及  Allox [30] 等方法. 它们假设任
                 务的总运行迭代次数已知为          n , 然后通过实测多次迭代, 获取迭代的平均时间            t i  , 从而预估最终的执行时间为     n×t i  .
                 然而, 这些简单实测方法开销较大, 不能有效支持分布式训练、大量异构资源等资源配置种类较多的场景. 为了对
                                        [31] 针对  PS  架构, 对  BSP (bulk synchronous parallel) 与  ASP (asynchronous parallel) 的
                 分布式训练数据同步方式进行了详细的底层分析, 最后分别基于超参数、计算量、通信量以及硬件资源分配量构
                 建分析模型, 通过实测补全模型参数来建模各类分布式配置的性能. 针对大量异构配置的情况, Synergy                            [32] 关注如
                 何降低实测开销. 该工作观察到, 当          GPU  类型不变时, CPU   与  GPU  的分配比例与训练性能之间存在可预测的变
                 化趋势, 仅需实测少量不同        CPU/GPU  分配比例下的性能即可快速分析其他情况的性能, 减少了实测开销. 这些基
                 于规则的分析模型能够较准确地应对特定场景                 (如  PS  架构) 的性能建模. 然而, 由于规则与场景存在强耦合关系,
                 当场景发生变化时, 这些方法需经过人工重新设计才能适配, 场景适应能力较差.
   164   165   166   167   168   169   170   171   172   173   174