[控场AI]
· 8 分钟阅读· 4,471 字

破解AI内存墙:五种堆叠内存利用策略

破解AI内存墙:五种堆叠内存利用策略

NVIDIA 拆解五种策略,从量化、专家分散到跨服务器上下文复用突破 AI 内存墙。

文章围绕 AI 推理中的"内存墙"问题,指出 HBM 容量有限而带宽极高,快的存不下、能存下的不够快,构成核心矛盾。NVIDIA 提出五种互补策略:NVFP4 量化将权重压至 4 位并共享 FP8 缩放因子,准确率接近 FP8;WideEP 与 NVLink 把 MoE 专家分散到多 GPU,以通信换容量;Dynamo 支持预填充/解码分离与前缀缓存复用,NIXL 负责跨节点传输;Vera CPU 通过加速工具调用和主机内存卸载缩短上下文闲置窗口;CMX 则以闪存存储层实现跨服务器上下文复用,报告长上下文场景 token 吞吐和能效最高提升 5 倍。五者共同回答存什么、存在哪、复用多少三个问题。

AI 模型越来越吃内存,这已经不是什么秘密。但“内存不够”到底卡在哪一层?NVIDIA 在「Inside the Architecture」栏目中,由 Nate Dwarika 拆解了五种让 AI 内存发挥更大价值的方法,从压缩权重到跨服务器复用上下文,形成了一条清晰的内存优化路径。

内存墙的本质:HBM 容量与带宽的双重约束

AI 需要内存来存放模型权重和正在处理的上下文。对话越长、请求越多,GPU 的高带宽内存(HBM)压力就越大。HBM 存放 GPU 正在活跃处理的数据,能以极快速度读写大量数据,但容量有限。

挑战在于同时满足容量和带宽:既要有足够空间装数据,又要有足够带宽搬运数据。当 HBM 不够用时,数据可以转移到主机内存(CPU 的系统 RAM)、本地 SSD 或共享存储,但检索这些数据需要时间。

这构成了“内存墙”的核心矛盾——快的存不下,能存下的不够快。

FP16与BF16等16位格式的演进

HBM(高带宽内存) 是堆叠在 GPU 封装内的 DRAM,通过硅中介层与 GPU 核心相连,提供远超传统显存的带宽。当前旗舰 GPU 的 HBM 带宽可达每秒数 TB,容量从几十 GB 到上百 GB 不等。HBM 的关键特性是其物理位置——它紧邻 GPU 芯片,因此访问延迟极低、带宽极高,但受制于封装尺寸和成本,容量无法像系统内存那样弹性扩展。当模型权重、KV cache 和激活值同时争用 HBM 时,容量瓶颈会迫使数据在 HBM 与主机内存之间来回搬运,而 PCIe 或 NVLink-C2C 的带宽远低于 HBM,搬运本身就成为性能损耗。理解 HBM 的"近而快但小"特性,是理解后续所有优化策略为何围绕"减少 HBM 驻留数据"展开的前提。

第五招:NVFP4 量化,把权重压到 4 位

模型训练时学到的模式被编码为参数,推理时这些权重的存储会占用大量 GPU 内存,挤压上下文和并发请求的空间。量化就是让权重占更少空间,同时保持可接受的性能。

类比社交媒体压缩照片:压缩后加载更快、存储更少,但细节会丢失,压缩过度就模糊了。量化对模型权重做类似的事——用更少的位表示数值。AI 工作负载从 FP32(32 位)演进到 FP16/BF16(16 位),再到 FP8(8 位),NVFP4 进一步降到每位仅 4 位。

4 位听起来空间很小,关键在于这些值不单独工作:每组 16 个值共享一个 FP8 缩放因子。回到照片类比,晴天拍摄时天空和树荫亮度差异巨大,压缩时希望两者都保留细节,缩放就像给照片不同区域做各自的亮度调整。MXFP4 使用更大的分组和更粗的缩放,容易丢失细微差异;NVFP4 分组更小、控制更精细,能保留更多原始信息。

