AWS re:Invent 2024 — AI 基础设施架构

从 3 颗大芯片说起
要说清楚亚马逊云科技 re:Invent 2024 中所发布的最先进的 AI 基础设施架构,首先需要从云计算数据中心的 3 颗大芯片说起。它们分别是:
从下文所示的亚马逊云科技芯片自研路线图可见,自 2013 年发布了完全自研的第一代 Nitro 芯片以来,到近两年最新发布的 Gravition4 和 Trainium2,亚马逊云科技已经成为了全球范围内屈指可数的拥有完全自研 CPU、DPU、GPU 这 3 颗云计算数据中心大芯片能力的云计算厂商。
众所周知,芯片硬件,尤其是 3 颗大芯片的研发投入往往是天文数字,而且研发路径艰难且漫长。那么,为什么亚马逊云科技始终坚持芯片自研路径不放弃呢?笔者认为主要有以下 3 点原因:
创新:硬件创新是软件创新、服务创新的基石,亚马逊云科技不会让硬件成为了创新的瓶颈。
高效:亚马逊云科技提供的云服务持续领先,只有自己才能完全搞懂自身的需求,自研硬件使其得以高效的满足自身需求并推动创新技术的落地。
低成本:亚马逊云科技全球数据中心布局规模巨大,每年从芯片厂商采购 3 颗大芯片所投入的成本量级已经足够支撑自研团队,自研生产芯片供应链可以更极致的压低成本,提供更具有价格竞争力的优质服务。

Graviton 4
Graviton 是基于 ARM 架构的 CPU 芯片,第一代于 2018 年推出,而最新一代的 Graviton4 于 2023 re:Invent 发布,到 2024 年 7 月为止,已经完成了大规模部署。近两年以来,亚马逊云科技 50% 的新增 CPU 容量都已经运行在了 Graviton 上,为用户提供可选的更高效的 Amazon EC2 实例类型。

Graviton4 采用了当前最先进的 ARM Neoverse V2 架构,是业界最早支持 ARM v9 架构的芯片之一。
在计算核心方面,Graviton4 的 CPU Cores 数量已经到了 96 个;
在高速缓存方面,Graviton4 的每个 Core 的 L2 cache 扩大了 100% 到 2MB,L2 cache 总量达到了 96 * 2MB = 192MB;
在内存带宽方面,Graviton4 同时支持 12 通道的 DDR5-5600,内存带宽提升了 75%,峰值带宽可以达到 537.6GB/s;
在高速接口方面,Graviton4 支持高达 96 通道的 PCIe 5.0 高速接口,更好的满足了云计算数据中心和云存储的应用场景。
在能源功耗方面,Graviton4 的计算实例在同等性能下可以减少 60% 的能耗。
通过完全自研的、省去了中间商的 Graviton4 CPU,亚马逊云科技可以在一台同规格的计算服务器上提供 3 倍的 vCPU 核心数量,可以创建出更大规格的、更多数量的、更高性能的 EC2 计算实例,以此来客户提供了最佳的规格灵活性和成本效益。

另外,Graviton CPU 除了可以提供与 x86 架构相当的性能之外,也并不仅满足于以 Benchmark 跑分为目标。相对的,而是更加关注真实工作负载类型的性能数据来作为 CPU 微架构设计和演进的指标,例如:核心目标从 Benchmark 中的 L2/L3 Cache 优化到实际工作负载的分支预测器的优化。典型的成果包括 Web Application、Database Application、Java Application 等等云上广泛部署的真实负载性能分别有了 30%~45% 的提升。

Nitro 5
虽然比较可惜在今年的 2024 re:Invent 上没有看见 Nitro 6 的发布,但 Nitro5 在保障云基础设施全链路安全性上的创新实践依旧令人眼前一亮。
Nitro 芯片作为世界上最早发布的 DPU 之一,其旨在实现 Network、Storage、Hypervisor、Security 等虚拟化技术方面的 Workload offloading,消除了传统虚拟化技术对 CPU 资源的性能开销。同时还集成了多种功能,包括 Security Root 信任根、内存保护、安全监控等,以此来加强 Amazon EC2 实例的高性能和高安全性。在文章《看 AWS 如何通过 Nitro System 构建竞争优势》中我们已经详细介绍过 Nitro 芯片以及 Nitro System 的演进历史和设计思路,先不再赘述。

