当前位置: 主页 > 技术方案

人工智能芯片架构-64位架构的a9芯片

发布时间:2023-06-08 10:03   浏览次数:次   作者:佚名

在五月底的Computex上,Nvidia发布了新一代超算DGX GH200。根据Nvidia的官方资料,该DGX GH200超级计算机将基于其Grace Hopper superchip,在DGX GH200中,可包含多达256个Grace Hopper超级芯片,能提供高达1 EFLOPS的AI算力,另外每个DGX GH200中,都能提供高达144TB的内存,GPU和CPU之间的带宽则达到了900 GB/s。在数据互联方面,DGX GH200使用了NVLink,并且使用了自研的NVSwitch网络交换芯片来满足互联的性能和可扩展性。

人工智能芯片架构_fpga芯片架构设计与实现_64位架构的a9芯片

我们可以看到,DGX GH200中,最关键的芯片,包括CPU/GPU以及数据互联等,几乎都是Nvidia自研的芯片。相比而言,上一代使用Hopper GPU的超算DGX H100 SuperPOD还是在使用Intel的Sapphire Rapids CPU,并且由于Intel的CPU并不提供NVLink的接口,因此限制了其内存空间的可扩展性——上一代DGX H100 SuperPOD的内存是20TB,而DGX GH200则提供了144TB,直接翻了7倍以上。我们将会在接下来的分析中看到,内存空间的拓展是目前超级计算机最关键的指标之一,而Nvidia在多年芯片架构方面的努力之后,终于有机会能使用自研芯片来实现这样一个内存空间大到惊人的超级计算机。

DGX GH200超级计算机主要针对超高性能人工智能计算。根据目前Nvidia的消息,谷歌和微软等人工智能领域的领军企业将会成为DGX GH200的首批客户。

大模型人工智能时代,超级计算机重要性凸显

目前,人工智能已经进入了以大模型为主导的下一个时代。以ChatGPT为代表的大语言模型可以从海量的语料数据中学习并且拥有前所未有的能力,但是相应地这些大语言模型也有相当大的参数量,例如根据现有的资料,OpenAI的GPT4有大约1T的参数量。除了在自然语言处理方面之外,大模型人工智能模型也广泛应用在推荐系统等领域。随着这些大模型的进一步发展,预计大模型参数量很快就会进入到1T乃至10T数量级。

fpga芯片架构设计与实现_64位架构的a9芯片_人工智能芯片架构

显然,这样的模型不可能在单台常规服务器上进行训练,因为单台服务器的内存不足以支撑这些大模型的训练/推理任务。因此,在人工智能领域,通用的做法是把这些大模型分散(sharding)在多台服务器上进行训练和推理。

举例来说,可以把一个大模型分散到32台服务器上进行训练,其中每台服务器都有自己独立的内存空间,并且负责大模型神经网络中一些层的执行(以确保每台服务器的内存足够容纳相应的计算任务),然后每台服务器在完成计算之后,通过网络把结果归并到一起成为最终的结果。

64位架构的a9芯片_fpga芯片架构设计与实现_人工智能芯片架构

这样常规的分布式计算的做法理论上可以支持无限大的模型,只要能够把模型划分到足够细的颗粒度让单台服务器可以容纳即可。然而,这样的做法有一个明显的系统瓶颈,就是在这样的云端分布式计算中,每台服务器之间通常使用网络(以太网或者更高速的InfiniBand)连接在一起,因此每次计算的结果归并部分往往就会成为系统性能瓶颈,因为在归并这一步需要把每台服务器的数据通过网络传递到一起,而显然在分布式计算中服务器数量越多且网络带宽越小/延迟越大,整体的性能就会越差。

fpga芯片架构设计与实现_人工智能芯片架构_64位架构的a9芯片

在这样的背景下,超级计算机有机会会成为大模型时代的重要计算范式。和分布式计算略有不同的是,超级计算机强调把高性能计算单元尽可能集中,并且使用短距离超高带宽/超低延迟的数据互联连接在一起。由于这些计算单元之间的数据互联性能远高于使用长距离的以太网/InfiniBand,因此整体性能并不会受到数据互联带宽的太多限制。相比传统的分布式计算,使用超级计算机的方式可以在峰值算力相同的情况下,实现更高的实际计算能力。

在上一代人工智能计算(以计算机视觉领域的ResNet-50为代表)的范式中,每个模型的参数量大约在100M左右,每台服务器容纳下模型并不存在任何问题,因此在训练过程中通常不涉及到模型sharding的问题,数据互联也不是整体性能的瓶颈,从而超级计算机并没有得到那么多的关注。而在大模型时代,由于模型尺寸已经超过了每台服务器能够容纳的极限,因此如果需要实现高性能训练和推理,像DGX GH200这样的超级计算机就成为了非常好的选择。而且,随着模型参数量越来越大,对于超级计算机的内存容量也提出了越来越多的要求。Nvidia这次也发布了DGX GH200和上一代DGX H100性能的比较,我们可以看到在GPU数量相同的情况下,对于大模型应用,拥有更多内存且使用NVLink的DGX GH200的性能要数倍于内存较小且使用InfiniBand的DGX H100。

人工智能芯片架构_64位架构的a9芯片_fpga芯片架构设计与实现

Grace-Hopper架构解析

64位架构的a9芯片_fpga芯片架构设计与实现_人工智能芯片架构