公布的 DeepSeq 结果显示,在 7 项评估中 NVFP4 的准确率接近 FP8,同时权重占用位数更少。Kimi 的例子则展示了相同数量权重在 NVFP4 下所需空间显著减少。当模型和推理软件支持时,KV cache 也能以 NVFP4 存储,为更长对话和更多并发请求腾出空间。

KV cache 是自回归推理中存储注意力键(Key)和值(Value)张量的缓冲区。生成每个新 token 时,模型需要与之前所有 token 的 K、V 进行注意力计算,若不缓存则每步都要重新计算历史 token 的 K、V,代价随对话长度呈二次增长。KV cache 因此成为长上下文推理中 HBM 占用的主要来源之一:以 70B 参数模型、32K 上下文、批量 8 为例,FP16 精度下 KV cache 可轻松超过数十 GB。将 KV cache 以 NVFP4 存储,意味着在相同 HBM 容量下可支撑更长的对话历史或更大的并发批量,但需注意量化 KV cache 对注意力精度的影响通常比量化权重更敏感,需要校准缩放因子来平衡压缩率与生成质量。

即便权重量化了,它们仍可能占据大量 GPU 内存。混合专家(MoE)架构的模型内部有称为“专家”的参数组,每个 token 经过时由路由器选择一部分专家处理——不需要为每个 token 激活所有专家,但所有专家权重仍需存放。

如果把专家塞进少数 GPU,它们会占用本可用于上下文和并发请求的空间。把专家分散到更多 GPU 上,每块 GPU 只存一小部分专家权重。发往同一专家的 token 可以一起处理,分组 GEMM 内核能高效完成这些专家专属的矩阵乘法。

代价是通信:激活值要发送到持有被选专家的 GPU,输出再返回并合并。NVLink 为这些交换提供高带宽连接。每块 GPU 仍拥有自己的 HBM,收益取决于分散专家、复用权重所带来的好处能否超过额外通信开销。

WideEP与NVLink将专家分散到多GPU

混合专家(MoE) 架构将传统 Transformer 的单个前馈网络替换为多个并行的"专家"子网络,每个 token 经路由器打分后只激活其中 Top-K 个专家(通常 K=1 或 2)。这使得模型总参数量可以远大于单次前向计算实际用到的参数量——例如总参数 671B 的模型每次推理可能只激活约 37B。MoE 的内存挑战在于:虽然计算稀疏,但所有专家权重都必须驻留在某处以备路由选中。WideEP(宽专家并行)正是把专家分布到尽可能多的 GPU 上,使每卡只需承载一小部分专家,从而释放 HBM 用于 KV cache 和并发请求。代价是 token 需要跨 GPU 路由,NVLink 的高带宽和低延迟是让这种"全对全"通信不成为瓶颈的关键基础设施。

第三招:NVIDIA Dynamo,复用已计算的上下文

与其重复计算相同上下文,不如复用已存储的内容。NVIDIA Dynamo 是分布式推理服务框架,支持分离式推理:预填充阶段和生成(解码)阶段由不同工作节点处理,KV cache 在两者之间传递。

Dynamo 还协调已计算上下文的复用。不同请求可能共享相同开头,比如系统提示词或工具定义。KV cache 存储中间注意力状态,当存在匹配的前缀和兼容的缓存状态时,可以直接复用而不必重新计算。

这些上下文不必一直留在 GPU 内存中。根据引擎和配置,它可以保留在主机内存或存储里。引擎管理本地卸载;KVCR(KvCacheRunner)可利用路由器提示从另一个工作节点检索缓存上下文,NIXL 提供数据传输层。

NIXL提供数据传输层