本文中我们主要关注 Nitro 已经成为了整个亚马逊云计算平台的信任根!具体而言,Nitro 提供了以下安全能力:
Nitro Security Chip:随着更多的功能被卸载到专用硬件设备上,Nitro Security Chip 提供了面向专用硬件设备及其固件的安全防护能力,包括限制云平台维护人员对设备的访问权限,消除人为的错误操作和恶意篡改。
Nitro TPM(Trusted Platform Module,可信平台模块):支持 TPM 2.0 标准,Nitro TPM 允许 EC2 实例生成、存储和使用密钥,继而支持通过 TPM 2.0 认证机制提供实例完整性的加密验证,能够有效地保护 EC2 实例,防止非法用户访问用户的个人隐私数据。
Nitro Enclaves:为了进一步保障 EC2 用户的个人信息保护及数据安全,Nitro Enclaves 基于 Nitro Hypervisor 进一步提供了创建 CPU 和 Memory 完全隔离的计算环境的能力,以保护和安全地处理高度敏感的数据。

我们知道 “安全” 对于公有云而言至关重要,因为这里面涉及到 “商业可信赖” 层面的问题。安全问题又可以细分为多个不同的维度,粗略的可以分为:软件安全、硬件安全、供应链安全、网络安全等等。
而 Nitro 解决了就是其中最重要的硬件安全部分。那么,为什么说对于公有云而言硬件安全非常重要呢?笔者认为有以下 2 点原因:
一方面,基于 Nitro DPU,亚马逊云已经将 Network、Storage、Hypervisor 这 3 大模块的 Workload offloading 到了硬件上,继而实现硬件层面的完全 Multi-tenant 隔离以及性能加速,所以这些 workload 的安全需求也随着一并卸载到了硬件之上。
另一方面,亚马逊云作为全球最大规模的云计算厂商,其硬件服务器的存在显着的标准化采购成本效益,当部署了海量的同型号服务器时,那么单一的故障或安全隐患也会造成大面积的风险。
所以,Nitro 为了确保整个硬件供应链的安全性,从芯片制造阶段开始,到硬件服务器的制造、组装、物流、上架、初始化、引导启动操作系统的全流程中,Nitro 就对每个硬件组件进行加密认证。插入了 Nitro DPU 的服务器以一种非常干净的、高内聚的方式提供了可信根安全验证功能,从,它完全隐藏了内部的安全校验细节,具有良好的 Smart Endpoint 特性。

在 2024 re:Invent 中,我们看到亚马逊云极致的将 Nitro DPU 与 Graviton CPU 之间的 PCIe 链路都进行了加密,创建了一个相互锁定的信任网络,使 CPU 到 CPU、CPU 到 DPU 的所有连接都由硬件提供安全保护。

Trainium 2
Trainium2 在 2023 re:Invent 上一经发布就引起了行业的轰动,因为 Trainim2 的本质就是一个用于 AI 模型训练和推理的 “GPU” 加速器芯片,并且从公布的技术参数来看已然有望正面竞争 Nvidia 的 Hopper H100 GPU。
计算能力:每颗芯片提供 1.3 FP8 PetaFLOPS 性能,支持 BF16 和 FP8 精度。
存储性能:搭载 96GB HBM3,提供高达 46TB/s 的带宽。
扩展性:通过 NeuronLink 网络实现多芯片互连,支持多达 64 芯片的服务器配置,并扩展到超大规模集群。

