阿里云蔡德忠:阿里云通义大模型所用网络是不是护城河?

智能亲爱的你 2024-09-24 09:20:48

阿里云智能集团研发副总裁 基础网络负责人蔡德忠

以下为2024年云栖大会,阿里云智能集团研发副总裁,基础网络负责人蔡德忠演讲全文:

过去这几年,这些模型训练所需要的算力大概每年增长4-6倍。下面这幅图是反映摩尔定律芯片迭代的速度,基本上还是每两年翻一倍,上下浮动。可以看出,大模型训练所需算力与摩尔定律的芯片迭代之间存在着巨大的gap ,至少有10倍以上的gap。那想获取大算力,只能靠scale out,靠大规模集群算力。

大算力来自大计算集群,但是大计算集群不一定就能保证提供大算力。这个原因其实也很简单,今天大模型训练依赖于并行计算这个范式,无论是一千卡还是一万卡训练一个任务,都是这些卡的一个协同的并行计算,每个GPU卡做这个计算迭代之后都要进行参数同步才能进行下一轮的计算,这种同步通讯的方式决定了集群有很强的木桶短板效应,任何一个地方出现了故障,整个训练集群的性能都会衰减,或者甚至整个任务被挂起。

所以要想要通过大集群获取大算力,其实我们有很多问题需要解决:

第一就要降低通讯时间的占比;第二就要消除集群当中的木桶短板,减少拥塞,降低长尾延时;

第三也是更重要的,当遇见故障的时候怎么样快速发现,定位故障,快速拉起任务,把故障带来的时间的损耗降到最低。

要做这一点实际上是一个很复杂的系统化的工程,涉及到方方面面的优化,包括算子的优化、通讯框架并行策略的优化、计算和通讯的协同交叠、存储的协同等,是一个很复杂的系统性的工程。

当然,这里面最核心也是最重要的就是要建立一个稳定的高性能的网络。英伟达CEO Jensen Huang在一次演讲中说DC center as a computer, Network defines DC Architecture(网络定义AI数据中心架构),这说明AI集群的核心,除了GPU性能以外,最重要的高性能的网络互联。

那怎么样才能构建高性能的网络互联?实际上传统的集群架构是不能满足这个要求的。

这个原因很简单,因为传统通用计算集群和AI智算集群有着本质的区别,无论是从核心的诉求还是流量的特质还是服务器的形态、网络带宽,二者之间有很大的区别。

通用计算本质上是针对大规模的分布式计算场景,追求的是高性价比,追求的是业务的弹性的、快速的部署能力,所以它的网络架构一般都是端网解耦,分层设计的原则,端侧的网卡和交换机是解耦的,计算、存储和网络是解耦的,应用层、虚拟网络层和物理网络层是分层设计的。

这种架构在过去十几年有力地支撑了云计算和互联网的大规模的部署,被证明无论是研发还是部署都是最高效的,性价比最高的。

但是它有个最重要的缺点,即不能提供大算力所需要的稳定的高性能。而对于智算集群来说,它真正是大规模并行计算的场景,就刚才说的有很强的木桶短板效应。

它是一个整个机群就像一台电脑一样在工作,要想获取这个性能,从best effort(尽力而为)变成predicable(可预期),实际上是需要计算和网络的高度融合。

我们阿里云从2017年开始就是部署RDMA高性能网络,先是存储然后是HPC,再到大规模的智算集群的部署,在部署这个过程当中,我们在2019年的时候就提出了端网融合的新型体系架构,就端侧的网卡和交换机网络,端侧的计算存储和网络协议栈协同演进,构建了我们今天新型的智算集群架构HPN7.0(阿里灵骏智算集群使用该架构)。这只是高性能智算集群的一种方式,其实这个行业当中有多种多样的实现方式。如果回到去年(2023年)初的时候,大模型和大算力的需求刚刚兴起,那个时候以太网还没有成熟规模部署的方案,一时间大家就比较唱衰以太网,包括OpenAI大模型训练都是基于infiniband,包括Meta还有很多国内的公司一开始都是基于infiniband构建大模型训练集群。我觉得我们阿里云可能是为数不多的那么两三家从一开始就基于以太网构建智算集群的公司。

