hfreduce概览
hfreduce是幻方AI自研的高速模型并行训练工具,是幻方AIHPC“萤火二号”计算存储分离后,计算服务中的重要一环,根据萤火二号的集群特性专为计算节点设计的All Reduce工具。
本质上hfreduce相当于 PyTorch 中的 DistributedDataParallel(DDP),只不过使用 CPU 做加法运算以计算总梯度,而不是调用其他的集体通信库(CCL),比如说 NCCL,传递梯度到不同的显卡上,再各自计算总梯度。
为什么要这么设计呢?本期文章将为大家解密,详细介绍幻方AI设计hfreduce的背景与理念。文章会阐明hfreduce对模型训练整体加速的效果以及具体适用的场景。幻方现已开放AI训练平台,点击下方链接,体验幻方的AI加速。
背景
幻方AI之所以采用 CPU 来做加法运算,计算总梯度,是因为萤火二号上的计算节点配置比较特殊。
幻方的主要AI场景是金融行为分析、自然语言处理、生物分子结构预测等。在这些场景中,基本是数据规模大而模型大小适中。换句话说,在A100 显卡40G的显存中,完全可以装得下一个完整的模型和批次样本数据。因此,模型的加速主要是依赖大量的数据并行,让尽可能多的显卡参与训练,再同步梯度。
正是因为上述