为应对大模型训练的需求浪潮,Trainium2 是亚马逊云科技专为超过 1 千亿个参数大模型的深度学习训练而打造的计算芯片,经历了 Inferentia1、Trainium1、Inferentia2 等迭代。
Inferentia1:于 2019 年发布,是一款专为机器学习推理而设计的芯片,应用于 Amazon SageMaker 托管实例中。Inferentia1 具有 4 个 NeuronCore(神经元核心),包括 ScalarEngine 和 VectorEngine,类似于 Nvidia GPU 中的 CUDA 核心。还包括了 TensorEngine,用于加速矩阵数学,类似于 Nvidia GPU 中的 TensorCore。
Inferentia1 的 NeuronCore-v1 内核在 FP16/BF16 粒度下提供 16 TeraFLOPS 的性能。与 GPGPU 相比,Inferentia 芯片针对特定工作负载进行了专门优化。它具有大规模并行处理能力,可同时处理数百万个低精度运算。在数据中心环境下,Inferentia 提供了媲美 GPU 的性能,但功耗更低、成本更优。
Trainium1:于 2020 年发布,使用 NeuronCore-v2 核心,添加了 32GB HBM(高带宽内存)堆叠 DRAM 内存以提高带宽。Trainium1 相较于 Inferentia1 可能减少了 NeuronCore 数量,但在每个核心内的 ScalarEngine、VectorEngine 和 TensorEngine 引擎数量增加了一倍。此外,Trainium1 引入了称为 GPSIMD 引擎的通用处理器,可以直接使用 C/C++ 进行寻址。
Inferentia2:于 2022 年发布,基本上是 Trainium1 的变体,通过保留 HBM 带宽并可能未激活某些元件来适应推理工作负载。其架构与 Trainium1 相似,但具有更少的 NeuronLink-v2 互连端口。Inferentia2 被亚马逊云广泛应用于 IoT 物联网、语音识别等众多传统 AI 应用及 Gen AI 应用中。
Trainium2:于 2023 年发布,下图可见 Trainium2 采用了先进的封装技术,将计算芯片和(HBM)模块集成在一个紧凑的封装(package)内。具体而言,每个 Trainium2 单卡内封装了 2 个 Trainium2 计算核心,而每个核心旁边都配备了 2 块 96GB HBM 内存模块,从而实现了计算和内存的无缝集成。这种先进的封装设计克服了芯片尺寸的工程极限,最大限度地缩小了计算和内存之间的距离,使用大量高带宽、低延迟的互连将它们连接在一起。这不仅降低了延迟,还能使用更高效的协议交换数据,提高了性能。
在计算核心方面,Trainium2 由少量大型 NeuronCore 组成,每个 NeuronCore 内部集成了张量引擎、矢量引擎、标量引擎和 GPSIMD 引擎,各司其职协同工作。这种设计思路与传统 GPGPU 使用大量较小张量核心形成鲜明对比,大型核心在处理 Gen AI 工作负载时能够有效减少控制开销。
张量引擎:作为核心计算单元,以 128×128 脉动阵列的形式,从 SRAM 缓冲区收集输入并输出结果到部分和 SRAM 缓冲区,承担了现代 LLM 工作负载中 80%以上的功率和 FLOPS 消耗;
矢量引擎:专注于加速矢量运算,如在注意层中计算 softmax 或在层/批处理规范化层中计算移动平均值和方差时发挥重要作用;
标量引擎:用于执行元素级操作等简单映射操作;
GPSIMD 引擎:具备图灵完备性,可运行任意 C++代码,方便开发人员快速实现自定义操作。
此外,Trainium2 还创新性地配备了专用的集体通信核心,专门用于与其他芯片通信,实现了计算通信重叠且避免了资源争用。这一设计相较于 Nvidia 和 AMD 在通信与计算资源共享同一核心的模式具有显著优势,大大降低了用户在平衡通信与计算操作时的复杂性。Trainium2 还将电压调节器移至封装周围,靠近芯片本身,通过更短的导线为芯片供电,减少了电压下降,提高了能效。
最后,亚马逊云科技还宣布了下一代 Trainium3 芯片,采用 3 纳米制程,预计将比 Trainium2 提升 2 倍的性能,改善 40% 的能效,将于 2025 年底推出。

