稀疏注意力的新外挂:LMSYS 联手 Netpreme,KV 外置换内存层,解码快 2–3 倍

> 原文:LMSYS Blog《XM-Sparse: Pushing the Throughput Frontier of Sparse Attention with Netpreme X-Mem™》,作者 Netpreme Team,2026-11-05 发布。本文据原文改写,数据以原文为准。

稀疏注意力(sparse attention)有个尴尬:每一步 decode 只用到少数 KV 条目,但完整 KV 缓存一个都不能丢,因为”选哪些”会随生成过程变化。于是显存不够时,大家只能把 KV 往外挂——而外挂如果带宽不够,解码延迟就会被拖垮。

LMSYS 博客 11 月 5 日发布的一篇技术文章给出了新解法:把外挂的 KV 从普通内存换成专门的高带宽内存层,配合 SGLang 的 HiSparse 稀疏注意力路径,在 16K 上下文下把 TPOT(每输出 token 时间)压掉 49.25%,峰值解码吞吐做到 PCIe 方案的 2.09–3.04 倍。

需要先说明的是:文章署名 Netpreme Team,发布在 LMSYS 官方博客上,测的是自家 X-Mem 内存处理单元(MPU)——带有明确的厂商立场。但它的建模方法和测试口径公开得比较完整,数据仍可作为参考。

> 补充一句区别:我们前几天发过的《把 KV 缓存挪进 SSD:首 token 延迟降了 4 倍》讲的是存储层(SSD 撑前缀缓存,目标是压 TTFT);这篇讲的是内存层 + 稀疏注意力选路(只取本步真正要用的 KV 条目,目标是压 TPOT、提高高并发下的解码吞吐)。两者优化的环节和指标都不一样,可以对照看。

现有的 KV 卸载架构与热 buffer 机制(原文图 1)
现有的 KV 卸载架构与热 buffer 机制(原文图 1)

图:现有 KV 卸载架构,完整 KV 在主机内存、decode GPU 只保留热 KV buffer,缺失条目经 PCIe 回取(图源:LMSYS Blog)

瓶颈到底在哪:带宽和容量两个独立的墙

文章把外部内存方案拆成四种配置做建模对比:

外部内存方案 每 GPU 带宽 四卡实例总容量
PCIe(基线) 64 GB/s 1 TB
CXL 64 GB/s 24 TB
NVLink-C2C(Grace-Blackwell) 225 GB/s 1 TB
Scale-up 扩展内存 900 GB/s 24 TB

模型跑的是 GLM-5.3,四张 B300 做 decode(attention DP4 + MoE EP4)。每个请求每层保留 4096 token 的热 KV buffer,每步从完整 KV 中选出 2048 个条目;每 GPU 划出 60 GiB HBM 给热 KV 和索引缓存,外部内存占比假设为 20% miss 率(来自此前 trace 分析)。

结论很直接——高吞吐需要同时满足容量和带宽,缺一不可:

  • – 128K 上下文(编码 Agent 的典型场景):1 TB 配置受容量限制,每 GPU 只能跑 batch 36,就算换成 225 GB/s 的 NVLink-C2C 也无济于事;扩到 24 TB 后 batch 提到 109,但这时 PCIe-CXL 就成了带宽瓶颈,此时 900 GB/s 的 scale-up fabric 拿到 1.39 倍吞吐。
  • – 16K 上下文:容量不是问题(每 GPU batch 241 时,四卡合计只用 0.85 TB,仍在 1 TB 预算内),纯带宽决定胜负,900 GB/s 相对 64 GB/s PCIe 拿到 1.80 倍。
  • – 1M 上下文:容量重新成为主约束,同样 64 GB/s 带宽下,把容量从 1 TB 扩到 24 TB 把可行 batch 从 4 提到 20,吞吐 2.34 倍。
外部内存带宽与容量对解码吞吐的影响建模(原文图 2)
外部内存带宽与容量对解码吞吐的影响建模(原文图 2)

图:128K 上下文下四种外部内存配置的解码吞吐建模,容量与带宽同时构成约束(图表源:LMSYS Blog)

16K 与 1M 上下文下的建模对比(原文图 3)
16K 与 1M 上下文下的建模对比(原文图 3)

图:(a) 16K 与 (b) 1M 上下文下的建模吞吐与每 GPU batch(图表源:LMSYS Blog)

KV 缓存卸载到 X-Mem 的架构示意(原文图 4)
KV 缓存卸载到 X-Mem 的架构示意(原文图 4)

图:KV 缓存卸载到 Netpreme X-Mem 的架构,prefill GPU 发布 KV,decode GPU 经 scale-up fabric 取回缺失条目(图源:LMSYS Blog)

实测:TPOT 降一半,吞吐翻两三倍

在 X-Mem Pilot 虚拟机上,用 SGLang HiSparse 做实测:

同 batch 下的延迟对比(16K 上下文,每 GPU batch 192,关闭 prefetch):

miss 率 host DRAM over PCIe X-Mem TPOT 降幅
20% 167.48 ms 84.99 ms -49.25%
40% 255.69 ms 93.13 ms -63.58%

