在训练过程中,各类随机因素会使得每次实验的训练过程并不完全一致,从而影响其LOSS曲线、性能曲线等无法完全重合。 然而,在重复实验与对比实验中有时需要确定性的计算结果,保证结果的可复现性。 为满足上述需求,引入了"确定性计算"功能,允许用户通过昇腾(Ascend)芯片确保多次训练结果的一致性,从而帮助性能调优、对照实验等工作。
要启用此功能,在脚本中加入--npu-deterministic,并配置环境变量export HCCL_DETERMINISTIC=true。seed默认为1234,也可自行设定
通过确定性计算功能,可保证同参数下多次实验具有相同的实验结果。
如果配置 HCCL_LOGIC_SUPERPOD_ID,集群通过 ROCE 通讯时,集群拓扑关系发生变化,集合通信也会产生不同行为,通讯算法的逻辑有区别,两者确定性方案不统一。