在过去的互联网时代,每台服务器的价格动辄数万元,各大厂商仅采购成本就高达数亿元。高昂的成本促使互联网巨头纷纷研发自己的服务器,百度就是其中之一。该公司从2011年开始涉足计算基础设施建设。
但随着深度学习的发展,GPU集群已经达到了数万卡的规模,大模型时代的算力成本已经远远超过人力成本。王彦鹏表示,目前来看,浪费哪怕1%的算力也是一笔巨大的开支,算力成本的高昂也体现了计算基础设施的重要性。
近期,不少业内人士认为“CUDA兼容是AI芯片成败的关键”,但王彦鹏却不这么认为。他解释称,很多模型在兼容CUDA之后,性能只保留了1/3,失去了原有的竞争力。已经基于CUDA构建了加速库生态,但王彦鹏认为,生态库的壁垒才是真正的难点。
1. 当前模型训练普遍消耗50%以上的算力
在AI大模型时代,算力的复杂度从硬件转向软件,这也导致各大AI开发者使用算力的难度呈指数级增长。据百度系统架构师、百度智能云AI计算部负责人王彦鹏介绍,目前的模型训练普遍浪费了50%以上的算力。
在CPU通用计算的早期,硬件和软件的配合程度很高,CPU的性能提高一倍,那么使用CPU的软件的性能也会相应提高一倍。
后来到了GPU数值加速计算时代,芯片架构更加简单,专注于提供最大的算力,开发者通常会利用GPU出色的算力,构建一系列复杂的加速库和框架,有针对性地适配不同的应用场景。
现在已经进入大规模AI集群超算时代,单颗芯片已经不足以独立解决一个问题,需要大量芯片协同解决,GPU集群规模甚至可以达到10万张卡。
在王彦鹏看来,上述计算范式的变化决定了计算体系结构的技术发展,而这种结构性变化催生了云计算的技术和产品格局。“云计算可以看作是卖AI基础设施的一种形式。”他说。

比如可能只有一块GPU,但是它的算力却被100个人共享;或者一个训练任务被分成10万块卡进行计算,这就需要足够的存储资源来支撑。
▲有效算力的五大参考指标
为了在大模型时代释放大型AI集群的有效算力,王彦鹏提出了模型训练过程中有效算力的计算公式,有效算力相当于电能使用效率(PUE)、单卡算力效率(MFU)、并行扩展效率、有效训练时间、资源利用率五项数据的乘积。
2、从五个维度释放Wanka集群GPU算力
为破解大模型时代算力利用率低下的难题,王彦鹏从有效算力公式五个方面入手,提出了五种有助于释放算力潜力的GPU设计理念。
1. 为 Wanka AI 场景设计的 RDMA 网络适配 AI 集群

传统的IB网络是为HPC设计的,并不适合AI集群,这主要是因为两者的设计优先级存在冲突:HPC优先考虑延迟,而AI优先考虑吞吐量。
据王彦鹏介绍,百度早已基于RDMA网络建设万卡以上的AI集群,以减少内存带宽瓶颈。从数据结果看,应用RDMA网络后,AI集群带宽效率从60%提升到95%,模型性能提升5%到10%。
2. 自动并行策略是人工智能集群最重要的演进范式
百度的自动并行策略搜索有两个核心策略。
一方面,百度采取“边计算边通信”的方式,节省数据传输的时间,降低算力和能源的损耗。
另一方面,内存优化分段策略将计算中断所浪费的时间控制在几分钟之内。
▲百度通过RDMA网络支持AI Wanka集群的训练
得益于此,百度的模型性能不仅可以达到开源模型的130%,而且比手动调优的模型还要好。
3.保障任务稳定不间断运行是一个系统工程
王彦鹏多次强调稳定性在AI训练中的重要作用,AI训练的计算任务都是同步进行的,如果中途出现故障,万卡想要定位故障位置将非常困难且不可控。
同时考虑到数万卡规模的AI集群中断频率高,单一故障往往影响整个系统。王彦鹏提出“无效训练时间=故障次数*故障恢复时间+写检查点时间”。因此,一旦某个点发生故障,其影响可能会被放大10万倍。
▲可以通过3个公式综合判断AI集群的训练效率

王彦鹏介绍,百度通过Hang检测、慢节点检测、检查点秒级捕获、分钟级任务恢复等方法对出现故障的单片机进行定位和修复,目前百度文心易言模型的有效训练时间占比超过99%。
4. 综合培训提高资源利用率
目前主流的模型训练存在以下四个缺点。
首先,在线上推理或者计算任务中,系统在峰值负载下的性能是平均负载下的三倍。这意味着系统在设计时预留了更多的计算能力来应对峰值负载。但AI集群的峰值和低谷其实还是比较明显的,这也造成了非峰值时段的大量资源浪费,未来设计可以进一步优化。
其次,大量微调模型存在冷热任务分布不均的问题;另外,很多计算任务其实可以通过离线推理来实现,但还是占用了一定的计算资源;最后,从单卡计算时代走向万卡计算时代,训练任务分布广泛,数量庞大。
王彦鹏认为,总体目标是实现算力、流量、资源的动态分配,以贯穿不同规模层级。百度AIHC平台采用单机多推理混合布局、弹性分层队列、训练任务弹性伸缩机制三种模式,将公司及客户的资源利用率从50%提升到90%。
5.多核混合训练是解决算力瓶颈的关键技术

王彦鹏介绍,目前市场上芯片的规格、版本、存量、算力水平都参差不齐,他提出,可以采用一套兼容的框架,把各种芯片组合起来,形成强大的计算集群。
有了共同的“大脑”,AI开发者就可以通过集群调动所有芯片的算力,提高效率,节省成本。
在异构并行切分策略下,百度构建了跨核心通信库,并采取抽象设计方法,实现了千卡性能损失仅3%,万卡性能损失仅5%。
不过王彦鹏也表示,多核异构混合训练虽然在理论上可行,但在实际推广中仍有不少技术难点需要解决。
结论:突破三大核心技术,为十万卡集群做好准备
目前,美国AI大模型独角兽、xAI的模型训练规模已达到十万卡级别,百度也将加入围绕AI集群算力的竞争,而算力的应用场景将聚焦在大型语言模型、自动驾驶技术等方面。
王彦鹏向媒体透露,百度将在三大核心技术上继续寻求芯片设计架构的突破。
首先是实现更高效的拓扑和拥塞控制,同时公司希望将非阻塞RDMA域扩大10倍。
此外,百度计划将跨区域RDMA网络范围拓展至半径30公里以内。
王彦鹏表示,目前业界万卡集群平均4小时就会中断一次,如果扩展到十万卡集群,可能每20分钟就会发生一次中断。目前百度模型的训练故障恢复时间在10到20分钟之间,未来致力于实现分钟级。


