昇腾社区首页
中文
注册

基于训练场景的优化推荐

基于训练场景的优化推荐按照数据增强、正向-反向计算、梯度更新三个方面输出瓶颈识别和优化建议,并提供训练前置优化建议。

图1 基于训练场景的优化推荐

训练前置优化

建议用户在执行训练操作前进行如下优化。

优化建议

确认是否执行前置优化,前置优化包括训练迭代循环下沉、使能AUTO TUNE自动调优、混合精度、训练进程绑核等。

数据增强优化推荐

瓶颈识别

数据增强阶段耗时较大,耗时占比超过阈值0.1时建议优化。

优化建议

  1. 确认Host侧计算平台处理器类型,arm单核能力弱于x86。
  2. 对训练脚本进入迭代后,sess run、数据处理等阶段打点,根据打点时间分析性能瓶颈。如果确认训练脚本进入循环迭代后数据梳理耗时较大,建议用户优化脚本,如迭代下沉、单次处理多份数据、提高并行度。
  3. 部分数据增强操作可能在device侧执行,耗时可能和aicpu算子耗时相关。

正向-反向计算优化推荐

瓶颈识别

FP_BP阶段耗时,AICPU或AICORE算子执行时间,耗时占比超过阈值0.5时建议优化。

优化建议

如果AICPU算子执行时间占比较高,建议把TOP AICPU算子转为AICORE算子;如果AICORE算子执行时间占比较高,建议参考UB模型、Roofline模型分析算子融合优化、算子瓶颈识别及优化推荐。

梯度更新优化推荐

瓶颈识别

AR与FPBP未并行;AR切分比例不合理;AR切分后未并行部分耗时占比超过阈值0.5时建议优化。

优化建议

  • 开启hcom_parallel选项。
  • 调整AR切分融合策略。