现状:一边追求万卡集群,一边用网络榨取算力

作者|Tina

云行业进入了生成式AI时代,除模型算法外,头部企业纷纷将大量精力投入到解决算力和互联问题上。然而,如果没有网络支持,计算的篇章就无法开启。

7月1日,腾讯宣布其自研星脉高性能计算网络全面升级,升级后的星脉2.0支持超10万卡大规模组网。借此机会,InfoQ独家专访了腾讯云副总裁兼腾讯云网络总经理王亚晨,探讨了腾讯在改革算力互联方式方面的思考。

1将整个数据中心变成一个“大芯片”?

前几天,百年风投机构BVP发布了一份云计算现状报告,副标题直接使用了这样一句话:“传统云已死,AI云长存!(TheLegacyCloudisdead,longliveAICloud!)”他们承认传统云仍然有重大发展机遇,但更震惊于AI带来技术变革加速,现如今我们已经很难找到一家不做AI的云计算企业了。该报告特别指出,“这是一场关键的‘地盘争夺战’,决定了未来几年哪些大型科技公司将在云和计算市场占据主导地位。”

AI大模型靠的是大力出奇迹,注定了训练它的基础设施跟传统云不一样。

由于AI的大流行,数据中心也开始从以CPU计算为中心到以GPU计算为中心。在CPU环境中,大规模并行计算的任务可以被分割得很零散,以微信为例,虽然它也是一个庞大的业务,但它的任务是零散且琐碎的。每个用户和每个进程的任务都是不同的,因此可以将任务分散处理。然而,大模型不同,它依赖于强大的计算能力,通常使用GPU通过不同的模型或通信方式来处理同一个任务。大模型很难将任务分割得如此零散,希望开发下一代基础模型的企业就不得不投入越来越大的集群来对应挑战。

集群规模不断上涨,从千卡到千卡,再到十万卡,据王亚晨的描述,“去年大家都在谈论实现万卡集群,只在理论上讲如何实现十万卡。今年的情况有所不同,现在大家实际上已经在实践十万卡集群了。”

投入数以万计的GPU,再通过网络将它们“粘合”起来,现状:一边追求万卡集群,一边用网络榨取算力导致服务器的带宽接入比以前的服务器大了几十倍,网络设计也需要对应带宽的变化。以往云厂家的主流服务器通常以100GB带宽接入,而运营商的接入带宽可能更低。然而,两年前刚推出的GPU服务器带宽就达到了800G或1.6T,甚至现在已经达到3.2T。

大模型的训练和推理使得GPU卡之间的数据交换量非常大,因此要求数据中心的网络还要具备强大的处理能力。CPU时代,通常情况下网络带宽利用率在30%到40%左右,不会让网络跑满,因为需要应对流量突发情况,比如春节或其他用户高峰情况。而当我们将GPU服务器做成一个很大的集群后,不再像以前那样以虚拟化单点运算为主,而是大量GPU服务器来共同处理一个任务。那么,对于GPU来说,由于当前的AI业务模型相对单一,尤其在大规模训练时,带宽利用率需要达到90%甚至更高,将带宽尽量撑满,GPU一直忙着才能让训练效率更高。所以需要在硬件和网络协议各方面做出改变。

这些资源投入、物理设施和相关技术的巨大变化,使得大多数企业无法参与到竞争中来,王亚晨表示,“不是所有厂家都有能力卷大资源模型。”

由此可见,科技界并没有换人掌舵,反而成为云计算老将们的新战场。

2集群算力瓶颈:“网络迭代速度没有算力增长速度快”

OpenAI的JaredKaplan在2020年首次提出了ScalingLaw,他指出模型大小和计算之间存在缩放关系。不少追随者认为,加以更多GPU,投入更多数据,就能得到更好的智能。大量的计算意味着需要更大的计算集群,但实践中大家发现这并不简单。

第一个瓶颈是能耗,建设10万卡GPU集群大概需要120兆瓦甚至更多电力功耗。3.2万卡曾被视为数据中心GPU数量的上限,一个说法是这是因为电网无法跟上AI发展带来的能源需求激增。

另外一个瓶颈是行业里运营手段需要提升。当你利用数万张GPU,连续几十天不停地运行同一个任务时,可靠性和稳定性就成了重中之重。GPU整个规模上去之后,GPU故障率是逐渐上升的。

更重要的是,网络通信效率亟待提升。网络丢包、拥塞、时延都会导致集群利用率下降,有数据表明,1%的丢包,GPU利用率会下降50%。所以,就算物理上建起来了一个4万、5万、10万的集群,但是真正能够带多大规模任务跑起来也需要逐步摸索和提升。怎么能够减少故障率,快速发现故障的同时能够让它快速恢复,让训练中断时间越短越好,这是确保大规模训练任务顺利进行的关键。

之前Meta也有过一个统计,在AI训练中网络通信时长占比平均占据了35%的时间(最高时57%),一个直观的解释是:这等于花费数百万或数十亿美元购买的GPU有35%的时间是无所事事的。