从业务视角来看,Trainium1 针对训练自然语言处理、计算机视觉和推荐器模型进行了优化,这些模型常用于文本摘要、代码生成、问题解答、图像和视频生成、推荐和欺诈检测等各种应用程序。目前大模型参数量级常常到达数千亿甚至数万亿,而 Trainium2 则是面向 AI 大模型的高性能训练芯片,与第一代 Trainium 芯片相比,Trainium2 训练速度提升至 4 倍,能够部署在多达 10 万个芯片的计算集群中,大幅降低了模型训练时间,同时能效提升多达 2 倍。用于支撑 Amazon Q、Amazon Nova、Amazon SageMaker、Amazon Bedrock 等先进 AI 大模型和机器学习工作负载。
顶级单机运算性能
Trainium2 UltraServer
在介绍了 Graviton4、Nitro5 和 Trainium2 这 3 颗大芯片之后,我们把算力视角抬高到单台服务器的层级上。
2024 re:Invent 大会中,亚马逊云科技公用计算高级副总裁 Peter DeSantis 首先引用了一篇 2020 年的论文:“AI 场景中巨量的计算负载,并不能完全通过 ScaleOut(横向扩展)AI 集群来解决,同样也需要 ScaleUp(纵向扩展)单台 AI 服务器的能力。” 基于这样的设计思想,Peter 推出了 Trainium2 Server 和 Trainium2 UltraServer。

Trainium2 Server:是一台集成了 16 块 Trainium2 的服务器,单台 Trainium Server 可提供 20.8 Pflops(万亿次每秒浮点运算)算力和 1.5TB HBM 显存,显存带宽达 46TB/s。可用于训练数十亿参数的大模型。同时为了可靠性,Trainium2 Server 中每一个 “刀片” 的整个结构设计非常简单,前面是 8 块 Nitro 芯片作为网络连接,后面就是两块 Trainium2 芯片提供 AI 加速运算。

Trainium2 UltraServer:则是一体化 64 卡 AI 算力机柜,代表了当前 AI 超级计算的顶级性能,是运算能力 ScaleUP 的极致体现。Trainium2 UltraServer 高峰时提供 83.2 Pflops 算力(万亿次每秒浮点运算能力),6TB HBM 高速内存,以及 185TB/s 的 HBM 内存带宽。完全可以用来训练和部署目前最大的 AI 模型,包括语言、多模态和视觉模型。

那么,为什么必须要 ScaleUp 呢?因为当下先进的 AI 大模型的参数数量呈指数级增长,如 GPT-4 等模型已经拥有数万亿参数,单一 AI 加速器芯片已经完全无法装下一个模型的体量,集群训练已经成为了常态。虽然,相应的集群训练技术和工具也已然成熟,但 AI 加速器集群之间的数据通信效率就成为了难以忽视的瓶颈,例如,在训练 GPT-4 这样的超大型模型时,需要耗费巨大的计算资源和漫长的时间。
在竞争愈发激烈的 AI 大模型领域中,如何能够更高效的、更低成本的、更快速扩容满足算力需求的能力,就成为了赢得市场的关键之一。正如 Peter 所言:“在推动前沿模型的发展的进程中,对于极为苛刻的人工智能工作负载来说,再强大的计算能力也永远不够。”
而 ScaleUp 所带来的好处就是为大模型训练提供了更大的训练成功率、更高效的梯度数据汇聚与同步、更低的能源损耗。基于 Trainium2 UltraServer 支撑的 Amazon EC2 Trn2 UltraServer 可以提供高达 83.2 FP8 PetaFLOPS 的性能以及 6TB 的 HBM3 内存,峰值带宽达到 185 TB/s,并借助 12.8 Tb/s EFA(Elastic Fabric Adapter)网络进行互连。让 AI 工程师能够考虑在单台 64 卡一体机内以更短的时间训练出更加复杂、更加精准的 AI 模型。

AWS scales up Trainium2 with UltraServer, touts Apple, Anthropic as customers | Constellation Research Inc.
NeuronLink
Trainium2 UltraServer 的众多技术细节中不得不提到就是 NeuronLink,它是一种亚马逊云科技专有的网络互连技术,可使多台 Trainium2 Server 连接起来,成为一台逻辑上的服务器。
与传统的高速网络协议不同,NeuronLink 技术可以让 Trainium2 Server 之间直接访问彼此的内存,并提供每秒 2 TB 的带宽,延迟仅为 1 微秒。NeuronLink 技术使得多台 Trainium2 Server 就像是一台超级计算机一样工作,故称之为 “UltraServer”。“这正是训练万亿级参数的大型人工智能模型所需要的超级计算平台,非常强大!” Peter 介绍道。

AI 超级计算集群 —— Project Rainier
继续让我们把算力视角提高到集群、到数据中心。在 Peter keynote 的尾声,他提出了构建人工智能基础设施的 2 根支柱:
ScaleUp:构建更强大的 AI 服务器;
ScaleOut:构建更大规模、更高效率的 AI 服务器集群。

