一半以上算力被浪费了?大模型时代,算力如何用才能更省钱?

全文3014字,阅读约需9分钟,帮我划重点

划重点

01大模型时代,企业训练大模型的算力有效利用率不足50%,导致大量算力被浪费。

02为此,百度智能云连续3年升级百舸AI异构计算平台,以提高算力有效利用率。

03其中,降低PUE、提升单卡算力有效率、并行扩展有效率、有效训练时间和资源利用率是五大核心技术难题。

04通过自主研发的大模型训推加速套件AIAK,百舸平台实现了70%以上的MFU提升。

05同时,百舸平台将故障恢复时间从小时级降低到分钟级,提升了资源利用率。

以上内容由腾讯混元大模型生成,仅供参考

人工智能时代,大模型的发展正迅速带动智能算力需求的大爆发。但与此同时,算力利用率与训练成本之间的矛盾也在日益凸显。

“2024年大模型市场发展迅速,很多企业加大了在大模型领域的投入,但大家在大模型训练时遇到了一个共性问题,那就是算力利用率很低。”9月13日,百度杰出系统架构师、百度智能云AI计算部负责人王雁鹏,在一场由百度智能云举办的媒体技术沙龙上表示。

“很多人说,现在有50%的算力都是被浪费了,我觉得一点也不夸张。”王雁鹏称,目前企业训练大模型的算力有效利用率不足 50%,在算力短缺且昂贵的当下,这无疑是一种巨大的浪费。

业界观察,在这种大背景下,如何提升算力的有效利用率,正在成为业界共同的努力方向。产业链上不少玩家都已围绕大模型算力相关的各个环节展开积极探索。

王雁鹏则指出,算力有效利用率=能耗有效率✖单卡算力有效率✖并行扩展有效率✖有效训练时间✖资源利用率。其中每一项都是乘积关系,任何一项的表现有细微偏差,都会对整体算力利用率产生系统性影响。

“然而,目前一个行业共识的难点是,提升任意一项都绝非易事,系统性提升更是难上加难。”王雁鹏介绍,为此,针对以上5大核心技术难题、系统性提升GPU算力的有效利用率,百度智能云已经连续3年升级百舸AI异构计算平台。而在9月25日即将举办的2024百度云智大会上,针对大模型的训练和推理服务,百舸还将再次升级。

图片

如何提升能耗有效率?

降低数据中心能耗,中国电网比美国有优势

“大家都在说,算力供给比拼的终局是能源供给。”王雁鹏表示,最新数据显示,在整个社会用电量中,大约有 1% 至 3% 的电力消耗在计算领域,大模型训练对电力的消耗极为巨大。因此,如何实现电力的有效利用,让电力用在任务上而不是用在散热上,已然成为当前行业所面临的一项巨大挑战。而在这件事上,业界观察,基于此前电网方面的基建情况,中国电网可能会比美国更有优势。

具体来看,数据中心能源效率的指标通常用 PUE(Power Usage Effectiveness)来衡量,PUE 值越低意味着数据中心的能源效率就越高,即更多的能源被用于实际的计算任务(IT 设备),而较少的能源被浪费在辅助设施上。因此,降低 PUE 对于提高算力的有效利用率至关重要。

“从百舸的实践来看,为了降低 PUE,通常的做法是优化数据中心的制冷系统、提高设备的能效。百度云自建数据中心的平均 PUE 小于 1.1,目前业界平均水平为大于 1.2,这主要归功于百度云领先的数据中心制冷方案。”王雁鹏表示,百度云在自建的数据中心里采用自研的液冷方案。相较于传统的风冷方案,该液冷方案能够实现机器性能提升 10%,同时使机器故障率降低 60%-70%。

如何提升单卡算力有效率?

使用AI加速套件,提升大模型训练的MFU

GPU 最初是为图形处理而设计的,其具有大量的并行计算单元,擅长处理大规模的并行计算任务。然而,在用于通用计算尤其是人工智能模型训练时,会面临一些限制。

一方面,GPU 的内存架构和数据传输机制会导致瓶颈。虽然 GPU 拥有高速的显存,但在处理大规模数据时,数据在显存和系统内存之间的传输可能会成为性能瓶颈,影响算力的充分发挥。

另一方面,GPU 的指令集和编程模型也可能限制其算力的发挥。GPU 的指令集通常是针对图形处理优化的,对于一些复杂的通用计算任务,可能需要进行大量的指令转换和优化才能高效执行。

业界通常使用 MFU(Model FLOPS Utilization)这个参数来去衡量 GPU 的有效利用率。MFU 越高,算力利用率越高。业内通常提升 MFU 的做法主要包括:进行算法优化、使用 AI 加速套件等方式。

