线性度指标

如果机器本身是多卡或多机的加速比接近高线性度(即线性度接近于1),说明在扩展时通信不是瓶颈,则通过改变或者增加通信带宽的性能提升,对于整体AI深度学习大模型训练的性能提升在通信问题中空间就会比较小。

并行处理的唯一目的就是节省时间,因此设置度量指标为线性度,或者说加速比(speed up)。

使用单机多卡或多机多卡进行AI分布式训练时,分布式通信的线性度可作为单卡训练扩展到多卡的性能指标,线性度的计算方式如下,单机内部的线性度:

其中,线性度为LinearityThroughput N为多卡吞吐率(NLP在LLM语言大模型中为tokens/s,CV大模型中以samples/s为基本单位),Throughput为单卡吞吐率,num为训练的卡数。

集群多机之间线性度为:

即集群线性度为多机吞吐率/(单机吞吐率*集群卡数),cluster为集群机器数量。

值得注意的是,线性度的取值范围为0~1,数值越接近于1,其性能指标越好。当线性度不高(例如小于0.8)并且排除了数据IO和CPU的本身因素影响后,可以判断此时分布式通信存在瓶颈。