集合通信耗时统计可根据MindStudio集群分析工具分析。
以下例所示,展示集合通信耗时分析流程,网络配置及部署参数如表1所示:
Vocab Size(v) |
Seq Length(s) |
Attn Heads(ah) |
Hidden Size(h) |
Layers(n) |
DP(d) |
TP(t) |
PP(p) |
卡数 |
Micro Batch Size(b) |
Global Batch Size(B) |
---|---|---|---|---|---|---|---|---|---|---|
51200 |
1024 |
96 |
12288 |
64 |
1 |
8 |
8 |
64 |
4 |
96 |
前向流程:
在timeline文件中框选模型前向流程的所有算子,并关注HcclAllgatherBase、HcclAllreduce、HcclBroadcast、HcclRecv、HcclReduceScatterBase与HcclSend等通信算子的出现次数。
反向流程:
在timeline文件中框选模型反向流程的所有算子,并关注HcclAllreduce通信算子的出现次数。
依据profiling文件中统计到的通信算子,结合网络配置及部署参数,可做如下集合通信次数分析:
All-Reduce额外的24个是每一次micro batch的前向第一个引入一个额外的All-Reduce,不在CheckpointFunction下
第一次broadcast数据的size,第二次broadcast数据的内存,是TP中对FeatureMap 的 broadcast