这些年来,GPU的迭代速度非常快,算力增长迅速。“网络迭代速度没有算力增长速度快,如何在网络速度相对滞后于GPU算力发展的情况下,确保GPU性能不降低,或者至少保持较强的发展势头,成为未来云基础设施在组网层面面临的一个重大挑战。”

为了能够把集群里GPU的性能发挥极致,腾讯这两年在网络里面,网络协议、网络软件、端网协同等各方面做了很多技术创新。

3十万卡集群的网络技术壁垒,自研高性能网络

英伟达的网络连接主要有两种,实现卡间互联的NVLinks,实现服务器间互联的Infiniband。

InfiniBand在AI训练低延迟网络领域拥有霸主地位,基于英伟达自己的一套协议,配合GPU运算特点自成一套体系。

虽然从以太网技术本身来讲,想超过Infiniband很难,但infiniband体系封闭,成本高昂。

早在两年前,腾讯就着手自研高性能网络。在大模型兴起之前,腾讯在广告场景中通过软件优化进行AI训练和推理时发现,以太网的性能可以达到与Infiniband相当的水平。

另外,InfiniBand成本也比以太网技术高很多。在HPC和超大规模AI云市场中,网络占集群成本的20%或更多的情况并不少见。外媒Nextplatform根据英伟达的数据算了一笔账,如果你有10亿美元,那差不多需要分配4亿美元购买16,000台H100的AI服务器,还要再花1亿美元购买Nvidia的InfiniBand网络将它们全部连接在一起,剩下的5亿美元用于建设数据中心,并在四年内运营、供电和冷却。相比之下,用以太网来建设的成本基本不会超过以上金额的10%。

“基于这几个因素,我们才敢在大模型出现时,选择以太网,并通过自研的方式来解决网络问题。”

如何用以太网技术解决拥塞问题,尤其是在拥塞时不丢包,这是星脉团队首先要解决的问题。

早期业界没有其他标杆,只能参照英伟达的Benchmark。以此为基准,腾讯将星脉1.0在网络指标上提升至与Infiniband相同的水平,并努力做到更优。

Benchmark里面有几个关键数据,第一个是训练过程中的通信时长占比,7%、8%是目前业界较为领先的水平。而星脉团队将星脉的通信时长占比做到了6%,这实际远低于10%的业界水平。

另一个很关键的是网络负载率,星脉优化到90%,与IB网络(Infiniband)持平,相较于标准以太网提升60%。

除了组网技术,更大的壁垒则转向了端网协同能力和运营能力上。这些壁垒,在自研以太网基础上,显然更灵活更容易实现。

星脉本身有一套自研协议。通过高性能通信库TCCL,星脉能看到网络拓扑,能知道什么路径最短。路径最短,拥塞也会变少,丢包概率也会降低。通过自研端云协同协议TiTa,星脉可以在网络拥塞的时候,将流量做调度,不会产生丢包,也能让网络负载跑得更均匀。

以前是依靠软件库与网络的配合,星脉进一步的在网卡层面与整个网络形成一个闭环的控制能力,这样可以实现更好的拥塞控制算法。

而快速定位和解决问题的运营能力,也能够在基础设施层面形成另一个非常强的差异化。星脉可以快速感知网络质量,定位因网络问题导致的训练中断等问题,故障时间在整个训练时间中的占比已经降到了一个相对较低的水平。

如今,这一决策被证明是正确的。英伟达最近也推出了自家的以太网解决方案,搭配网卡使用,其思路与腾讯的星脉2.0不谋而合。

行业里实际也已经有了不少使用以太网的企业,比如Meta的训练Llama3的集群,一半使用的是Infiniband,一半是以太网,并且他们宣称以太网集群的性能不比Infiniband差。

国内腾讯和阿里则都是纯以太网。这些企业也都加入了Linux基金会发起的超级以太网联盟UEC(UltraEthernetConsortium),到今年3月总共有55家公司参与,共同为AI发展构建完整的基于以太网的通信堆栈架构。

4从星脉1.0到星脉2.0的进阶:在工程上支持10万卡

腾讯最早于2022年就开始做星脉研发,当时主要是用于广告大模型训练。这个时间点比OpenAI推出chatGPT还要早上半年。也正是因为有了技术储备,所以能在初期快速构建起星脉1.0,并将带宽利用率做到90%,做到无丢包,保证算力不损失,另外还达到了极低时延的要求。

在这个背景下,星脉1.0实现了单个服务器3.2T的接入带宽,业界第一次提出多轨道大规模组网,让集群组网规模更大。同时打造了初步的运营系统平台,主要解决了应用系统中的网络上监控和故障修复问题。

星脉2.0则希望在工程上实际支持10万卡,实现训练推理一体化,进一步去解决推理的成本效率问题。

星脉2.0引入了自研交换机、自研光模块、自研网卡三套新的硬件。其中,网络交换芯片由25.6T升级到51.2T,这样对应的整个组网规模就会翻倍。

另一个重要方面是星脉2.0首次在业内采用了自研的400G单口硅光芯片。这一创新的最大特点在于显著降低了能耗、模块能耗以及成本。

为了解决10万卡集群的性能瓶颈问题,需要实现端和网的协同。因此,除了商业网卡,星脉也首次引入了自研的算力网卡,与自研的软件系统相结合,大幅提升整体性能。

