当前位置:首页|资讯|OpenAI|谷歌

智算基础设施的挑战及展望

作者:通信世界发布时间:2024-10-22

通信世界网消息(CWW)从GPT-4出现到Sora亮相,再到Claude3.0上线,每当有现象级的AI产品问世,人们都会惊叹,AI的“iPhone时刻”是否已经到来。尽管围绕生成式AI(AIGC)的潜力存在许多不确定性,但AIGC当前显示了足够的潜力和希望,并已经能够创作出媲美人类的作品,初步打破了人与机器之间的沟通障碍,标志着AI技术实现一次重大飞跃,人类社会已经毫无疑问地进入了AI时代,对全球社会发展和宏观经济持续产生深远影响。

算力作为AI的核心三要素(算力、算法、数据)之一,无疑是当前最受重视的方向,也是当下AI方向投资规模最大的领域。2024年,各国政府和企业加大对AI基础设施建设的投入力度,千卡智算中心已经不能满足大模型训练和迭代的要求,万卡或十万卡规模的AI集群建设成为2024年的主流方向。以OpenAI、Meta、Google为代表的头部AI玩家陆续启动“万卡+”规模AI集群建设,尤其2024年初Meta宣布推出两个24k GPU集群(共49152个H100),开启了其雄心勃勃的基础设施建设路线图,Meta将持续扩大基础设施建设,到2024年底将包括35万个NVIDIA H100 GPU,其计算能力将相当于近60万个H100,实现1天之内完成千亿级参数大模型训练的目标。

万卡集群建设挑战一:系统规模设计

万卡集群建设的第一个挑战是系统规模设计,当我们要建设一个32k GPU集群,按照主流的OAM模组形态服务器,每台服务器8块GPU,整个集群需要有4000台GPU服务器。万卡集群需要满足以下四个特定条件。

一是智算中心相比云数据中心多了一张用于GPU服务器通信用的参数网,而标准的北向业务网、存储网络、管理网络一个不能少。

二是服务器内GPU互联带宽很大(NVLink可以实现900Gbit/s带宽),PCIe5.0x16的单向最大带宽可到64Gbit/s,因此跨服务器通信设计建议每个GPU独享一个网卡(200G或400G),每个服务器上有8个网卡用于参数网接入。

三是由于跨服务器接入带宽流量较大,同时因为大模型训练的突发流量原因,参数网一般会考虑1:1的网络收敛比,即网络设备的上行带宽和下行带宽保持一致,而传统云数据中心或业务网络收敛比每层按1:2、1:4或者更高设计。

因此对于32k GPU集群建设,我们实际面对的是32k端口接入、收敛比1:1、层级尽量压缩的网络设计,规模远远高于传统4k服务器双端口接入、收敛比1:2/4的情况。

四是对于GPU互联通信,互联时延也是影响通信的关键因素,要尽可能缩短通信跳数,同时保持每个GPU相同的通信条件,因此接入交换机的端口规模决定了第一级集群的最大规模。让我们来计算一下,每台服务器需要上行8个端口,如果希望A服务器上每个GPU都可以和B服务器上的GPU只有一跳,假设接入交换机可用于下行接入的端口数为P,那么第一级规模为P×8块GPU,共需要8台接入交换机,即每个服务器GPU对应的网卡按序号接入到不同的交换机,GPU0接入第1台交换机、GPU1接入第2台交换机……按此依次完成8个GPU对应网卡的接入。如果交换机端口密度为128×400G,意味着通过8台交换机可以满足64台服务器(总计512块GPU)在1跳内完成跨服务器通信,另外64个400G端口可以用于上行。更大规模集群基本可以按照这个64台服务器的组合来横向扩展,每64台作为1个POD设计,只要满足上下收敛比1:1即可。

是否POD越大越好?也不尽然,设计目标应该是在POD范围内尽可能覆盖模型并行(张量并行、流水线并行)所需要的GPU规模,在二层网络实现数据并行。如果模型规模已知,那尽量按该模型所需要的模型并行规模来设计就行,一般来说,控制在128~256个GPU左右,足以满足大部分千亿及以下参数规模模型的模型并行训练要求。

因此如何选择合适的网络设备,满足规模部署的端口数量要求,并匹配大模型训练的流量特点,给出优化的整体架构设计,是万卡集群建设的第一步。

万卡集群建设挑战二:持续保障连续性和稳定性

大模型训练是典型的分布式任务,在万卡级规模下,分布式并行训练(包括数据并行和模型并行)都会遇到严峻挑战。模型并行时,将模型分割到不同节点。模型激活状态同步等需要大规模节点间高效通信,对互联网络的带宽和延迟要求极高,如何结合GPU显存大小、算力、通信互联带宽,合理规划张量并行、流水线并行的切分粒度,是模型训练规划的关键问题。而数据并行时,每个节点需要不断与其他节点交换梯度更新信息,通信开销会成为性能瓶颈,如何合理规划数据并行的规模,是大规模分布式训练的核心问题。

此外,分布式深度学习框架在作业调度、容错、异步并行等方面的能力在万卡级场景下也会受到考验。分布式训练框架可通过优化集群通信库和通信模,如环形all-reduce、双向压缩等方式,减少通信开销和冗余数据传输,可通过支持RDMA/RoCE v2网络来提升通信效率,降低通信时延;可通过支持混合精度计算减少计算复杂度,加快模型训练计算。

同时,如何在GPU或网络出现故障时,在尽可能短的时间内控制故障范围或快速恢复训练业务,是模型开发者面临的最大问题。

从以上挑战和问题可以看出,超大规模的大模型训练优化是一项系统工程,因此需要建立完整的管理、监控、定位以及调度系统。

在资源管理层面,需要实现全局资源池化,统一调度各种硬件资源,建立全局拓扑,从服务器内部GPU到跨服务器、跨POD的通信拓扑;从网络、服务器、存储等硬件管理到容器化作业部署和管理,建立清晰的模型训练作业到对应工作硬件的映射管理。

在作业监控层面,需要建立系统化监控体系,支持实时采集GPU、网络、存储等各类状态信息,支持实时采集容器化作业的状态信息,支持实时采集大模型训练过程中每一步计算的关键指标,并加以关联,让模型训练作业人员清晰地看到训练进展,让基础设施管理员清晰地看到集群系统状态和业务状态。

在作业调度方面,需要设计工作负载感知的智能调度策略,以快速定位故障点,给出故障影响的业务范围和服务器分布,并且可以根据业务亲和性、拓扑亲和性,确定新的作业调度策略,快速启停故障作业。

万卡集群建设挑战三:实现高效率和高性能

衡量万卡集群效率和性能的唯一指标,就是训练大模型的完成时间。大模型分布式训练是典型的计算密集型和通信密集型场景,2020年OpenAI在其论文《Scaling Laws for Neural Language Models》中第一次提出了scalelaw,即对于D e c o de r-onl y的模型,计算量C(Flops)、模型参数量N、数据大小D(token数),三者满足:C=6ND,而计算量C等于训练时间×有效算力。这也揭示了,在模型规模、训练数据量已知的条件下,训练时间基本就取决于有效算力大小,而有效算力就是充分提高n张GPU的有效工作时间,尤其在集群训练下,让GPU充分、高效、持续计算,就成为关键。

因此,分布式大模型训练的核心就是计算和通信,如何充分利用算力,同时充分降低通信成本、缩短故障时间,让有效算力最大化,是提升万卡集群的正确方向。

万卡集群建设挑战四:降低能耗

随着摩尔定律走入瓶颈期,高性能GPU的代价就是高能耗,单GPU的功耗已经达到了700w·h,英伟达下一代B系列GPU的功耗甚至达到了单卡1000w·h,这也意味着GPU服务器整机功耗会突破10kW·h,数据中心的整体供电能力,包括单机柜的供电能力将深受考验。对于标准42u高机柜,放入4个6u~8u高的GPU服务器基本是极限了,还要考虑ToR交换机和配线架所占用的空间,这种部署密度下,单机柜的供电基本要求60kW·h,32k规模AI集群差不多要10000个机柜,整体供电要求则超过60万kW·h。而目前大部分数据中心的单机柜供电能力低于30kW·h,放2台GPU服务器就可以,整体机柜数量翻倍,能耗要求会更高些。这对电网是严峻的考验,也是部分数据中心直接建在发电站附近的原因。

智算基础设施展望

总而言之,实现万卡集群下天级大模型训练目标,需要在系统规模设计、训练稳定性保障、集群效率优化等方面进行全面攻坚。

在系统规模设计方面,需要充分考虑GPU互联带宽、通信延迟等因素,采用分层分区的网络架构,合理规划每个POD内的GPU数量,确保大模型的高效并行训练。在训练稳定性方面,建立统一的集群管理平台、故障诊断体系和快速恢复机制,确保训练任务的持续高可用。在集群效率优化方面,深入分析计算和通信的关键影响因素,采取有针对性的技术手段。如计算优化、通信优化等,最大限度提升万卡集群的整体训练性能。

只有在这四大方面取得全面突破,才能真正实现超大规模的大模型训练,进而加速人工智能在各行各业的落地应用。未来,随着算力规模的持续提升、训练技术的不断优化,十万卡乃至百万卡级的大模型训练环境也将成为可能。智算基础设施的高效稳定运行,将推动AI产业链的良性发展。从算法到硬件、从基础研究到应用落地,AI产业生态将更加完善,为更多创新驱动型企业提供支撑,人工智能将在政务、教育、医疗、交通、制造等各领域发挥越来越重要的作用,改变人类社会的生产和生活方式。我们有理由相信,通过持续的技术创新和应用实践,人工智能将成为引领未来社会变革的关键力量。


Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1