智东西 09-14
算力浪费超50%!百度AI计算部负责人拆解大模型时代的算力成本
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

作者 | 徐豫

编辑 | 漠影

智东西 9 月 13 日消息,百度系统架构师、百度智能云 AI 计算部负责人王雁鹏向媒体解读了大模型时代的算力成本。为了有效降低 AI 万卡集群的算力开支,他提出搭载 RDMA 网络、自动并行策略、保证训练稳定性、动态分配算力、多芯异构混训,共五个方面的解决方案。

过去互联网时代,服务器每台数万元,各大厂商光是采购成本就要花费几个亿。高昂的支出促使互联网大厂自研服务器,百度也是其中一员,该公司自 2011 年起涉足计算基础设施建设。

然而,伴随深度学习的发展,GPU 集群来到万卡规模,大模型时代的算力成本已经远高于人力成本。王雁鹏称,当下浪费仅仅 1% 的算力,也是很大的一笔花销,算力之贵也体现出计算基础设施的重要性。

近期,不少业内人士认为," 兼容 CUDA 是 AI 芯片的决胜点 ",但王雁鹏并不认可这个观点。他解释道,不少模型兼容 CUDA 后,只留住了 1/3 的性能,失去了原有的竞争力。英伟达是基于 CUDA 构建了一个加速库生态,王雁鹏则认为,其中生态库的壁垒才是真正的难点。

一、当前的模型训练普遍吃掉了超 5 成算力

来到 AI 大模型时代,算力的复杂性已从硬件转移到了软件上,这也导致各大 AI 开发者利用算力的难度指数级上升。据百度系统架构师、百度智能云 AI 计算部负责人王雁鹏了解,现阶段的模型训练普遍浪费了超 5 成的算力。

最初的 CPU 通用计算时代,硬件和软件之间高度协同,假设 CPU 的性能提升了一倍,那么使用该 CPU 的软件,其性能也会相应地翻一番。

后续来到 GPU 数值加速计算时代,芯片架构更简单,以专注于提供最大的算力。开发者们通常利用 GPU 突出的算力优势,构建一系列复杂的加速库和框架,有针对性地适配不同应用场景。

目前,我们已处于 AI 大集群超算时代。单一的芯片已经不足以独立解决问题,因此需要大规模的芯片协同解决一个问题,GPU 集群规模甚至达到 10 万卡。

在王雁鹏看来,上述计算范式的变迁决定了计算体系机构的技术发展,而这种结构上的变化,又催生了云计算的技术和产品格局。" 云计算可以看作一种售卖 AI 基础设施的形式 ",他说道。

打个比方,现在可能只有一块 GPU,但其算力分给了 100 个人用;或者说一个训练任务被切分到十万张卡里运算,这背后需要充足的存储资源来支撑。

▲有效算力的 5 大参考指标

如何在大模型时代发挥出 AI 大集群的有效算力,王彦鹏给出了一个计算模型训练过程中有效算力的公式,即有效算力相当于能耗有效率(PUE)、单卡算力有效率(MFU)、并行扩展有效率、有效训练时间、资源利用这 5 项数据的乘积。

二、从五大维度释放万卡集群的 GPU 算力

为了解决大模型时代算力利用率低的难点,王彦鹏从有效算力公式中的五大方面入手,提出了 5 个有助于释放算力潜能的 GPU 设计理念。

1、为万卡 AI 场景设计的 RDMA 网络适配 AI 集群

传统的 IB 网络是为 HPC 设计的,并不适用于 AI 集群。这主要是因为两者的设计理念优先级存在冲突,HPC 是延迟优先,AI 则是吞吐优先。

据王彦鹏透露,百度长期基于 RDMA 网络构建万卡级别以上的 AI 集群,以减少内存带宽瓶颈。从数据结果来看,应用 RDMA 网络后 AI 集群的带宽有效率从 60% 提升至 95%,模型性能则增强了 5% 到 10%。

2、自动并行策略是 AI 集群最重要的演进范式

百度的自动并行策略搜索有两个核心策略。

