界面介绍
功能说明
概览(Summary)界面提供通信域识别、划分和耗时拆解、分析功能。支持自动识别通信域,用户也可自行配置;支持按照通信域对比stage耗时、计算耗时和通信耗时,从而分析同一通信域内的切分是否均匀,是否存在通信慢卡和慢链路问题,帮助开发者快速识别问题。
界面展示
概览(Summary)界面由基本信息(Base Info)(区域一)和并行策略分析(Parallel Strategy Analysis)(区域二)组成,如图1所示。
- 区域一:基本信息(Base Info),数据的基本信息,包括设备和迭代数量、性能数据文件大小、数据采集时长等信息。
“Profiling数据采集时长”在TEXT场景和DB场景下可能存在差异,TEXT场景下,Profiling数据采集时长是以采集到数据的时间为起始,数据结束为终止的时间周期,DB场景下,Profiling数据采集时长是以数据采集开始时间为起始,数据采集结束时间为终止的时间周期,二者的微小差异对于Profiling数据分析无影响。
- 区域二:并行策略分析(Parallel Strategy Analysis),包括并行策略概览、计算/通信概览、计算详情(Rank ID)、通信详情(Rank ID)以及流水并行图。
- 并行策略概览包括并行策略设置和并行策略图展示,如图2所示,并行策略参数解释如表1所示。当设置好并行策略后,可分别选择“DP 维度”、“DP + PP 维度”、“DP + PP + CP 维度”或“DP + PP + CP + TP 维度”展示并行策略图,选择图中卡片,可悬浮显示该卡或该通信分组的耗时详情。
表1 并行策略参数 中文字段
英文字段
说明
算法
Algorithm
可选项,可选择为Megatron-LM(tp-cp-ep-dp-pp)、Megatron-LM(tp-cp-pp-ep-dp)或MindSpeed(tp-cp-ep-dp-pp)。
Megatron-LM是一种用于训练大规模深度学习模型的分布式训练框架,通过高效利用计算资源和内存来加速深度学习模型的训练过程,其中tp、cp、dp、pp、ep表示逻辑卡号的编号顺序。
MindSpeed是昇腾AI处理器专用的大模型加速库,包括Megatron特性支持、序列并行优化、MoE特性支持、内存优化、亲和计算、通信优化等几大特性模块。
PP大小
PP Size
流水线并行大小。可自行配置,取值范围:1~10000。
流水线并行(Pipeline Parallel)通过将模型的不同层次分布在不同的卡上执行,在一个卡执行当前批次数据时,另一个卡可以处理下一个批次的数据。
TP大小
TP Size
张量并行大小。可自行配置,取值范围:1~10000。
张量并行(Tensor Parallel)是一种将模型参数划分成多个部分,并分布到不同卡上进行计算。
CP大小
CP Size
上下文并行大小。可自行配置,取值范围:1~10000。
上下文并行(Context Parallel)将训练样本按序列长度和维度划分为不同批次,分配到不同卡上进行计算。CP分割网络输入和所有激活值,是改进版的序列并行(Sequence Parallelism,SP)。
DP大小
DP Size
数据并行大小。可自行配置,取值范围:1~10000。
数据并行(Data Parallel)将训练集分成不同多个批次,分配到不同卡上进行计算。
EP大小
EP Size
专家并行大小。可自行配置,取值范围:1~10000。
专家并行(Expert Parallel)是一种专门为MoE模型(Mixture of Experts)设计的并行方法。它将专家分配到不同的计算设备上,每个设备负责处理一部分训练样本,并且每个设备上可以包含一个或多个专家。
- 当选择Megatron-LM算法时,EP大小应小于等于DP大小,且DP可被EP整除。
- 当选择MindSpeed算法时,DP X CP应能被EP整除。
数据类型
Data Type
可按照数据类型展示并行策略图,可选的数据类型参数根据选择的域维度而变化。
- 当选择“不展示”时,表示不展示数据类型,即并行策略图上的卡片信息为默认状态。
- 当选择其余参数时,会在选框后显示该参数的“筛选范围”和色条,筛选范围值为该参数值的最小值和最大值,且并行策略图上的卡片会按照对应值被渲染填色,可直观的查看各卡性能情况。
- 计算/通信概览(Computation/Communication Overview),计算及通信概览,柱状图展示计算或通信算子的迭代耗时数据,折线图展示计算或通信算子的耗时占比数据,专家建议(Advice)是对计算通信域内各卡的计算时间、通信时间(未被覆盖)和空闲时间进行数据分析后给出的建议,帮助开发者快速分析,如图3所示,参数解释请参见表2所示。
仅当选择“DP + PP + CP + TP 维度”时,计算/通信概览中存在折线图和专家建议。
表2 计算/通信概览 中文字段
英文字段
说明
迭代ID
Step
迭代ID,下拉框支持选择某一个迭代或者所有迭代。
通信域
Rank Group
节点ID,下拉框支持选择一个、多个或者所有节点。
排序方式
Order By
根据不同维度选择排序方式。
- DP + PP + CP + TP维度
- 卡序号(Rank ID):卡序号。
- 计算时间(未被覆盖)(Computing(Not Overlapped)):计算时间(未被覆盖) = 计算时间 – 计算通信间覆盖时间。
- 计算通信间覆盖时间(Computing_Communication Overlapped):被计算覆盖的通信时长。
- 通信时间(未被覆盖)(Communication(Not Overlapped)):通信时间(未被覆盖) = 通信时间 – 计算通信间覆盖时间。
- 空闲时间(Free):device侧既不在通信也不在计算的时间。
- 预处理时间(Preparing):迭代开始到首个计算或通信算子运行的时间。
- 计算占比(Computing Ratio):计算时间占总时间的占比,总时间 = 计算时间 + 通信时间(未被覆盖) + 空闲时间。
- 通信占比(Communication Ratio):通信时间占总时间的占比。
- DP + PP + CP维度:排序方式分别为卡序号、最大计算时间、最大通信时间、最大空闲时间、最大总时间(计算、通信(未被覆盖)、空闲时间的总和)。各参数的“最大”是指每个TP通信域内取最大值。
- DP + PP维度:排序方式分别为卡序号、最大计算时间、最大通信时间、最大空闲时间、最大总时间(计算、通信(未被覆盖)、空闲时间的总和)、最大通信时间(未被覆盖)。各参数的“最大”是指对每个DP + PP + CP维度通信域内取最大值。
- DP维度:排序方式分别为卡序号、最大计算时间总和、最大通信时间的总和、最大空闲时间的总和。即对DP + PP维度的最大时计算时间、最大通信时间、最大空闲时间分别求和。
前
Top
可通过配置Top参数值选择展示“排序方式”的TopN条数据。
Time(μs)
Time(μs)
左侧纵坐标表示时长,单位μs。计算方式如下:
总时间 = 预处理时间 + 纯计算时间 + 通信时间(被覆盖) + 通信时间(未被覆盖)+ 间隙时间,其中Preparing为数据预处理时间。
Ratio
Ratio
右侧纵坐标表示耗时占比,包括以下占比信息:
- 总计算比例(Computing Ratio):总计算耗时占比 = 总计算时间 / 总时间。
- 通信比例(Communication Ratio):通信耗时占比 = 未被覆盖的通信时长 / 总时间。
专家建议
Advice
慢卡分析建议,是对计算通信域内各卡的计算时间、通信时间(未被覆盖)和空闲时间进行数据分析后给出的专家建议。
慢卡分析规则(以计算时间为例):如果通信域内各卡的计算时间(最大值-最小值)/各卡总时间(计算时间+通信时间(未被覆盖)+空闲时间)的平均值大于5%,说明计算时间有异常。
- DP + PP + CP + TP维度
- 计算详情(Rank ID)(Computing Detail(Rank ID)),仅当选择“DP + PP + CP + TP 维度”时,单击计算/通信概览区域中某个节点的柱状图时,将展示该节点加速核的总耗时和利用率,单击对应的“详情”后展示计算算子的详细信息,如图4所示,字段解释如表3所示。
表3 计算详情字段说明 中文字段
英文字段
说明
加速器核
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)),仅当选择“DP + PP + CP + TP 维度”时,单击计算/通信概览区域中某个节点的柱状图时,将展示该节点通信算子的总耗时(包含未被覆盖的通信时长和被覆盖的通信时长),单击对应的“详情”后展示通信算子的详细信息,如图5所示,字段解释如表4所示。
表4 通信详情字段说明 中文字段
英文字段
说明
加速器核
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)
通信算子执行等待时间。
- 仅当选择“DP + PP + CP + TP 维度”时,单击并行策略图中单卡图标,出现连线,单击流水线并行连线,会展示流水并行图,如图6所示。
- 并行策略概览包括并行策略设置和并行策略图展示,如图2所示,并行策略参数解释如表1所示。当设置好并行策略后,可分别选择“DP 维度”、“DP + PP 维度”、“DP + PP + CP 维度”或“DP + PP + CP + TP 维度”展示并行策略图,选择图中卡片,可悬浮显示该卡或该通信分组的耗时详情。