Algorithm Powers Innovation
算法驱动创新
Algorithm Powers Innovation
算法驱动创新
在人工智能领域,计算效率是决定技术进步的关键因素之一。华为昇腾云作为业界领先的AI计算集群,凭借其卓越的线性度等性能优势,正颠覆传统计算模式,为用户带来前所未有的高效体验。
昇腾云AI集群的线性度,指的是随着计算任务规模的增加,昇腾云能够保持近乎完美的性能提升比例,这意味着在处理大规模数据集时,昇腾云能够以近乎线性的速度扩展计算能力,大幅缩短训练和推理时间,从而极大提高AI应用的效率和响应速度。
这一成就的背后,是华为云在AI计算架构上的深思熟虑与技术创新。昇腾云依托华为自研的昇腾系列处理器,这些处理器专为AI工作负载优化,采用高度并行的计算架构,能够在多核并行运算中展现出色的线性加速特性。结合昇腾云ModelArts平台的智能调度算法,可以确保计算资源的高效分配,避免资源浪费,使得计算性能随任务规模的增长而稳定提升。
为何线性度的提升是一个挑战性的难题?
随着模型参数量越来越大,训练千亿乃至万亿级别的大模型需要的算力也越来越多,在大规模集群上进行训练需要使用分布式并行训练方法,现有的主流并行方法有两大类,对模型本身进行切分的张量并行和流水线并行,以及对训练数据进行切分的数据并行,多种并行方式的混合应用使得千卡、万卡集群的AI训练成为可能。而不同的并行方式均有各自的优缺点,以流水线并行为例,计算单元在流水线并行的等待时间,我们称之为bubble,千卡集群的bubble通常在10%,在更大规模的集群上bubble可能增长为30%,这就严重影响了集群算力的利用率,另外一方面,在规模增大的过程中,并行训练在大规模AI集群间会有非常大的通信流量冲突需要去解决,导致大规模集群的线性度通常低于80%。
大模型训练常用的数据并行、张量并行、流水线并行及三种并行的组合
不同的并行方式会有不同的集合通信需求:张量并行会带来ALL-Gather/Reduce-Scatter的通信需求,数据并行需要使用ALL-Reduce来同步梯度信息,流水线并行则会需要Send/Receive通信。如何减少训练过程中分布式并行所需要的通信时间,直接关系到集群的线性度性能。华为集合通信库HCCL (Huawei Collective Communication Library)提供了高性能集合通信算法,例如Ring算法、Halving and Doubling算法,来提升大规模并行的效率。
集合通信算法:左图为Ring算法示意,右图为Halving and Doubling算法示意
在此基础上,昇腾云进一步在以下三个方面持续优化。
首先,通过通信隐藏技术,将大块的计算和通信切分成多个小块的计算和通信的副本,然后系统会自动编排多个副本间计算和通信的执行顺序,小块的通信更容易被隐藏在计算中。
其次,为了解决大集群中的调度与通信优化问题,通过Rank映射编排算法,将大流量放在节点内或者同一级路由的节点之间,减少了跨路由器的通信。
最后,当跨路由器的通信不可避免时,如何减少冲突成为了影响性能的关键,华为云通过动态源端口编排算法,实现集群通信的路径完全无冲突。
经过以上这些方法,我们可以有效隐藏70%以上的通信,达到千卡、万卡集群线性度超过90%的效果。AI集群的高线性度,对于那些依赖大规模数据处理和复杂模型训练的行业尤为重要。例如,在自动驾驶、基因测序、高性能计算等领域,好的线性度能够显著加快数据处理速度,减少等待时间,使得科研人员和工程师能够更快地获取分析结果,加速产品和服务的迭代升级。
不仅如此,更高的线性度还意味着更低的能耗和成本。在同等计算任务下,昇腾云能够以更少的硬件资源达到更高的计算效率,这不仅有助于降低企业的运营成本,也是对环境友好型计算理念的践行。
华为昇腾云,用其卓越的线性度性能优势,正在重塑AI计算效率的标准。无论是科研机构、初创企业,还是大型跨国公司,昇腾云都将成为他们加速AI创新、赢得竞争优势的强有力引擎。让我们共同期待昇腾云继续引领AI计算领域的发展,为人类社会带来更多创新成果与智慧结晶。