经过这一年多的发展,也得益于强大的以太网的生态,高性能网络技术蓬勃的发展。一年多过去了,可以说是各个大的player(玩家)都已经构建了基于以太网的成熟的稳定的高性能网络互联系统,比如说我们的HPN7.0架构已经大规模部署一年多了,目前中国头部的大的模型可能有百分之七八十都基于HPN7.0架构之上,也得益于这个比较先进的架构设计,很多人也知道今年HPN7.0被SIGCOMM顶级学术会议录取。SIGCOMM录取论文当然比较难,网络架构的论文其实更难,原因很简单,因为网络架构很多年都不会变,上一次的SIGCOMM架构论文还是2015年,谷歌的Jupiter的这篇网络架构论文。除此之外,我们也从公开的信息看到,无论是meta也好,还是马斯克X.AI,无论是AWS还是谷歌的GPU方案,都是基于以太网构建的,所以以太网已经变成一个相对成熟或者主流的技术方案。

今天,我们已经解决了过去万卡规模集群的方案,但是scaling law还在持续发挥作用,模型的参数规模、训练数据量还在持续增加,持续Scaling对模型的质量都起到至关重要的作用。

也就是说算力的需求还在持续的呈指数级增长。

所以今天这个万卡集群已经难以满足要求,头部的玩家正在构建十万卡的集群(从各种各样的公开的信息渠道大家都有所了解)。

这个规模增长十倍的时候,其实我们面临的很多挑战,最重要的挑战就是故障率(failure rate),因为整个集群里面无论是GPU还是光模块还是网卡都会有一定的failure rate,而且这个硬件的failure rate短时间内不会有根本性的改变。

举个例子,meta前不久发布的文章中就说了它的1.6万卡的GPU集群训练,大概每隔两三个小时就挂死一次,任务就重新拉起一次,这个什么概念?假设任务每3小时挂死一次,故障后这个集群重新拉起再回到上一个checkpoint要耗费时间我们假定是15分钟,那这个占比就将近1/10。

我觉得1/10的时间损耗还是可以接受的,但是如果这个集群变成十万卡,根据现在这个failure rate,大概30分钟就要挂起一次,如果30分钟你花15分钟解决这个故障,那这个问题简直就是不可接受的,也就是50%的时间。

这么昂贵的GPU就浪费了,所以这是一个最重要的问题需要解决。

怎么样解决大集群故障率问题,待会我们这个论坛可以做这方面的一些探讨。

第二个就是十万卡这个集群,它肯定不是在一栋楼,一定是跨楼甚至是跨园区,因为受这个物理空间和电力的限制,那这个时候这个集群里面的网络的性能,GPU跟GPU之间它就不是一种均匀的网络性能,它的带宽、延时都会出现层次的差异化,针对这种层次的差异化,我们上层的并行的策略,包括我们的一些流控等其实都要做相应的改变。

还有第三点,当我们集群的规模到十万卡的时候,我们的模型参数、数据量也是呈指数级增加,这个时候传统的NVlink 8卡的domain也是没法满足一些并行的计算方面的要求,scale up的domain也会持续的扩大。

说起NV互联scale up这个可能是行业目前最关注的一个热点,今天最通用的可能就8卡GPU服务器,就左边这幅图,其实在一个服务器内部就8张GPU卡通过NVlink进行互联。NVlink实际上是计算紧耦合的这种定制化网络,可以看作是PCIE总线的升级,是把这个GPU服务器做大,所以也叫做scale up。当然前面说了模型的进一步扩大,这个并行策略也从3D变成4D、5D等等,比如说MOE这种模型的EP(专家并行),可能就超越了8卡这个范畴,可能会达到16、32甚至是更多。

在这种情况下,我们就需要NVlink domain的进一步扩大,因为NVlink实际上最终是为了模型并行的大带宽、内存共享而设计的,现在这个domain域需要进一步扩大。