在硬件层面,星脉2.0延续了多轨道设计,并且每个节点的容量都升级了,这样就足够支持到十万卡的集群规模的组网。同时未来也能满足SORA这种模型架构需要的在网计算(也叫算力卸载)能力。

在软件层面,TCCL从路径规划变为了自适应性能加速,并打通了异构并行计算中的卡间互联网络,从而能够将NVLinks以及星脉两种网络在同一个任务中用起来:当机内带宽不足时,可以将外部带宽用起来,利用外部带宽弥补内部卡间互联速率的不足,同时也能够感知两种网络拓扑的使用状态,这种方式能让通信性能提升约30%。

TiTa在1.0阶段,拥塞发生后才会进行调整,而在2.0阶段,通过主动干预速度以避免发生拥塞。通过协议和硬件的端到端配合,可以有效地控制传输速率,使得网络从可能会产生拥塞但不会丢包,转变为根本不会产生拥塞的网络。目前来看,这种端网结合也是业界非常重要的发展方向。通过这种方式,能将通信性能再提升30%,集群训练时长降低10%。

另外,星脉2.0的运营系统也进行了升级,引入了仿真系统的概念。在训练过程中,在GPU训练中某个卡出了问题,或运算效率突然变慢,是经常出现的问题。尤其是变慢的这种情况下,服务器是不会没有报故障的,因为节点失速并不是故障。新的运营系统可以通过仿真模拟,再结合实际训练过程中产生的日志进行对比,就能知道到底这次训练中哪些GPU它到底是失速了,还是有故障节点了,然后快速找出这些节点,进行干预。在实践中,运营系统的升级能将训练问题定位时长从数小时缩短到10分钟内。

如今星脉在整个系统的层面上也形成了自己的独特优势,包括GPU拓扑感知能力、网络仿真系统能快速定位慢失速节点的能力。

现在这个技术体系不仅能十万卡集群的真正跑起来,还能做到更精细化运营,整体网络通信效率比上一代提升60%,让大模型训练效率提升20%。这意味着,如果原来训练中某个计算结果的同步需要花100秒完成,现在只需要40秒;原来需要花50天训练的模型,只需要花40天。

5实现“算力供需平衡”的愿景

星脉网络作为底层技术支撑了腾讯混元大模型训练。今年,混元大模型的参数规模更是突破了万亿级别,而企业微信、腾讯会议及腾讯文档等都部署了生成式AI功能。过程中遇到各种问题,比如训练中断,星脉网络都能凭借强大的技术和稳定的性能,轻松应对。

现在,基础大模型还在卷,还在发展,GPT5也将很快发布。各种应用也开始出现,这些都需要大量算力。大家希望未来算力要像电力一样无处不在,但现在算力短缺是整个人工智能行业面临的一道难题。

为应对算力紧缺,OpenAI今年还出台计划,打算耗资1150亿美元,打造星际之门(Stargate)来支持大模型的发展。只是,除了不断扩张数据中心数量和规模之外,我们也应该有足够的技术去“榨取”已有GPU资源中的算力。

“我觉得未来算力供需要达到相对变化的平衡,很重要一点是能够提升GPU算力调度和利用率来缓解相应压力。我们也在讲算力网络,算力网络本身来讲就想让我们的算力调度能力以及算力利用率能够长的更好。”

“我们一直有一个愿景,希望算力网络能为大家提供服务,让大家‘用得更快,用得更好,用得更稳’。用得更快指的是算力调度、建设交付和供应响应更快,让大家能够第一时间获取所需资源。用得更好则是指性能更佳,体现在GPU利用率、网络各种指标和负载率等方面,性能达到最佳。用得更稳是指运营质量高,不出问题,或在出问题时能够快速定位和恢复,让运营更稳定。”

德国再次拥抱Linux:数万系统从windows迁出,能否避开二十年前的“坑”?

英伟达老员工集体“躺平”,在印钞机上数钱的快乐谁懂?

哈佛退学本科生开发史上最快芯片;居然之家汪林朋:AI时代名校毕业生不如厨师司机,北大的到我那就八千元;英伟达高层频频套现|Q资讯

被全球最大用户弃用!曾经的数据库霸主HBase正在消亡

活动推荐

AICon全球人工智能开发与应用大会,为资深工程师、产品经理、数据分析师等专业人群搭建深度交流平台。汇聚AI和大模型超全落地场景与最佳实践,期望帮助与会者在大模型时代把握先机,实现技术与业务的双重飞跃。在主题演讲环节,我们已经邀请到了「蔚来创始人李斌」,分享基于蔚来汽车10年来创新创业过程中的思考和实践,聚焦SmartEV和AI结合的关键问题和解决之道。大会火热报名中,7月31日前可以享受9折优惠,单张门票节省480元(原价4800元),详情可联系票务经理13269078023咨询。

免责声明:本网站部分内容由用户自行上传,若侵犯了您的权益,请联系我们处理,谢谢!联系QQ:2760375052

分享:

扫一扫在手机阅读、分享本文

最近发表