预填充(prefill)与解码(decode)分离 是现代推理服务的重要架构模式。预填充阶段并行处理整个输入提示,是计算密集型;解码阶段逐 token 自回归生成,是内存带宽密集型。两者对硬件资源的偏好不同,混跑在同一 GPU 上会导致资源争用和利用率下降。分离式推理将两个阶段分配到不同的工作节点池,各自按最优批量配置运行,并通过 KV cache 的跨节点传输衔接。NIXL(NVIDIA Inference Xfer Library)正是为此设计的点对点数据传输层,支持 GPU 显存、主机内存和存储之间的异步搬运,使 KV cache 能在预填充节点与解码节点之间高效流动,而不必经过 CPU 拷贝或序列化。

第二招:NVIDIA Vera CPU,缩短工具调用的空闲窗口

代理暂停运行工具时,其上下文可能闲置在 GPU 内存中,占用其他请求本可使用的空间。Vera CPU 在这里扮演两个角色:在独立的 Vera CPU 机架中运行代理工具,或作为 Rubin GPU 的主机 CPU 协同工作。

先看 CPU 机架。代理需要运行代码或使用工具才能让模型继续,等待期间 KV cache 仍占据 GPU 内存。Vera 的 Olympus 核心拥有 10 宽指令解码引擎,每周期最多解码 10 条 CPU 指令,为执行做准备——这是 CPU 指令解码,而 LLM 解码生成的是 token。分支预测(包括神经预测器)帮助在代码分支时保持指令流供应。

CPU 侧工具工作完成得越快,模型就能越早恢复,缩短上下文闲置时间,减少移动或驱逐它的压力,也降低之后重新计算的风险。请求更快完成,其 GPU 内存也能更早释放。

在 Vera-Rubin-NVL72 中,Vera 作为主机 CPU,NVLink-C2C 提供主机内存与 GPU 内存之间的一致性访问。配置了 KV cache 卸载的服务软件可以把上下文移到主机内存,为即时工作腾出 HBM,需要时再取回。就像把桌上的东西放到附近架子上——仍在手边,但取回需要时间。服务软件会权衡移动和恢复上下文的成本,与保留在 HBM 或重新构建相比的收益。

第一招:NVIDIA CMX,把上下文复用到服务器之间

当另一台服务器需要这份上下文时怎么办?如果第二台服务器上没有缓存,工作就得全部重做。这就像在台式机上编辑文档后换到笔记本——文件只存在一台机器上,无法接着做;共享网络驱动器则让两台电脑都能访问同一位置。

CMX 把类似思路用于推理上下文:任一服务器都能把存储的上下文检索到本地 KV cache,扩展有效内存容量,同时平衡成本与性能。它是基于闪存的存储层,通过以太网连接,由 NVIDIA BlueField 4 STX 存储处理器驱动,服务于一组互联的计算系统(pod)。在内存层级中,它位于节点本地 SSD 和传统共享存储之间的新 G3.5 上下文层。

缓存状态仍需与模型需求匹配,服务器也需被允许使用。服务栈可以提前把上下文带入 CPU 或 GPU 内存。NVIDIA 报告称,对于长上下文和代理工作负载,借助 CMX 优化的数据路径,每秒 token 数最高可达传统存储的 5 倍,能效最高提升 5 倍。

CMX实现跨服务器上下文复用

五种策略如何协同

这五种方法覆盖了内存优化的不同层面:NVFP4 缩减权重和 KV cache 的占用,WideEP 与 NVLink 把专家分散到多 GPU,Dynamo 复用已计算的上下文,Vera CPU 缩短工具调用的空闲窗口并利用主机内存,CMX 则把复用延伸到跨服务器。

归结起来,提升 AI 内存利用率取决于三件事:存什么、存在哪里、能复用多少已有工作。这五个手段并不互斥,实际部署中往往会组合使用,在存储层级和计算节点之间寻找平衡。

#AI内存墙#NVFP4#WideEP NVLink#NVIDIA Dynamo#KV cache#混合专家模型#NVIDIA CMX#AI推理优化
分享:

相关推荐