在 ScaleOut 层面,亚马逊云科技正在与 Anthropic 合作部署 Rainier 项目,Anthropic 联合创始人兼首席计算官 Tom Brown 宣布下一代 Claude 模型将在 Project Rainier 上训练。
Rainier 项目是一个庞大的 AI 超级计算集群,包含数十万个 Trainium2 芯片,预计可提供约 130 FP8 ExaFLOPS 的超强性能,运算能力是以往集群的 5 倍多,将为 Anthropic 的下一代 Claude AI 模型提供支持。Rainier 项目将会帮助 Anthropic 的客户可以用更低价格、更快速度使用到更高智能的 Claude AI 大模型服务。
10p10u 网络架构
为了基于 Trainium2 UltraServer 实现 ExaFLOPS 级别的 AI 超级计算集群,亚马逊云科技专门设计了 10p10u 网络架构。Peter 首先说明了 AI Network 和 Cloud Network 存在着本质的区别。由于每台 Trainium2 UltraServer 都有近 13TB 的网络带宽,所以需要大规模的、区别于 Cloud Network 的 AI Network 来防止出现瓶颈。

Peter 表示:“我们称之为 10p10u,因为它能够为数千台服务器提供高达 10PB 的网络容量,并且延迟时间低于 10 微秒。10p10u 网络是大规模并行且密集互连的,而且 10p10u 网络具有弹性,我们可以将其缩小到只有几个机架,也可以将其扩展到跨多个物理数据中心园区的集群,具有良好的弹性。”

SIDR 路由协议
在十万卡、乃至百万卡的 10p10u AI 网络架构中,其规模异常庞大,路由相对复杂。SIDR(Scalable Intent Driven Routing,可扩展意图驱动路由)是亚马逊云科技专为管理这种复杂的 AI 网络架构而设计路由协议,SIDR 开创性的结合了 “集中规划 + 分散执行” 的特性,是一个混合式的路由协议。该协议使网络能够在不到一秒的时间内响应故障,这比其他方法快十倍。

Amazon Bedrock 新一代 Gen AI 用户界面
那么在如此强大的 AI 基础设施架构中,为亚马逊云科技带来了那些 AI 技术创新呢?Amazon Bedrock 绝对是其中之一。
Amazon Bedrock 是亚马逊云科技在 2023 年发布的一项完全托管服务,让用户在可以不管关心基础设施复杂度的前提下快速使用到全球领先 AI 公司的高性能基础模型,目前支持的 AI 模型已超过 40 个,并且陆续支持了包括:导入定制模型、支持微调、利用自有数据进行检索增强生成(RAG)、全托管 Agent 等多种 AI 大模型功能。
通过 Amazon Bedrock 作为新一代 Gen AI 用户界面,为用户构建 Gen AI 应用程序提供完整的云上自服务。

在 2024 re:Invent 中,亚马逊云科技基于强大的 Tranium2 Server 推出了 Bedrock 低延迟优化推理功能。

低延迟推理意味着更快的服务反应速度和更好的用户体验,以此可支撑更优化的产品服务。其中,广受欢迎的 Llama 模型的 Llama 405B 和 Llama 70B 低延迟优化版本,在 Bedrock 低延迟优化推理功能中展现出了超越其他云提供商的出色表现。

最后

最后,Peter 在 2024 re:Invent 第一天的 Keynote 中总结:“通过持续在诸如 Nitro、Graviton 和 Tranium2 等领域的核心创新投资,亚马逊云科技正在构建更强大的人工智能服务器。而持续的领先,来自于对硬件细节极致的追求。”
这也是笔者从 2024 re:Invent 大会中最深刻的感受,亚马逊云科技对于其云计算业务的价值追求始终围绕着 “弹性、安全、性能、成本、可靠性、可持续性” 这六个方面展开,作为云计算领域的领导者,亚马逊云科技深知自研硬件对于构建创新、高效、低成本的优质云服务至关重要。对自研硬件设备坚定不移的持续投资,使其得以在激烈且快速的 AI 赛道上依旧为客户提供高效、低成本的优质服务。
评论