一方面,百度采取了 " 边计算边通信 " 的方式,节省数据搬运所花费的时间,减少算力和能源损耗。

另一方面,显存优化的切分策略将运算中断所浪费的时间,控制在几分钟内。

▲百度通过 RDMA 网络支撑 AI 万卡集群的训练

得益于此,百度旗下的模型性能不仅能达到开源模型的 130%,也比人工调优的模型效果好。

3、保证稳定不间断的任务运行是一个系统工程

王彦鹏多次强调了稳定性在 AI 训练中起到的重要作用。AI 训练的计算任务是同步进行的,如果中途出现故障,万卡的故障定位是一个非常困难且不可控的事情。

同时,考虑到万卡规模的 AI 集群中断频率较高,通常是牵一发而动全身。王彦鹏提出," 无效训练时间 = 故障次数 * 故障恢复时间 + 写检查点的时间 "。因此,一旦某个点位出现故障,其影响可能被扩大了十万倍。

▲可以通过 3 个公式综合判断 AI 集群的训练效率

据王彦鹏介绍,百度通过 Hang 检测、慢节点检测、秒级捕捉检查点、分钟级任务恢复等方式,来定位和修复出现故障的单张芯片。目前,百度文心一言大模型的有效训练时长比例超 99%。

4、训练一体提升资源利用率

目前,主流模型训练存在以下 4 个劣势。

首先在线推理或计算任务当中,系统在峰值负载时的性能是平均负载时的 3 倍。这意味着系统在设计时预留了较多的算力以应对峰值。但 AI 集群的波峰和波谷其实较为明显,这也造成非峰值时资源的大量浪费,后续在设计上还可以进一步优化。

其次,大量微调模型存在冷热分布不均的情况。此外,其实有很多计算任务可以通过离线推理实现,但仍占用了一定的算力资源。最后,从单卡计算转向万卡计算时代,训练任务分布广、数量大。

对于上述问题,王雁鹏认为,总的来说是要实现算力流量和资源的动态分配,以便跑通不同规模的层级。百度的百舸异构计算平台(AIHC)运用单机多推理实力混合布局、弹性层级队列、训练任务弹性伸缩机制三种模式后,公司内部和客户的资源利用率都从 50% 提升到了 90%。

5、多芯混训是解决算力卡脖子的关键技术

据王雁鹏介绍,目前市面上的芯片规格、版本、存量和算力水平都参差不齐。他提出,可以用一套兼容的框架将各式各样的芯片组合起来,形成一个强大的算力集群。

有共同的 " 大脑 " 后,AI 开发者可以通过该集群统一调动所有芯片的算力,从而提高效率、节省开支。

百度在异构并行切分策略下,搭建了跨芯沟通库,并采用了 Accelerator 抽象设计方法,从而实现千卡性能损失仅 3%,以及万卡性能损失仅 5%。

不过,王雁鹏也谈道,多芯的异构混训虽然理论上可行,但实际推广起来,还有诸多技术难点亟待解决。

结语:突破 3 个核心技术,为十万卡集群做准备

目前,美国 AI 大模型独角兽 OpenAI 和 xAI 的模型训练规模已卷到 10 万卡级别,百度也将加入这场围绕 AI 集群算力的竞争,算力应用场景则聚焦于大语言模型和自动驾驶技术。

王雁鹏向媒体透露,后续百度将持续在 3 个核心技术上寻求芯片设计架构的突破。

首先是实现更高效的拓扑和拥塞控制,该公司希望将无阻塞 RDMA 域扩大 10 倍。

除此之外,百度计划将跨地域的 RDMA 网络范围扩大至方圆 30km 内。

王雁鹏称,现阶段百度的万卡集群平均 4 个小时会中断 1 次,如果扩展到 10 万卡集群,可能 20 分钟左右就会出现一次中断。现阶段,其模型比较稳定的恢复时间介于 10 到 20 分钟之间,未来致力于达到分钟级别。

宙世代

宙世代

ZAKER旗下Web3.0元宇宙平台

逗玩.AI

逗玩.AI

ZAKER旗下AI智能创作平台

相关标签

ai 百度 gpu 基础设施 芯片
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论