嘉宾 | 蒋晓维博士、戴金权
采访 | 凌敏、李冬梅
作者 | 凌敏
算力是驱动人工智能产业发展的核心动力。在数据、算法和算力三大人工智能要素中,算力是将数据和算法真正通过硬件执行的基础单元,并将数据、算法转化为最终的生产力。
随着 AI 技术的高速发展,以及 AI 大模型的广泛应用,AI 算力需求正在快速增加,大概每隔 3-4 个月就会增加一倍。如今,对 AI 任务所需算力总量的度量单位已经进入 PD 时代(PetaFlops/s-day),即用每秒千万亿次的计算机完整运行一天消耗的算力总量作为度量单位。比如,特斯拉 FSD 全自动驾驶系统的融合感知模型训练消耗的算力当量是 500 个 PD。
可以看到,在 AI 大模型时代,AI 领域的“军备竞赛”正从过去算法和数据层面的竞争,转变为底层算力的竞争。机遇的背后,如何破解算力困局、实现算力优化,也是整个行业需要解决的课题。近日,InfoQ 采访了大禹智芯联合创始人 /CTO、IEEE 国际顶会 HPCA 名人堂成员蒋晓维博士,英特尔院士、大数据技术全球 CTO 戴金权,以期探索 AI 大模型时代下的算力困局破解路径,寻求算力优化最优解。
1 AI 大模型时代,算力需求大爆发
作为 AI 的重要子领域,机器学习的发展最早可以追溯至 20 世纪 50 年代。2012 年,AlexNet 首次引起广泛关注,使得机器学习分支深度学习的热度呈指数级上升。在传统的机器学习和深度学习技术中,算力作为底层基础设施扮演着至关重要的角色,不断推动上层技术迭代创新。使得这些传统技术在图像识别、图像分类、自然语言处理、广告推荐、自动驾驶和图像生成等领域愈加成熟,并在实践中得到了广泛应用。
在 AI 领域,大家关注的焦点主要包括各种各样的数据集,以及诸如 Caffe、TensorFlow、PyTorch 等深度学习框架,还有像 Horovod 这样的分布式训练框架。与此同时,底层芯片技术也在不断演进发展。最早企业使用 CPU 进行训练;随后,GPU/GPGPU(通用 GPU)成为训练和推理的标准设备;再到后来开始出现一些专用的 AI 芯片,比如谷歌的 TPU 芯片,以及国内的寒武纪等等。
2022 年,AIGC 技术迎来应用大爆发,从 OpenAI 文本生成图像系统 Dall-E2 到 AI 绘画神器 Stable Diffusion,AIGC 迅速火成“顶流”。
戴金权表示,AIGC 技术主要涵盖两类模型:一类是像 Stable Diffusion 这样的扩散模型,它可以生成图片、音频、视频等等;另一类是大语言模型,从语言模型角度来生成文本、对话等等。这两种模型的需求不一样,扩散模型更多是对计算的需求更高一些,而大语言模型更多是要求内存的带宽和大小能够支撑。很多时候一个比较大的大语言模型,是无法放到一张显卡上同时运行的,可能需要更大的内存支持。
“从英特尔的角度来看,我们需要对不同的计算、内存、Transformer 注意力机制算子的要求,以及对模型进行压缩,不管是稀疏化还是低精度等等,通过多样化技术对它进行更好的支持。多模态是一个非常重要的方向,最终大模型追求的是这个模型不仅可以追求处理文本,还可以处理图片、视频等,不再是一个单一的算子,而是很多算子在模型里同时存在,如何来提供这样的支持,都是一些技术上的挑战。”戴金权说道。
2022 年 11 月,ChatGPT 横空出世,成功掀起了 AI 大模型热潮。随后,国内外陆续发布了多款 AI 大模型。
蒋晓维认为,这一波大语言模型热潮与之前的机器学习和深度学习创新相比,确实存在诸多不同,并不断刷新大家的认知。“从 AlexNet、CNN+LSTM、VGG、ResNet,再到后来的 GAN 和最近的 Diffusion Model,以及 AIGC 领域的 Bert、GPT 等,这些模型领域的不断迭代创新已经持续至少 9 年了。ChatGPT 的出现实际上是过去 9 年各种技术栈有机结合后的一个积累和突破的过程。”
参数规模方面,GPT-3 的参数规模是 1750 亿。近日,“天才黑客”乔治·霍兹在接受采访时透露,GPT-4 参数高达 1.76 万亿,是 GPT-3 的 10 倍。算力需求方面,有数据显示,GPT-3 的整个完整训练需要 3.14E11(TFLOPS)的每秒浮点运算量。OpenAI 首席执行官 Sam Altman 曾在接受采访时指出,GTP-4 需要的计算量为 GTP-3 的 10 倍;GTP-5 需要的计算量为 GTP-3 的 200-400 倍。
大模型的背后离不开庞大算力的支撑,这种支撑通常来自于硬件与软件两方面。以英特尔为例,戴金权在接受采访时表示,从算力角度来看,英特尔支持生成式 AI 的计算主要做两方面工作:
2 如何破解 AI 算力困局?
庞大的算力需求也意味着需要高昂的训练成本。根据英伟达的数据,GPT-3 需要使用 1024 颗 A100 芯片训练长达一个月的时间,总成本约为 460 万美元。而 GPT-4 的训练成本大约在 1 亿美元左右,GPT-5 的成本会更高。
毫无疑问,AI 大模型的训练是一个“非常昂贵的过程”。所以也有观点认为,算力成本是限制 AI 大模型和生成式 AI 发展的因素之一。
“除了在软件、模型和算法层面进行多维度的优化之外,CPU 通用计算领域的发展历程可以为大模型算力领域的成本优化提供一些借鉴意义”。蒋晓维提到。在 CPU 通用计算领域,提升算力存在两种模型,分别是“Scale up”(水平方向上扩展)和“Scale out”(垂直方向上扩展)。“Scale up”是指通过各种方式将一台机器扩展到像小型机甚至大型机的规模,而“Scale out”是指通过由 CPU、内存、存储等商业化部件构建单台服务器,通过复制这些机器,并将这些机器以高性能的数据中心网络互联起来,再结合一些系统层面的技术将其构建成类似小型机的解决方案。传统的小型机是“Scale up”的经典案例,以单路和双路 x86 服务器构建的数据中心则是“Scale out”的代表。
从“Scale up”到“Scale out”是通用计算领域经历的一种发展过程。在国外,谷歌是一个早期的代表案例,而在国内,阿里是最著名的代表。阿里有一个著名的故事叫做“去 IOE”,即摒弃 IBM 的小型机、Oracle 的数据库以及 EMC 的存储,通过商用化的 x86 服务器构建“Scale out”的数据中心。
蒋晓维认为,这或许是大型模型和 GPU 算力领域未来可能要走的路线。“目前我们仍然在走走’Scale up’这条路线,单 GPU 服务器越做越大、也越做越贵。而‘Scale out’的方式,我认为应该是维持一个最基本的小单元,可能包含 CPU 、GPU 和高性能互联网卡,不同的芯片器件可以由不同的厂家提供。英伟达的 Grace-Hopper superchip 目前是这种基本单元的代表方案。通过分布式方式和高性能、高效的网络将计算单元互联起来是一种降低成本的可能途径。现如今,数据中心的网络延迟已经达到了亚微秒级别,甚至是纳秒级别,完全具备了将计算单元高效互联的能力。这是从‘Scale up’方式逐渐演变到‘Scale out’方式的一个维度。我们可以借鉴通用计算领域先前的一些经验。”
此外,通过软件来承担一些高可用功能,如容错等,以及寻找第二供应商,都是降低成本的关键手段。
算力优化探索与实践
在降低算力成本之外,如何更好地利用算力、提升算力的效率也是业界亟待解决的问题。而如何将计算能力分布式化、构建分布式计算能力,正是算力优化的前提。
在过去,大家对 AI 芯片领域的关注点主要集中在推理方面,但现在大模型使得人们更关注分布式训练,尤其是分布式训练集群的构建。因为单张卡无法满足需求,所以需要构建分布式训练集群,通过高效的互联将大量 GPU 连接起来。
除了提升单个 GPU 芯片的能力之外,另一个核心问题是如何高效地将 GPU 单卡构建成分布式训练能力。这是当前大模型算力构建过程中一个非常核心的领域和技术。这需要超级计算网络的能力和高性能网络,以高效地互联单个节点的 GPU 计算单元,并且还需要更高效的 CPU 与 GPU 协同能力。最近发布的英伟达的 DGX GH200 正是这些技术的巅峰体现。
蒋晓维认为,英伟达不仅仅是一家 GPU 算力公司,同时也是一家高性能网络和 CPU 公司。“我们可以看下英伟达的核心技术。首先,它在芯片功能方面往往是采用最先进的制程技术,同时需要在最先进的制程支持下达到单 die 面积以及功耗和散热的极限。因此,对于芯片设计领域以及制程的各个环节,都有非常高的要求。我认为这是第一个基础,就是芯片设计领域,包括先进的制程技术,高计算能力的单卡芯片。在此基础上,我们再构建多机多卡的训练,将高效的单卡互联起来。这就需要高性能网络的能力,通过这种高性能网络能力实现单卡性能的‘线性’理想状况,同时在扩展性方面也有很高的基本要求。”
在过去的几十年中,英伟达曾涉足 x86 芯片组领域,并且在退出该业务后一直致力于 ARM CPU 的研发。目前,英伟达已经推出了基于 ARM 架构的 Grace 芯片产品,并通过 NvLink C2C 能力在最近发布的 Grace Hopper 超级芯片中实现了高速高效的 GPU 和 CPU 之间的互联。通过 NvLink 技术实现多个 CPU 芯片之间的互联,以实现双路甚至多路 CPU 架构。除此之外,在完成对 Mellanox 的收购之后,英伟达在高性能网络领域的 Infiniband、RDMA、GDR 等技术也充分支持了多 GPU 服务器节点直接的互联,为“Scale out”的部署奠定了基础。
此外,英特尔和 AMD 也在同时在 CPU、GPU 和高性能网络互联技术领域具备强大能力。在 CPU 领域,英特尔和 AMD 都是行业领导者。在网络领域,英特尔拥有自己的 Mount Evans(IPU),而 AMD 在收购 Pansando 后在 DPU 领域也获得了强大实力。在带内 - 带间互联方面,英特尔通过 QPI 或 UPI 等技术实现了 CPU 的多插槽互连能力。同时,它还有像 CXL 这样的技术,可以实现加速器与 CPU 或内存与 CPU 之间的高效互连,以及自身功能所拥有的 EMIB(2.5D 封装技术),实现芯片之间的互联。而 AMD 则拥有 Hyper Transport 以及基于此的 Infinity Fabric 等核心技术,可以实现带内 - 带间芯片之间的高效互连。所有这些技术都为构建分布式算力提供了必要的基础。
目前,英伟达的 DGX GH200 产品已经达到了极致水平,其拥有 1.8 万个 CPU 核心、256 个 GPU 和 144T 内存,它们之间通过各种高速互联技术有机地结合在一起。这种模式已经对分布式训练框架和模式产生了重大影响。接下来的问题是,如何支持这种设备类型的操作系统?如何支持如此大规模的设备内存? 这些都是未来技术发展的方向和挑战。
算力优化探索与实践
在具体的算力优化探索与实践中,蒋晓维表示,作为一家 DPU 公司,大禹智芯关注的是分布式集群算力模型领域的优化,主要集中在从单机单卡到多机规模的优化。
在分布式训练场景中,尤其是训练大型模型如 GPT 时,通常需要使用成千上万个 GPU。在这个过程中,大禹智芯将算力或芯片执行的计算分为两个维度:
在大型模型训练中,当达到 2000 个 GPU 时,I/O 部分和计算部分的比例已经达到 1:1。随着 GPU 数量超过 2000,I/O 部分所花费的时间和算力可能会超过计算部分。因此,大禹智芯专注在分布式训练中优化 I/O 部分,利用核心网络技术能力来进行优化。
“在算力优化方面,我们有几个核心技术:首先是我们支持高度灵活且可编程的硬件零拥塞控制技术,用于取代传统以太网上的 RoCE v2 协议。传统协议在流量控制方面比较简单单一,存在一些问题。我们的技术提供了更灵活和可编程的解决方案,解决了这些问题。第二,我们支持超低延迟特性。第三,我们支持用于分布式训练中的 MPI 消息传递这种集体通信。通过对各个维度进行大量硬件优化,并结合 RDMA 和 MPI,在训练过程中实现与 InfiniBand 相当的性能。这些是我们在从单机单卡到分布式训练的过程中进行的算力网络优化工作。”蒋晓维介绍道。
据了解,目前在构建 GPU 算力网络方面,大多数公司仍选择使用 InfiniBand 网卡和交换机,其中主要使用两种核心技术:一种是 RDMA(远程直接内存访问) 技术,通过 GPUDirect RDMA 来消除 CPU 在 I/O 层面上的控制角色,从而降低整个训练过程中的 I/O 消耗。另一种技术是 SHARP(Scalable Hierarchical Aggregation and Reduction Protocol),这也是 Mellanox 的核心技术,通过 SHARP 技术来减少在分布式算力过程中对网络带宽的消耗。
目前,大多数公司在构建算力网络时仍基于英伟达的解决方案。然而,一些头部互联网公司已经开始在以太网上构建 GPU 算力网络,不再完全依赖 InfiniBand 网络。在这种情况下,一个核心问题是找到一个能够完全替代 InfiniBand 上 RDMA 的技术。
英伟达除了在 InfiniBand 上有 RDMA 技术之外,也有以太网上的 RDMA 技术,称为 RoCE v2。然而,在许多头部互联网公司应用中,这种技术仍然存在一些问题,所以国际国内一些头部互联网公司已经开始研发自己的技术,用以取代 RoCE v2 以太网上的 RDMA,并通过自研的方式实现更可靠的运行。他们能够在有丢包的网络环境中稳定地运行 RDMA,并将这项技术应用于 GPU 训练集群中,这是一些行业内领先公司具备的核心能力。
“对于大禹智芯来说,我们的工作完全基于这些头部公司的实践和技术趋势。我们也在致力于开发类似的产品,因为我们相信这些头部公司的核心技术往往只局限于他们自身的部署。但是,我们认为更广泛的公司可能并不具备这样的能力。像大禹智芯这样的第三方芯片公司的价值就在于通过通用化的技术,为更广泛的场景提供支持,并通过更普适的方式将这些技术落地。”蒋晓维说道。
3 写在最后:软件算法设计的多样化亦是关键
在分布式算力构建方面,蒋晓维认为,构建分布式算力网络需要与芯片领域紧密结合,并且在每个单元上都需要应用先进的制程技术,以支持最大规模的带宽。未来,需要重点考虑两方面:
“在国内,要在相对较短的时间内集合整个产业的力量共同实现目标,而不是通过一家公司逐步发展各个领域的能力,可能需要采取某种方式来结合产业力量共同实现目标。在这方面,我认为有一个关键技术是芯片领域的芯片模块化(Chiplet)技术,这是一项非常有潜力的技术。通过芯片模块化,我们可以通过成本较低的封装技术将不同的芯片模块集成在一颗芯片上,从而实现让每个领域的专业公司专注于其擅长的事情。另外,芯片模块化本身还是一个相对较新的概念,例如芯片模块化的标准化组织 UCIe 也刚刚成立不久。因此,在这个领域,国内与国外之间肯定存在差距,但差距并不是特别大,仍然有迎头赶上的机会。”蒋晓维总结道。
展望未来,戴金权希望可以做到“AI 无所不在”,不管是在本地端、云端还是边缘端。从这个角度来看,从小尺寸设备扩展到大规模数据中心的 XPU 架构,是一个非常重要的、且能够支持未来 AIGC 技术无所不在的需求的趋势。从软件的角度来看,现在的大模型基本上是以 Transformer 架构作为基础构件,目前业界正在做大量的研究工作,探索 Transformer 架构对内存的需求,包括内存带宽、内存容量以及计算需求如何进行更好的加速。从发展的眼光来看,至少 Transformer 这样的大模型可能会有更大的尺寸,包括输入上下文的扩展,将来可能是今天的几倍、几十倍甚至更高。这必然会对软件算法的设计,比如低精度、低比特、压缩、稀疏化,包括注意力机制设计等有不同的需求。
“所以,软件算法设计的多样化,是我们认为未来有助于满足 AIGC 和大语言模型的算力需求的重要组成部分。这些需求可能会进一步引导我们未来的训练、推理,以及芯片的架构等。此外,大模型还在快速发展当中,可能在更长的时间段,比如十年、几十年的时间里有很多的发展,有不同算法级别的发展,以及在不同场景适配的发展,这些都会对 AI 芯片,包括对所有计算的芯片、计算的能力带来深远的影响。”戴金权总结道。
采访嘉宾
蒋晓维博士,大禹智芯联合创始人 /CTO,入选 HPCA 名人堂,曾供职英特尔、阿里、谷歌。是英特尔首颗超低功耗处理器 Quark D1000 首席架构师、Edison SoC 芯片架构师。在阿里工作期间,为国内首颗 x86 CPU 的特性定制化工作带领人、阿里智能网卡团队创建人、阿里云倚天 710 Arm CPU 的 IO 子系统首席架构师。曾担任谷歌智能网卡团队技术负责人,带领团队进行 IPU 在谷歌云的研发部署工作。
戴金权,英特尔院士、大数据技术全球 CTO。负责领导英特尔全球(位于硅谷和上海)的工程团队在高级大数据分析、分布式机器学习和深度学习上的研发工作,以及和全球领先的研究机构(如 UC Berkeley AMPLab、RISELab 等)的技术合作。Apache Spark 项目的创始 committer 和项目管理委员会(PMC)委员,Apache MXNet 项目导师,BigDL 和 Analytics Zoo 项目创始人。