AI史上最大灵魂拷问:10万卡集群该咋管

时间:2024-11-12 阅读数:359人阅读

11月6日,在百度智能云技术沙龙期间,百度杰出系统架构师、百度智能云AI计算部负责人王雁鹏表示,全球科技巨头正在积极打造10万卡集群,冲刺AGI;而国内构建10万卡集群则面临着三大难题:跨地域部署、多芯混训以及集群稳定性。这些难题包括技术和工程上的多重挑战。王雁鹏介绍,经过多年的技术积累和产业实践,百舸4.0已能够实现10万卡集群的高效管理,并通过HPN高性能网络、自动化混训切分策略、自研集合通信库等一系列产品技术创新,解决了上述难题。

[MD:Title]
百度杰出系统架构师王雁鹏

为什么需要10万卡集群?

大模型竞赛本质是算力竞赛

自OpenAI发布Chatgpt两年来,大模型产业发展的脚步似乎慢了。然而大洋彼岸,xAI、Meta、OpenAI等众多科技巨头都在积极布局10万卡乃至更大规模的智算集群。

当地时间7 月 22 日,马斯克宣布位于美国田纳西州孟菲斯市的孟菲斯超级集群开始投入训练。该集群配备了 10 万个英伟达 H100 GPU,被称为 “世界上最强大的 AI 训练集群”。两个月后,马斯克在 X 平台上宣布该集群名为 “Colossus(巨人)”,将在未来几个月内再增加 10 万颗 GPU,其中 5 万颗将是更为先进的英伟达 H200。 Grok 3 大模型正在超算中心中进行训练,训练预计在三到四个月内完成,目标是在今年 12 月发布 Grok 3。

另一家科技巨头Meta也不示弱。Meta首席执行官马克·扎克伯格在第三季度财报电话会议上透露,Llama 4模型正在一个由10万片H100 GPU组成的集群上进行训练,并预计在明年首次推出。为了支持大模型,Meta预计本年度资本支出将高达400亿美元,比去年增加了超过42%。扎克伯格在财报电话会议中强调,明年将进一步加大对AI基础设施的投资。

而大模型领头羊OpenAI与微软的“黄金搭档”却因为计算集群的交付进度产生了分歧。此前微软与 OpenAI 合作共建一个代号为 “星际之门” 的巨型数据中心项目。这个项目预计成本超过 1150 亿美元,旨在容纳一台面向 AI 的配备数百万块 GPU 的超级计算机。据报道,微软计划到明年年底向 OpenAI 提供约 30 万个英伟达最新的 GB200 图形处理器。然而面对步步紧逼的对手,阿尔特曼似乎对微软的速度不满意。完成66亿美元融资后,OpenAI开始寻求更加独立的数据中心和云服务方式并与甲骨文达成了协议,将在德克萨斯州的一个新数据中心租用服务器。该数据中心被誉为世界上最大的数据中心之一,未来可能容纳数十万个英伟达 AI 芯片。

王雁鹏表示,从美国科技企业的疯狂布局10万卡可以看得出,Scaling Law定律目前看仍然有效。公开数据显示,GPT-3的训练数据集包含3000亿个token。而GPT-4的训练数据集包含约13万亿个token。模型的持续升级,意味着数据量的指数级增长。而训练数据量的升级对计算集群也提出了挑战。10万卡的训练集群正是为了满足模型参数增长所带来的高算力需求。

10万卡集群难在哪?

跨地域部署、多芯混训、集群稳定性是最大挑战

10万卡虽好,但部署如此大规模的算力集群会面临很大挑战。

例如,美国老旧的电网就无法跟上大模型的步伐。由于集群耗电量巨大,美国的众多数据中心都遭遇了电网崩溃。一位微软工程师曾表示,为GPT-6搭建10万个H100训练集群时,整个电网发生了崩溃。据估算,一个10万卡集群每天的耗电量达到300万度,相当于北京市东城区一天的居民用电量。此外,10万卡集群需要大约 10 万平方米,相当于 14 个标准足球场的面积。如果想在单一建筑中部署这么大的集群,将面临选址困难和法规限制等挑战。

出于上述原因,美国科技公司的超大集群大多选择跨地域部署。为了突破单一数据中心的规模限制,谷歌和微软已着手将大规模模型训练扩展至多个数据中心园区。其中,谷歌的Gemini 1 Ultra模型已率先实现多数据中心训练。微软计划将其在凤凰城的AI训练基地扩展至10座建筑,自建24个数据中心,在多个超大规模园区互联,实施覆盖全美的大规模分布式训练。

王雁鹏介绍,由于电网配电限制、占地空间大等原因,十万卡集群需要跨楼、跨园区,甚至跨城部署。而这种跨地域部署势必会增加网络通信的复杂性。跨地域通信需要解决长距离通信延迟、拥塞控制等技术问题。

国内企业构建10万卡集群还面临着一个现实的困难:芯片。国内企业面临算力供应不稳定的挑战,较难构建单一大规模训练集群。现实情况是,企业内部会出现同一厂商不同代际芯片,或者不同厂商芯片共存的情况。这些芯片如何进行混部训练,同时保证混部训练的效率也是难题。

此外,随着芯片集成度的不断提高,芯片的故障率也会相应上升,英伟达H系列芯片的故障率比A系列高3-4倍。并且算力集群规模越大,其故障率就越高。按照H系列芯片的故障率水平,十万卡集群每20分钟就会出现故障。较高的故障率对稳定性训练保障提出了更高的要求。

如何破局?

如何解决跨地域部署、多芯混训、集群稳定性是国内10万卡部署的三大难题?王雁鹏介绍,以百度为代表的厂商正在破解这些难题。

在跨地域方面,针对由于传输距离变长所产生的高延迟,百舸4.0已经构建了十万卡级别的超大规模HPN高性能网络,通过提供更高效的拓扑结构、更优的多路径负载均衡策略及通信策略,能够实现几十公里的跨地域通信。同时,在通信效率上,通过优化的拥塞控制算法、集合通信算法策略,将带宽有效率提升至95%,实现了完全无阻塞。最后,通过10ms级别超高精度网络监控,保障了网络稳定性。

在多芯混训方面,百舸能够将不同地点、不同规模的异构算力进行统一管理,构建起多芯资源池。当业务提交工作负载时,可自动进行芯片选型,依据集群剩余的芯片资源,选择性价比最高的芯片来运行任务,从而最大化地利用集群的剩余资源。最终,可实现高达95%的万卡多芯混合训练效能。

在集群稳定性方面,百舸提供全面的故障诊断手段,可以快速自动侦测到导致训练任务异常的节点故障。同时,百度自研的BCCL(百度集合通信库),能够快速定位故障同时提供自动化的容错能力,重新调度任务到健康节点,继续完成训练,目前已经将故障恢复时间从小时级降低到分钟级。

王雁鹏表示,公有云是企业进行大模型训练的主流方式。在10万卡集群出现之前,为满足企业大模型的训练需求,云厂商常常采用服务一个企业,搭建一个集群的方式。然而,这种方式存在明显劣势,即每个集群都是为特定企业服务,在企业的训练任务不处于高峰期时,集群中的计算资源可能会处于闲置状态,造成资源的浪费。而当10万卡集群出现后,云厂商就可以依靠这个大型集群为众多企业提供服务,根据不同企业的需求动态分配计算资源,这样不仅提高了资源利用率,也降低了企业使用云服务的成本,极大地增强了云厂商在市场中的竞争优势。

“通过跨地域部署、多芯混训等技术,云厂商可以有效降低运营及算力成本,从而为企业客户带来更加实惠的云服务。”王雁鹏说。