界面介绍
功能说明
Summary界面提供通信域识别、划分和耗时拆解、分析功能。支持自动识别通信域,用户也可自行配置;支持按照通信域对比stage耗时、计算耗时和通信耗时,从而分析同一通信域内的切分是否均匀,是否存在通信慢卡和慢链路问题,帮助开发者快速识别问题。
界面展示(Pipeline Parallel)
当并行策略区域选择“Pipeline Parallel”页签时,Summary界面由Base Info(区域一)和流水线并行概览(区域二)组成,如图1所示。
- 区域一:Base Info,数据的基本信息,包括设备和迭代数量、性能数据大小、数据采集时长以及并行策略信息等,并行参数解释如表1所示。
表1 并行参数 字段
说明
Algorithm
默认Megatron,是固定值。
Megatron是一种用于训练大规模深度学习模型的分布式训练框架和算法,通过高效利用计算资源和内存来加速深度学习模型的训练过程。
PP Size
流水线并行大小。
流水线并行(Pipeline Parallelism)通过将模型的不同层次分布在不同的节点上执行,在一个节点执行当前批次数据时,另一个节点可以处理下一个批次的数据。
TP Size
张量并行大小。
张量并行(Tensor Parallelism)是一种将模型参数划分成多个部分,并分布到不同节点上进行计算。
DP Size
数据并行大小。
数据并行(Data Parallelism)将训练集分成不同多个批次,分配到不同节点上进行计算。
- 区域二:流水线并行概览,展示的是硬件节点耗时数据和节点传输间隔耗时数据,右侧图表展示的是各卡的Stage Time和Bubble Time耗时,左侧图表是以Stage为维度展示Stage Time和Bubble Time的平均值,参数解释请参见表2所示。
表2 流水线并行概览页 字段
说明
Step
迭代ID,下拉框支持选择某一个迭代。
Stage
流水线并行分组,下拉框支持选择分组,与并行策略区域流水线并行的卡分组对应。
Stage Time
硬件节点实际计算时间。
流水线并行时,stage时间表示的是节点运行除receive算子时间外的其他耗时。
Bubble Time
receive算子时间,表示硬件节点执行过程中,receive算子耗时总和。
- 单击柱状图区域右上角
按钮,可以列表形式查看柱状图中的显示的数据。
- 单击柱状图区域右上角
按钮,使其置灰,则柱状图将锁定,不再支持鼠标左键框选放大功能;再次单击此按钮,恢复鼠标左键框选放大功能。放大功能默认开启。
- 单击柱状图区域右上角
按钮,柱状图将会撤销一次放大操作。
- 单击柱状图区域右上角
按钮,柱状图将会恢复最初状态。
- 单击柱状图区域右上角
界面展示(Tensor/Data Parallel)
当并行策略区域选择“Tensor/Data Parallel”页签时,Summary界面由Base Info(区域一)、Computation/Communication Overview(区域二)、Computing Detail(Rank ID)(区域三)和Communication Detail(Rank ID)(区域四)四个部分组成,如图2所示。
- 区域一:Base Info;数据的基本信息,包括设备和迭代数量、性能数据大、数据采集时长以及并行策略信息等,并行参数解释如表3所示。
表3 并行参数 字段
说明
Algorithm
默认Megatron,是固定值。
Megatron是一种用于训练大规模深度学习模型的分布式训练框架和算法,通过高效利用计算资源和内存来加速深度学习模型的训练过程。
PP Size
流水线并行大小。
流水线并行(Pipeline Parallelism)通过将模型的不同层次分布在不同的节点上执行,在一个节点执行当前批次数据时,另一个节点可以处理下一个批次的数据。
TP Size
张量并行大小。
张量并行(Tensor Parallelism)是一种将模型参数划分成多个部分,并分布到不同节点上进行计算。
DP Size
数据并行大小。
数据并行(Data Parallelism)将训练集分成不同多个批次,分配到不同节点上进行计算。
- 区域二:Computation/Communication Overview;计算及通信概览,柱状图展示计算或通信算子的迭代耗时数据,折线图展示计算或通信算子的耗时占比数据,界面参数解释请参见表4所示。
表4 Computation/Communication Overview 字段
说明
Step
迭代ID,下拉框支持选择某一个迭代或者所有迭代。
Rank Group
节点ID,下拉框支持选择一个、多个或者所有节点。
Order By
横坐标将从左至右根据选中迭代下的集群节点按以下时长进行降序排列:- Computing:计算时长。
- Communication(Overlapped):被覆盖的通信时长,包含在计算时长内。
- Communication(Not Overlapped):未被覆盖的通信时长,即纯通信时长。
- Free:间隙时长。
Top
可通过配置Top参数值选择展示“Order By”的TopN条数据。
Time(us)
左侧纵坐标表示时长,单位us。
总时长 = 计算时长 + 未被覆盖的通信时长 + 间隙时长
Ratio
右侧纵坐标表示耗时占比,包括以下占比信息:
- Computing Ratio:计算耗时占比 = 计算时长 / 总时长
- Communication Ratio:通信耗时占比 = 未被覆盖的通信时长 / 总时长
- 区域三:Computing Detail(Rank ID);单击区域二中某个节点的柱状图时,将展示该节点加速核的总耗时和利用率,单击对应的“details”后展示计算算子的详细信息,如图3所示,字段解释如表5所示。
表5 计算详情字段说明 字段
说明
Accelerator Core
AI加速核类型,包括AI Core、AI CPU等。
Accelerator Core Durations(μs)
加速核的总耗时。
Name
算子名称。
Type
算子类型。
Start Time(ms)
算子执行开始时间。
Duration(μs)
当前算子执行耗时。
Wait Time(μs)
算子执行等待时间。
Block Dim
运行切分数量,对应任务执行时的核数。
Input Shapes
算子输入Shape。
Input Data Types
算子输入数据类型。
Input Formats
算子输入数据格式。
Output Shapes
算子输出Shape。
Output Data Types
算子输出数据类型。
Output Formats
算子输出数据格式。
- 区域四:Communication Detail(Rank ID);单击区域二中某个节点的柱状图时,将展示该节点通信算子的总耗时(包含未被覆盖的通信时长和被覆盖的通信时长),单击对应的“details”后展示通信算子的详细信息,如图4所示,字段解释如表6所示。