“如何提升 MFU 呢?”王雁鹏表示,针对 GPU 有效利用率低这一问题,百舸选择的路径是:自主研发出了大模型训推加速套件 AIAK。该套件针对主流开源大模型,在显存、算子等层面进行了深度优化,相比于英伟达自研的算子加速库,实现了10%的性能提升。同时,在主流开源大模型训练任务中,能够将 MFU 大幅提升至 70% 以上,达到了行业领先水平。

如何提升并行扩展有效率?

使用自动并行策略,降低策略调优时间

为了提高训练效率、缩短训练时间以及处理大规模数据和模型,大模型训练通常采用并行训练方式。并行训练是指利用多个计算资源同时进行模型训练的过程,以往的并行训练需要手动进行复杂的并行编程和任务分配,这种方式效率低、上手难度高。

王雁鹏表示,自动并行策略的出现为解决这些难题带来了重大突破。

自动并行策略通过自动分析计算任务和计算资源,实现了任务在多个计算单元上的合理分配并行执行,这一方式具有多方面的显著优势。首先,它能够充分利用计算资源,避免了资源的闲置和浪费。无论是 CPU、GPU 还是分布式计算节点,都能被高效地调动起来,共同为复杂的计算任务服务。其次,它大大降低了开发难度,开发者无需再进行繁琐的手动并行编程和任务分配,只需专注于计算任务的逻辑实现,极大地提高了开发效率。最后,自动并行策略显著提高了计算效率,通过合理的任务分配和资源利用,能够大幅缩短计算时间,为各种应用场景的快速迭代和优化提供了有力支持。

以百度云为例,百舸平台提供的大模型训推加速套件AIAK在并行策略方面进行了深度优化,与开源方案相比,实现了30%的性能提升。同时,使模型并行策略调优时间大幅降低,从原先的小时级缩短至分钟级。这种高效的调优能力使得开发者能够更加快速地进行模型训练和优化,极大地提高了工作效率。

如何提升有效训练时间?

提升AI基础设施稳定性,减少故障恢复时间

Meta 在近期的一份研究报告中揭示了训练 Llama3-405B 参数模型的重大挑战:该系统在包含 16384 个英伟达 H100 GPU 的集群上运行,在训练期间平均每三个小时就发生一次故障, 54 天内经历了 419 次意外故障。大规模计算任务的复杂性使得故障几乎成为必然。

马斯克近日也分享了一段全新「Cortex」AI 超级集群的视频。它位于特斯拉奥斯汀总部,建成后将包含 50,000 个英伟达 H100 和 20,000 台特斯拉硬件,是“世界上最强大的 AI 训练集群”。但有了 Meta 的前车之鉴,业内普遍认为,按 GPU 规模比例来看,「Cortex」AI 超级集群可能会面临指数级更高的故障率,预计每10-20分钟就会出现一次故障,这给其未来的 AI 训练带来了更大的挑战。

大模型时代,企业需要稳定性高的 AI 基础设施已成为行业共识。但到底如何提高 AI 基础设施的稳定性?

“Meta 开发了多种工具和优化策略,优化措施包括缩短任务启动和检查点时间,并广泛采用 PyTorch 自带的 NCCL 飞行记录器进行故障诊断,以及识别通信缓慢的节点。目前实现了模型训练任务 90%以上的有效训练时间。”王雁鹏观察称。

百度云也在稳定性方面有所动作。王雁鹏介绍,百舸平台针对模型训练的稳定性进行了优化,可以提供全面的故障诊断手段,可以快速自动侦测到导致训练任务异常的节点故障,同时提供自动化的容错能力,重新调度任务到健康节点,继续完成训练,目前已经将故障恢复时间从小时级降低到分钟级。

“经过几年的研发,目前,百舸在万卡任务上实现了大于99%的有效训练时长占比,这是非常不容易的。”王雁鹏说。

如何提升资源利用率?

训推一体,提升资源利用率

在传统的人工智能应用中,模型的训练和推理通常是在不同的集群中进行的。训练阶段需要大量的计算资源和数据,通常在高性能计算集群中进行。而推理阶段则需要将训练好的模型部署到实际应用场景中,对算力的要求显著低于训练阶段。

为了提高算力资源的利用率,针对一些特殊场景,可以将训练和推理过程混合在同一集群中进行,也就是业界所说的训推一体。训推一体技术让集群能同时支持在线推理服务部署和离线训练任务,实现推理和训练之间的算力自由无缝切换。训练和推理场景在不同时间复用相同 GPU 资源,在推理时把高算力高显存的训练卡分给多个业务应用以提高卡利用率和推理效率。

王雁鹏指出,行业平均算力资源利用率达 50%,这是一个比较理想的数据。然而,借助百舸所提供的训推一体技术,能够实现高达 90% 的算力资源利用率。在未来的人工智能应用中,训推一体将成为一种重要的技术趋势。