小 batch 差别不大,甚至可能略慢;batch 越大收益越明显。miss 率越高,降幅越大——因为要回外部内存取的 KV 变多了。

峰值吞吐对比(20% miss,取各配置最高吞吐的 batch):X-Mem 在 16K–1M 各上下文长度上达到 host DRAM 的 2.09–3.04 倍。

需要说明的是测量条件:decode 用 4 张 B300,另用 4 张 B300 的 HBM 充当 X-Mem 内存(走与真实硅片相同的访问路径),容量按 24 TB 预算建模而非物理显存;host DRAM 对照组按 1 TB 预算;用的是合成 KV 前缀与固定 miss 率,prefetch 关闭。硅片本身”稍后才会上市”——目前能拿到的是 Pilot VM。

SGLang HiSparse 不同 miss 率下的平均 TPOT 对比(原文图 5)
SGLang HiSparse 不同 miss 率下的平均 TPOT 对比(原文图 5)

图:16K 上下文、关闭 prefetch 时的平均 TPOT,(a) 20% miss、(b) 40% miss,箭头标出 batch 192 处的降幅(图表源:LMSYS Blog)

各上下文长度下 X-Mem 与 host DRAM 的峰值解码吞吐对比(原文图 6)
各上下文长度下 X-Mem 与 host DRAM 的峰值解码吞吐对比(原文图 6)

图:20% miss 下的峰值解码吞吐(每 GPU tok/s),虚线为每 GPU batch,蓝柱上方为相对 host DRAM 的倍数(图表源:LMSYS Blog)

X-Mem 是什么形态的东西

Netpreme X-Mem 是一种内存处理单元(MPU),定位是”机架里的专用内存节点”,通过高速 fabric 对 GPU 暴露可寻址内存:

  • – 单节点 4 个 MPU,最高 24 TB DDR5 内存,聚合内存带宽约 4 TB/s,由机架内 GPU 共享;
  • – 支持 GPU 对等访问,内存层可以独立于算力横向扩展;
  • – 通过 CUDA / PyTorch 兼容 API 暴露,保留 HiSparse 的稀疏选择、缓存管理与 prefetch 机制,支持 CUDA Graph 捕获与重放(decode 计算和 selected-KV 取回都能 capture);
  • – 共享前缀请求可以共用同一份 KV,避免重复存储;owner 进程创建共享内存区域,其它进程用可移植描述符 attach,全部 detach 后才释放物理内存。

生命周期也很清楚:prefill GPU 直接把 prompt KV 写入 X-Mem → 发布完成后 decode 无需先在 decode 侧 HBM 里落一份完整 prompt → decode 每步从本地热 buffer 找,没命中的再回 X-Mem 取 → 新生成的 KV 追加回 X-Mem 供后续步骤使用 → 请求结束后等所有 KV 访问完成再回收。

小夏点评

  1. 1. 这篇最值得抄的不是数字,是那套”带宽 × 容量”双约束模型。B_max = min(HBM 允许的 batch, 外部内存允许的 batch),两条线哪条先卡住,决定你该加显存还是加带宽。国内的推理集群做扩容规划时,经常只盯着”显存放不放得下”,结果加完显存发现瓶颈在 PCIe 带宽上——文章里 128K 场景正是这个陷阱:换 225 GB/s 的 NVLink-C2C 也没用,因为容量先卡死了。
  2. 2. TPOT 降 49.25% 这条只在 batch 192 时成立,小 batch 甚至可能更慢,这个前提必须照抄进任何选型结论。它意味着稀疏注意力的内存层收益只在高并发场景兑现——低并发的在线服务、批处理式的离线任务都吃不到。评估时务必按自己的真实 batch 分布测一遍。
  3. 3. 国内落地要过三道关:一是内存层的位置——900 GB/s 的 scale-up fabric 目前是 NVLink 域内的事,跨机架 RDMA 的带宽离这个量级差着数量级,X-Mem 这类”内存进机架”的形态暂时难以照搬;二是容量口径——模型里的 24 TB 是按建模预算给的,真实集群里 1 TB 预算跑 128K 上下文时 batch 只有 36,扩内存的收益要按自己的 miss 率重新折算;三是厂商绑定风险——硅片还没上市,今天能用的是 Pilot VM,采购决策前务必在真实负载上复现这套测试方法。另外提醒一句:SGLang HiSparse 这条稀疏注意力路径本身与常规 dense attention 的推理质量差异,文章没有给出评测,落地前要自己补一轮业务侧效果验证。

原文链接

  • – LMSYS Blog:XM-Sparse: Pushing the Throughput Frontier of Sparse Attention with Netpreme X-Mem™(2026-11-05)

https://www.lmsys.org/blog/2026-11-04-xm-sparse

  • – Netpreme X-Mem 早期访问(Pilot VM 申请)

https://netpreme.com/xmem/early-access

  • – SGLang HiSparse 稀疏注意力(前作介绍)

https://lmsys.org/blog/2026-04-10-sglang-hisparse/

  • – SGLang 开源仓库

https://github.com/sgl-project/sglang

您可能还喜欢...

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注