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