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 架构) 的性能建模. 然而, 由于规则与场景存在强耦合关系,
当场景发生变化时, 这些方法需经过人工重新设计才能适配, 场景适应能力较差.