公众号记得⭐️,第一时间看推送不会错过。
为了应对生成式人工智能和基础模型计算需求的快速增长,IBM 研究院采用了全栈式方法,将人工智能计算能力构建并集成到我们的系统产品中。IBM Spyre 加速器正是基于这种方法而诞生的。
企业工作负载由复杂的执行流程构成,其中会使用各种类型的模型来自动化决策。将人工智能集成到企业工作负载中意味着在工作负载执行的不同阶段可能会使用多种不同的人工智能模型。因此,人工智能加速器必须具备无缝的软件集成、灵活的硬件集成以及企业级的稳健性和可管理性。从人工智能生命周期的角度来看,Spyre 的首要任务是加速推理。除此之外,我们还需要一种能够集成到多个 IBM 平台(尤其是 IBM Z 和 Power 系统)的解决方案。Spyre 的设计选择充分体现了这些考虑因素。
Spyre是 IBM 研究院全新数据流架构 AI 加速器概念的成果。虽然 Spyre 是一款针对推理优化的加速器,但我们始终秉持一个关键原则:它还必须支持 AI 的完整生命周期,包括推理、微调和训练。我们在设计架构、数字格式和可编程性时,充分考虑了这种通用性和适应性。这种架构上的“面向未来”设计,将使后续版本能够随着企业客户需求的演变,覆盖推理以外的更多用例。
从底层开始混合精度
Spyre AI 内核专为混合精度 AI 数学运算而设计。每个 Spyre AI 内核分为两个“核心单元”(corelet)。每个核心单元包含一个二维 8x8 SIMD 脉动阵列,用于矩阵乘法和卷积等运算;以及两个一维向量阵列,用于激活/归一化函数和量化/反量化运算。二维阵列包含 64 个低精度数学引擎,负责处理大部分 AI 计算;低精度设计是实现高能效运行的关键。二维阵列的 64 个引擎支持低精度 fp16、fp8、int8 和 int4 运算。一维向量阵列包含 fp32 功能,用于执行诸如激活函数等无法用低精度运算精确计算的操作。每个内核的本地存储器采用两级可编程 SRAM 暂存微架构。
Spyre 系统级芯片 (SoC) ASIC 包含 32 个活动内核(另有 2 个备用内核以提高良率),这些内核通过双向环路互连。该环路包含一个与内存交叉开关的接口,该交叉开关连接到 16 个 LPDDR5 通道,这些通道以 6.4 Gbps 的速率运行,可为内核提供 204 GB/s 的峰值带宽。LPDDR5 在低成本下优化了容量带宽比,同时为目标应用提供了足够的内存带宽。该交叉开关具有 DMA 和 RDMA 引擎的端口,分别用于在 Spyre 和主机之间以及多个 Spyre 之间通过 PCIe 传输数据。该 SoC 支持完全流水线化的 DMA/RDMA 传输和执行,允许这些阶段重叠,从而使不同阶段的独立推理能够并行运行。Spyre SoC 采用标准的 5nm CMOS 工艺实现,包含 256 亿个晶体管。
在功率限制范围内实现适应性性能
Spyre 的设计目标是满足单个 PCIe 插槽的功耗预算,且无需辅助电源接口。为了降低功耗,我们采用了多电源域策略:芯片上高活动区域采用 0.55V 的低电压供电,而对时序要求严格且活动较低的区域则采用 0.75V 的高电压供电。在平台特定的功耗预算下运行,动态电源管理对于各种 AI 模型发挥最佳性能至关重要。与以往的解决方案不同,Spyre 引入了一种新颖的双环电源管理控制机制,该机制能够通过软件控制,将峰值功耗调节到两个不同的设定点和两个不同的时间常数。这种机制的性能优于单环电源管理方案。
Spyre SoC 集成于一张单槽 PCIe 卡中,并配备 8 个双通道 LPDDR5 内存模块和电源管理控制回路电路。多张 Spyre 卡通过 PCIe 交换机通信,组成一个本地组,实现低延迟的互联互通,从而支持多卡协同工作,聚合内存带宽,提升生成式 AI 模型的性能。在 IBM Z 或 LinuxONE 系统中最多可部署 48 张这样的卡,在 IBM Power 系统中最多可部署 16 张,以扩展 AI 功能。
芯片之外
Spyre 软件栈对于整个加速器解决方案至关重要。我们与多家软件公司建立了合作关系,旨在简化与 IBM 基于 Red Hat Linux 的企业软件栈的集成。Spyre软件栈包含编译器、运行时环境、设备驱动程序和固件,从推理服务器和深度学习框架开始,用于启动推理作业。我们的主要框架是 PyTorch 2.x,其架构旨在简化加速器集成。使用 PyTorch 2.x 构建的应用程序几乎无需任何软件更改即可在 Spyre 系统上运行。
Spyre 采用独特的可编程数据流微架构和适当的整数和浮点数格式,实现了企业 AI 所需的推理效率、性能水平和灵活性。
(来源:编译自IBM)