眼下AIGC激荡着各个行业,随着产品落地、应用增加,如何提升算力成为了整个行业的迫切需求,不过算力的提升并非只靠购买大量的GPU就能实现,网络基础设施起着至关重要的作用。
(资料图)
由于GPU集群之间的数据交换与通信都要依靠网络承接,如果网络带宽不够大、延时长,不仅会让算力边际递减,而且还增加了大模型训练的时间成本。因此大带宽、高利用率并且信息无损的高性能网络对于当下算力的提升尤为重要。
日前,腾讯云在北京举办了一场面向AI大模型的高性能网络沟通会,向外界首次完整披露了其自研的星脉高性能网络。
腾讯云副总裁王亚晨提到,星脉网络为大模型而生,提供大带宽、高利用率、零丢包率的高性能网络服务,从而突破算力瓶颈。腾讯数据中心网络总监李翔在介绍星脉的演进过程时,用了一个通俗的比喻:如今业务和客户对我们算力网络有了更高要求,过去前两个阶段我们是“村村通”,解决大规模部署和广覆盖的问题,到了第三个阶段的星脉网络,我们要做的是全自动化、无拥塞的高速公路。
沟通会上,腾讯云展示了在交换机、通信协议、通信库以及运营系统等软硬件方面的升级,推出了自研的大模型专属高性能网络“星脉”。
在硬件方面,在硬件方面,星脉网络自研白盒交换机,这是一种软硬件解耦的开放网络设备,采用四层解耦体系,包括接入、转发、路由、管控系统。在自研设备的基础之上,腾讯云还构建了自研网络操作系统,包括网络OS与网管平台,构建了互联底座,实现自动化部署和配置。
在软件方面,腾讯云自研的TiTa网络协议,能够实时监测并调整网络拥塞,TiTa网络协议能够提升40%的带宽负载,还能提供低延时无损网络,实现高负载下的0丢包,使集群通信效率达90%以上。
此外,腾讯云还为星脉网络设计了高性能集合通信库TCCL,为星脉网络提供定制化的高性能节点间数据通信解决方案。结合动态调度机制合理分配通信通道,可以避免因网络问题导致的训练中断等问题,让通信时延降低40%。
腾讯云方面称,星脉网络集成了腾讯自研技术积累,以极致高性能实现了AI大模型通信性能的10倍提升,GPU利用率40%提升,通信时延降低40%,支持10万级 GPU 集群组网。基于全自研网络硬件平台网络建设成本降低30%,模型训练成本节省30%~60%。
王亚晨与李翔在会上回应了诸多外界关注的问题。
提问:腾讯高性能网络的主要优势在哪里?技术关键点集中在哪些地方?
王亚晨:腾讯在以太网上的优化从去年年初就开始了。从国内来看,我们是以太网里针对GPU优化比较有优势的,为什么我们会和其他厂商做那么多全调度以太网的合作?因为我们做了很多优化,尤其是在协议自研这块。
另一个优势在于我们的架构。我们是把存储跟计算做了分离,保证两边的性能更优。
无论是1.6T还是3.2T的GPU,我们可能用了8张GPU,一个CPU,加上8张网卡,但腾讯做了一些优化,8个网卡,一个网卡两个端口。好处是一旦有一个端口故障,另一个端口能够快速切上来,流量之间不受任何影响,也涉及到和交换机、和软件的配合,这种技术是我们的特色。
提问:做大模型对网络技术的核心要求,解决零丢包、低延时最大的技术困难是哪些呢?
王亚晨:当时我们遇到的最大困难是“拥塞控制”。去年年中,腾讯已经建了2K-4K的GPU集群用于模型训练,那时候我们用一级,最多两级交换机就OK了。
但大模型出来后,GPU规模建设需求已经是万卡规模,这时候整个交换机组网规模必须要到三级了,因为我们交换的芯片容量是主流的25.6T,128个网口,它决定了组网的规模两级最优是4K,这决定了我们要做更大规模时交换机一定要做三级,便会遇到拥塞控制的问题,到今年年底扩容到51.2T时会好一点。
虽然之前装了TiTa已经一定程度上解决了拥塞。但到三级之后,因为拥塞不可控,之前的机制不完全能达到很好的效果,所以我们得做新的拥塞控制机制,这也是现在业界讲到的主动拥塞控制。
在GPU发包时要先了解网络的状况,有点类似于我出门前,先看看是否拥堵,如果拥堵,系统主动告诉我先不做。以前以太网都是被动拥塞控制,拥塞了才调度,但主动拥塞控制机制一定要在网卡发包时和交换机配合。
为什么现在我们要自研新的算力网卡,其实它解决的是在多级组网情况下更好的拥塞控制,这是当时我们面临的挑战,也和我们现在的一些能力相关。
另一个是带宽利用率的提升。现在我们做到95%左右的带宽利用率,实际上到新的3.2T服务器接入与三级架构时,我们发现这个带宽利用率会遇到巨大挑战。带宽利用率要消除网络不均匀的问题,之前我们用哈希(Hash)的方式。
现在以太网是基于流调度,流有长有短,类似于路上跑的车有的大马力有的小马力,即使哈希到不同路径,你却不知道每个流的长短是什么样,很难完全消除不均匀。
怎么做?现在以太网里有几个做法,一个是定长包,网卡侧发包时是定长的包,等于你看到的车都是标准化大小,这时候我再去哈希到不同路径,一定是相对均匀。这就是为什么我们要把端侧发包时变成定长的包,交换机要支持定长包的处理,同时定长包很容易出现乱序的问题,所以我们还要和端侧配合,保证不同的包虽然都是定长的,传过来可能有快有慢,还要把乱序的问题解决,这也要靠端侧解决。
总而言之,拥塞控制与带宽利用率是我们当下遇到最大的两个挑战。
提问:在网络管理和硬件设计上,我们倾向于采用集中式还是分布式?
李翔:分布和集中都是设计网络的工具手段,我们会根据的场景需求来选择。在网络技术上,集中和分布一直是亘古不变的议题,网络中SDN2008年提出来到现在二十年了,集中后,下面被管理的网源会比较简单。集中管理、集中部署,下面的网元会非常简单,成本比较低。但现在分布式是现在网络比较认可的生态形式,分布式管理能够复用我们之前的运营积累,确保运营质量。
王亚晨:满足可扩展性和运营安全性,这也是很关键的考量。腾讯基础设施最主要的生命线是网络质量,大系统肯定有大系统的好处,性能肯定更高,一旦出现故障,我们的分布式化可以减小故障率,这是最大的好处。我们把路由器拆成很多小的路由模块,可以跑到容器里,让我们整个网络更可靠。
类似于最早的网络都是集中化的大盒子设备,无论是交换机、路由器还是运营商的基站、核心网,都是集中化的。但云厂商不一样,我们基本是全自研,都是一套自研系统,自主控制,不用引入太多异厂家的交互性。所以一定要在自研情况下做分布式更好,如果不是自研能力,靠各种厂家做分布式,本质上来讲一个厂家自己分布没问题,一旦引入另一个厂家混合搞,可能就复杂很多了。
提问:之前说到白盒交换机的问题,可以多介绍一下吗?
李翔:首先我们为什么要做白盒?刚才提到,交换机从最早的几台一直到现在几十万台在网,每年可能有几万台的采购量。面对大量级的需求,我们遇到了一些比较现实的问题。厂商会卖给你非常完善的解决方案,有几千个共同特性,所以迭代周期很慢。
我们从两个维度考虑问题,第一个维度从质量考虑,我们希望对软件做减法。比如90%我是不是可以裁掉,自己用非常少的人维护起来,可以快迭代、快修复,从实际部署来说软件自主研发之后,显著提升了质量。
第二就是在硬件角度,我们是“海底捞”模式,商业交换机卖的是满汉全席,是粤菜,但比较贵,我们只需要一款交换机,做减法。我们直接跟上游芯片商合作可以更快享受技术能力,过程更加透明,供应商利润也比较合理。
所以我们做白盒有两个维度,第一个维度在软件上,更多是质量和迭代效率的考虑,硬件上是从成本上考虑,能够把它变得更加透明化。
提问:如果将来你们接入其它模型,很多用户在上面训练,网络安全可能就比以前更重要了,以前只有你们自己在用,这方面不知道你们有什么设计或者已经做的事情?
李翔:数据安全的问题在公有云时代是特别重要的。腾讯有七大安全实验室,都是做网络安全,我们整个技术网络有非常完善的虚拟化技术,还有做租户隔离、存储隔离,这些都是比较扎实的技术底座,同时内部还会有各种各样高级别的科学家带领团队做各种模拟攻击,保证不会被攻破。安全问题一直是云客户最重要的事情。
回到GPU,一方面我们复用了它的能力,比如存储,直接复用云大盘的能力,对于基座的物理服务器可能更复杂,因为它比较追求性能,云上做隔离。但是容器、虚拟化对GPU服务器有严格的性能要求,需要一个物理机,这时候我们就只能把隔离监控全部放到网络上做。
王亚晨:星脉除了支持腾讯自己的大模型以外,在腾讯云上也支持很多其它客户的模型做训练,有些客户对于性能觉得虚机也OK,我们就以大盘的能力来保证整个网络的安全。另外刚才说的信息安全,防攻击那些,都是腾讯云上面比较完善的体系。
提问:针对腾讯之外的厂商,我们主要提供技术支持,还是也提供大模型相关的解决方案?
王亚晨:我们整个技术底座除了腾讯自身以外也在支持腾讯云的算力集群,在腾讯云上也可以给客户售卖,今天没有专门讲这个解决方案。我们除了提供GPU的IaaS服务以外也会配合上面的训练框架、加速框架这些PaaS的可选服务,根据团队训练的模型和你的需求定制选购。基本上一些大的公司还是选择以IaaS服务为主,这也是腾讯云以标准产品给到客户。