在DGX GH200中,使用的是Grace Hopper superchip,每个DGX GH200中可以搭载多达256个Grace Hopper superchip。

64位架构的a9芯片_fpga芯片架构设计与实现_人工智能芯片架构

什么是Grace Hopper superchip?根据Nvidia发布的白皮书,Hopper是Nvidia最新基于Hopper架构的GPU(即H100系列),而Grace则是Nvidia自研的基于ARM架构的高性能CPU。从指标上来说,Grace Hopper superchip可以包含至多72个CPU核,而CPU通过LPDDR5X接口接了高达512GB的内存,内存带宽达546 GB/s。而GPU这边则通过HBM3接口接了最多96GB的显存,带宽可达3TB/s。除了CPU和GPU之外,Grace Hopper superchip中另一个至关重要的组件是NVLINK Chip-2-Chip(C2C)高性能互联接口。在Grace Hopper superchip中人工智能芯片架构,Grace CPU和Hopper GPU通过NVLINK C2C连接起来,该互联可以提供高达900GB/s的数据互联带宽(相当于x16 PCIe Gen5的7倍)。此外,由于NVLINK C2C可以提供一致性内存接口,因此GPU和CPU之间的数据交换变得更加高效,GPU和CPU可以共享同一个内存空间,系统应用可以只把GPU需要的数据从CPU的内存搬运到GPU,而无需把整块数据都复制过去。

fpga芯片架构设计与实现_64位架构的a9芯片_人工智能芯片架构

64位架构的a9芯片_fpga芯片架构设计与实现_人工智能芯片架构

从物理上说,Grace Hopper的CPU和GPU芯片仍然是两块独立的芯片,并且互联使用的也是PCB板上的走线;但是从逻辑上说,由于CPU和GPU都可以看到同一个内存空间,因此可以看作是一个整体。

Grace Hopper superchip在设计的时候,可扩展性显然是作为首要指标在考虑。在这里,NVLink再次发挥了至关重要的左右:每个Grace Hopper superchip可以使用NVLink Switch以900GB/s的超高带宽与其他Grace Hopper superchip互联在一起,这样的互联最多可以支持256个Grace Hopper superchip形成一个superchip pod——而这也是Nvidia在这次发布的DGX GH200中的互联方式。除此之外Grace Hopper superchip还可以通过与Nvidia Bluefield DPU的接口去连接InfiniBand,这样superchip pod之间可以通过InfiniBand的办法进一步扩展到更大的规模人工智能芯片架构,从而实现更高性能的计算。

人工智能芯片架构_fpga芯片架构设计与实现_64位架构的a9芯片

通过上述分析,我们看到在Grace Hopper superchip中,Nvidia的NVLink系列超高性能数据互联起到了至关重要的作用,通过提供高达900GB/s的带宽并且提供一致性接口,Grace Hopper superchip实现了非常强的可扩展性。Grace Hopper superchip中CPU与其他高性能服务器端ARM CPU的区别可能就是对于NVLink接口的支持,而这也成了Grace Hopper superchip最大的亮点。

人工智能芯片架构_64位架构的a9芯片_fpga芯片架构设计与实现

未来竞争格局前瞻

Nvidia通过发布拥有惊人性能和内存容量的DGX GH200超级计算机来宣示其Grace Hopper superchip对于下一代大模型人工智能的领先加速能力,与此同时我们也看到类似Grace Hopper superchip这样的通过紧密耦合CPU和GPU(以及其他加速器),并且通过搭载超高速一致性内存接口来实现对于大模型的高效支持,将会成为未来人工智能芯片领域的重要设计范式。

目前来看,在下一代大模型支持领域,Nvidia无疑是芯片行业最领先的选手,而有实力在未来和Nvidia一争高下的厂商有可能是AMD。事实上,AMD和Nvidia在这个领域的设计思路非常接近。Nvidia有Grace Hopper superchip,而AMD的相关产品则是CDNA3 APU。在CDNA3 APU架构中,AMD把CPU和GPU通过芯片粒的方式集成在一起,并且使用一致性数据互联来支持统一的内存空间。在AMD最新发布的MI300产品中,每个APU集成了24个Zen 4 CPU核以及若干个使用CDNA3架构的GPU(具体数据有待发布),并且搭载了128 GB HBM3内存。

如果我们比较Nvidia和AMD的设计,我们可以看到把CPU和GPU做紧密耦合并且使用一致内存空间的思路完全一致,但是具体设计中也有几个关键的不同:

首先,AMD使用的是高级封装芯片粒的技术来实现CPU和GPU的集成,而Nvidia则是基于其在NVLink技术上的自信使用传统的PCB来集成CPU和GPU。但是,这一点在未来可能会发生改变;随着PCB的数据互联带宽越来越接近极限,预计Nvidia也会在未来越来越多使用高级封装技术来完成互联。

其次,Nvidia在内存空间和可扩展性领域更加激进。每个Grace Hopper superchip的内存可达600GB,而通过NVLink Switch更是可以实现高达144TB的内存空间;而相比之下AMD的CDNA3 APU的内存空间仅为128 GB。这里,我们看到Nvidia多年来在一致性数据互联领域的技术投入显然起到了非常好的效果,在未来大模型领域这类超高可扩展性数据互联用于扩展内存空间可望成为关键的技术,而在这一点上AMD也需要继续投入来追赶Nvidia的领先地位。