NVlink大家也知道年初的时候也公布了GB200 NVL72,相当于是把NVlink的domain做了将近十倍的规模扩大,而面向未来可能会进一步扩大,就会有10倍或者100倍的扩展。在这个时候,其实NVlink这个定位我觉得也发生了一个改变,已经不仅仅是服务器内部scale up的一个互联,而是变成了GPU卡之间的一种新型的scale out的互联。

这种更加高带宽的scale out的互联和传统RDMA的这个scale out是一种什么样的关系?这个我觉得可能是业界目前最关注的一个热点。既然大家关注这个行业的热点,那我们就看看目前整个行业是怎么发展的。当然这个英伟达还是占绝对垄断地位的,还是这种基于NVlink这种私有的协议持续往前演进。待会大家也可以问问NV的Gilad这方面演进的一个趋势。还有一些大的player,比如Google肯定还是会继续采用自己的私有协议,但是另外一方面对于像很多CSP,很多中小型的GPU芯片公司,他们可能会采取另外一种方式,基于标准以太网的方式,依赖于以太网强大的生态,以太网成熟的serdes来进行演进。

前不久,Microsoft公布了他们的自研Maia100芯片互联方案,就是采用这RoCE来做scale out,实际上它是把scale up和scale out合在一起,也就是变成一种新型的我刚才说的这个scale out,只不过这个scale out有不同的带宽层级。当然这个也不是个例,像meta大概率也采用这种方式,另外像英特尔、特斯拉还有一些公司基本上都是基于以太网来构建,以太网其实也是很灵活的,可以基于物理层的以太网也可以基于链路层或者说IP层,实际上是很灵活的一个体系。

我觉得这里面可能最受关注的应该就是AMD了,因为AMD今天是infinity fabric,它是服务器内部的一个点到点的fullmesh的一个互联,但它下一步GPU带宽的增大,它也需要这个 domain的扩大。AMD实际上也是开源组织UEC UAL背后的一个最大的推手之一,所以AMD如何构建下一代Scale UP domain的方案,我觉得可以成为行业当中一个很大指引的作用。

前面讲了这么多,实际上就讲了从大的算力到大的集群是体系化的一个过程,特别是对于网络来说需要稳定的高性能的网络,所以需要构建新型的网络架构,比如说像HPN7.0系列架构,但是这只是一个过去,面向未来大规模增加10倍的时候,我们有新的集群问题需要去解决。

当然,我们说起网络自然要说到标准、开源,因为网络从它诞生的第一天起就是开放的,我们其实从上个世纪末到现在大概有3个大的网络技术浪潮:

第一次信息时代,网络的互联互通,运营商网络高速发展,设备厂商是主要的技术驱动力,这个时候IETF最权威的标准组织,中国基本上属于被定义,这是第一个阶段;

第二个阶段,互联网大规模的兴起,云计算的兴起促使超大规模数据中心的出现,又引发了SDN软件定义网络这个时代的到来,这个时候讲究的是快速落地,所以网络的开源组织起到很重要的作用,最具代表性的就是SONiC,在这个阶段中国基本上属于跟随,处在积极共建这个阶段;

今天我们到了AI这个时代,我们先不说AI大模型中美之间的差距,如果只从AI基础设施这个角度,从网络这个角度,再聚焦到以太网方案这个角度,中美之间目前至少是齐头并进的,在某些方面,中国一些公司还处在领先的地位。

但是网络的持续发展严重依赖于芯片,芯片是美国占绝对的垄断地位,所以美国的芯片公司也成立了UEC这样的联盟,在这个情况下虽然我们目前是齐头并进,在可预期的未来,我们又会重新沦落为被定义或者是跟随者的这么一个角色。

在目前中美关系这个情况下,中国公司使用美国的算力芯片受到限制,所以中国的芯片公司也是雨后春笋般涌现出来,众多的GPU中小型初创公司、交换机的芯片公司、网卡的芯片公司实际上也需要自己的生态,形成一个产业的共同协作,所以,这一块我觉得也是目前中国这个生态关注的一个热点,待会我们也有中科院的王老师给大家分享一下高通量以太网联盟。我的部分就到这里。

《我看见了风暴:人工智能基建革命》,作者:谭婧

0 阅读:0

智能亲爱的你

简介:感谢大家的关注