国内AI不行,是因为芯片不行?
我们跟国外的差距,是因为和英伟达芯片的差距过大?
最近,圈内有许多这样的论调。
其实深挖下去,就会发现事实完全不是这样。即使是英伟达最先进的芯片,依然无法满足当下人工智能在算力上的需求。
随着模型参数量和数据量的增加,智慧不断涌现,我们对更大集群的需求,也更加迫切。无论是国外,还是在国内,大家离终点都很遥远。
算力≠芯片
如今,大规模神经网络的训练现状是这样的。
新鲜出炉的8B和70B参数的Llama 3训练,需要24576块H100组成的集群。
小扎曾透露截止今年底,Meta将建成由35万块H100搭建的基础设施
而据称有1.8万亿参数的GPT-4,是在10000-25000张A100上完成了训练。
图片
爆火的Sora训练参数量可能仅有30亿,爆料称,估计使用了4200-10500块H100训了1个月。
图片
特斯拉FSD V12,则是在1000万个海量视频片段进行训练,需要用大概10000块H100,耗资3亿美元。
图片
就连奥特曼最近在20VC的采访中,提及了OpenAI目前增长的「核心瓶颈」:
我们有世界上最优秀的研究人员和研究文化。如果计算资源不足,将会拖慢我们的步伐。
一句话概括就是:给我算力!
然而,由于摩尔定律限制,从14nm到7nm再到5nm的制程进步,所带来的性能增益越来越有限。
我们需要有这样一个认知,即AI对算力的需求无穷尽,不能仅依靠AI芯片去满足算力需求。
那该怎么办?
瓶颈何解?
其实,英伟达在GTC 24大会上推出的由DGX GB200系统构建的全新DGX SuperPOD,早已给出了答案。
通过在加速计算、网络和软件方面同时发力,新集群为万亿参数模型的训练和推理,提供了稳定的支持。
而且与上一代产品相比,新一代DGX SuperPOD架构的网络计算能力提升了4倍。
也就是说,刚刚的问题就迎刃而解了——通过更大的集群来突破算力的瓶颈。
然而,随着集成的芯片越来越多,我们不得不应对算法效率不高、计算资源不足、互联带宽受限等众多技术挑战。
图片
计算资源不足
一方面,AI系统的性能主要源于GPU等加速器,因此需要其具备强大的异构扩展能力。
但是,传统的计算机体系结构将加速计算模块作为CPU的配属,通过PCI-e总线接入系统,只支持有限数量的异构单元,限制了异构加速器的扩展性。
并且,同CPU的通信带宽也十分有限。
互联带宽受限
另一方面,互联成为了新的瓶颈。
AI集群早已从千卡、增长到万卡、十万卡,节点间并行所产生的海量通信需求,严重挑战了现有的互联能力。
比如,刚刚提到的GPT-4集群有2.5万块A100,而算力利用率(MFU)仅在32%到36%之间。
可见利用率非常之低,不过在当前技术条件下,几乎触顶了。
图片
文章地址:https://www.semianalysis.com/p/gpt-4-architecture-infrastructure
部分原因是故障数量过多,需要从checkpoint重新启动训练。
如果OpenAI在云端使用A100的成本是1美元/h,那么仅这一次的训练,成本就会高达6300万美元。
算法效率不高
当然,系统不是全部,AI训练是一个超级复杂的计算系统。
如果模型算法结构与硬件结构匹配不合理、并行化处理不科学等都会导致整个计算平台的利用率偏低。
除此以外,机柜之间若想实现高速的互联,不仅耗电,且散热不够的挑战也需要面对。
总而言之,解决以上难题,我们需要创新:用系统性开创思维去应对AI的挑战。
万卡集群
如今很多人都爱说,AI产业的发展「缺芯少魂」,仿佛AI发展不起来,都是芯片制造业的责任。
但实际上呢?
稍微一分析就会知道,如今AI的算力设计已经到了万卡级别,其中某一张卡的性能,并没有决定性的作用。
对于动辄千亿、万亿参数的大模型来说,单机、单卡的效率不再那么重要了。这时要看的,是算力平台的整体效率。
就拿GPT-3来说,它的训练算法效率MFU只有21.3%,近79%的算力,都被浪费掉了。
论文地址:https://arxiv.org/pdf/2204.02311.pdf
之所以有如此严重的浪费,就是因为在大规模计算中,单点效率很有限。因此算力再强都没有用,接近80%的时间,都是在等。
为什么?一是由于互联带宽的限制,二是由于算法没有考虑带宽的优化,导致效率奇低。
图片
在这种情况下,系统的互联优化、高效组织协调、算法优化,重要性也愈发凸显。
硬件
为此,浪潮信息在去年发布了「融合架构3.0」。
这是一个全新的大规模计算架构,通过高速互联总线,对计算存储进行了解耦。
图片
当GPU算力不足时,需要构建一个GPU池,这样一台服务器可以对接不仅仅是8卡,可也以是16卡、32卡。
同时,用相对比较低的算力堆积也存在瓶颈,因为CPU和GPU之间需要有个最佳的配比。
针对不同模型的类型、以及模型之间的交互量,有些GPU发挥的作用大一些,有些小一些。
通过高速的系统总线将多个节点连接,CPU、GPU、内存全部基于池化去做,实现了融合架构和算法模型之间的适配。
这种全新的架构,不以芯片为核心的单机系统,而是以万卡集群为设计出发点、以系统为核心的架构。
在未来,AI计算领域重要的创新点,就落在了如何发挥系统价值、提升系统效率上。
而这个系统里,接下来要解决的问题,就是如何互联。
互联
显然,从千卡走向万卡,系统集群之间的高速互联变得愈加重要。
以往单一任务的AI工厂模式,早已不能满足需求。
集群不仅仅是面向大模型训练,还需提供服务,正是AICloud模式所能解决的。
但过去面向超级计算的专用网络,无法很好地支持多用户、多任务、多租户的灵活需求。
提升GPU与GPU之间的高速互联,英伟达闭源NVLink网络成为最典型的代表。
英伟达在DGX SuperPOD,利用了第五代NVLink链接,同时采用了Quantum-X800 InfiniBand网络,可为系统中每个GPU提供高达每秒1800GB/s的带宽。
可以看到,GPU点对点的通信效率已从2017年32GB/S,过渡到了如今最高的1800GB/S,提升了56倍。
图片
而在未来大模型训练中,浪潮信息笃定的以「超级AI以太网」来支撑——相比于传统RoCE可以实现1.6倍的效率提升。
为什么这么说?
图片
因为,它能够实现「端网协同」,为模型训练带来极致的计算效率。
端网协同,是指AI交换机和智能网卡之间,能够实现紧密配合,并结合开放技术为网络引入创新功能。
多路径负载均衡功能,便是其中的一个最佳应用。
交换机(网侧)可以部署逐包喷洒技术,最大地提升带宽利用率,但会导致数据包乱序。
这个问题,是很难仅靠交换机本身去解决。
而智能网卡(端侧)却拥有足够的算力和资源进行乱序重排,将不可能变成可能,大大释放了网络潜力。
具体来说,通过报文保序(乱序重组)技术,可将乱序达到的报文,重新编排顺序上交到上层AI应用,将带宽效率从60%提升到95%以上。
正是超级AI以太网的出现,实现了交换机和网卡更加紧耦合的配合。
一边,交换机可以对网络数据包进行精细化的路由调度。另一边,智能网卡提供保序服务,实现了网络流量的高效均衡。
与此同时,网卡可以针对交换机上标注出的多维遥测信息,进行动态可编程的拥塞控制,实现全程无阻塞、零丢包。
由交换机+智能网卡实现高效的网络,便是「超级AI以太网」很典型的特点。
可见,若要真正发挥网络的性能,不仅需要提供大带宽,更重要的是通过良好的调度,提高「有效带宽」。
软件
有了如此复杂的系统,就要开发相应的调度软件,包括业务感知,资源自动调度和弹性扩展。
此外,在大模型开发过程中,故障隔离自愈变得越来越重要。
对于这一点,同样可以通过软件系统实现断点续算——一旦出现故障,就可以无缝退回到上一个checkpoint。
图片
散热
与此同时,在万卡集群里面,要提升效率,就要使得每个节点的计算力越来越强。
所以,高密度AI计算是必然趋势,这样机柜供电就要从12-16千瓦走到120千瓦,散热将逐渐走向液冷。
无独有偶,英伟达也在最新的DGX SuperPOD中,采用的也是液冷散热。
图片
算法
而且,算力是驱动不仅仅是源于芯片,也要靠算法。
从2017年,Transformer诞生之日至今,如果按照摩尔定律(18个月芯片性能翻一番)来算,芯片性能只提升了8倍。
然而实际上,AI计算的性能,已经提升了超过1000倍。
图片
这就绝不仅仅是由于芯片制程的优化,而是源于整个系统的提升。
从算法层面来看,过去的大模型精度是FP32,后来变成了FP16,到今年已经进入了FP8,在未来还会走向FP4。
这种变化之下,算法对算力的需求会急剧减小,但对创新会很饥渴。
而浪潮信息正是基于包括算法并行、参数并行等技术上的优化,让算力效率提升了33%之多。
图片
具体来说,浪潮信息在源2.0上采用了非均匀流水并行+优化器参数并行(ZeRO)+ 数据并行 + Loss计算分块的方法,相比于经典的3D并行方法,对带宽的需求更小,同时还能获得高性能。
举个例子,在均匀流水并行的时候,24层模型分到8个计算设备上,每个设备上会平均分到3层。
从下图中可以看到,这时内存在第一阶段就已经达到了GPU的上限。由此,模型的训练便需要更多设备、更长的流水并行线路,从而导致更低的算力效率。
而采用非均匀流水并行的方法,就可以根据模型每层对于内存的需求,结合内存的容量进行均衡分配,这样就能在有限的算力资源里把模型训起来了。
图片
不过,流水线并行策略下,整个阶段依然是比较长的。
针对这个问题,团队通过引了优化器参数并行,进一步降低各个节点上内存的开销。
内存空间省下来了,就可以合并成更大的流水线,减少节点使用数量,节省算力资源。
图片
算法创新的理念,在大模型领域也有一个佐证——MoE。
一个千亿级模型很难做到万亿级,是因为运算量和计算时间都远远超过了承载,效率奇低。
但混合专家系统MoE架构中,则是若干个千亿参数模型的混合。
而且,这样的专家调度系统,反而更符合人类大脑这种复杂的协同智慧涌现系统。
亲身尝试
发展AI应当「以系统为核心」的创新策略,正是浪潮信息多年来,在算力、大模型等领域深耕的结果。
早在2021年,ChatGPT还未出世之前,浪潮信息已然成为大模型的践行者之一,并发布了「源1.0」。
图片
经过两年多的迭代,千亿级参数基础大模型「源2.0」全面开源。
从某种角度上来讲,他们做大模型,并不是希望成为一个靠大模型「吃饭」的公司。
而只是为了探索:LLM对计算的需求多大?万卡互联中什么最重要?应用场景是什么?创新的价值点在哪?
因为,只有亲身尝试去做,才能找到答案,获得深刻的理解。
IPF 2024大会上,浪潮信息董事长彭震给举了一个栗子:
团队曾在国产平台上做大模型训练时,发现了互联带宽速率并不理想。为了克服这个的难题,工程师们在算法层做了大量的优化,采用了算法并行、参数并行,使得整个算力效率提升了33%。
要知道,一个芯片的性能提升30%,至少要制程迭代一次才行。但通过实践,浪潮信息发现,软件算法很快就可以解决这个问题。
再比如,在近2500亿参数「源1.0」的开发中,团队们获得了一个认知大模型的基础,即参数量的增加,LLM精度也得到了提升。
图片
所以说,创新不是站在岸边去想在水里怎么游泳,而是要投入其中,真干实干。
从解决问题的过程中,找到创新的路径。
这便是浪潮信息一直以来所践行的理念,通过技术、框架和规范的全方位创新构建计算系统,开辟AI新时代!
参考资料: