跳到主要内容
返回时间线
LMSYS Org来源发表:

XM-Sparse把稀疏注意力的KV缓存搬出HBM:16K上下文同批下每token时间降49.25%

核心概要

Netpreme把X-Mem™内存层接入SGLang HiSparse,让解码GPU从高带宽外部内存取回未命中的KV条目,而不是走PCIe访问主机DRAM。在16K上下文、每GPU批192、20% top-k未命中率下,平均每输出token时间从167.48 ms降到84.99 ms,降幅49.25%;40%未命中率下降幅为63.58%。在20%未命中率下,16K至1M上下文的峰值解码吞吐是主机DRAM的2.09–3.04倍。

AI-generated editorial illustration: XM‑Sparse: Pushing the Throughput Frontier of Sparse Attention with Netpreme X‑Mem™

深度剖析

稀疏注意力在解码时只读取被选中的KV条目,却仍要保留完整KV缓存,因为每个token的选择会变化;XM-Sparse把这份完整缓存放到GPU之外的高带宽内存层,使解码GPU不必再从主机DRAM取数。 此前的SGLang HiSparse用热KV缓冲减少外部内存读取,并把索引器键缓存留在GPU HBM,外部内存仍走PCIe连接的主机DRAM。 在16K上下文、两种配置使用相同批大小和相同外部内存量的条件下,每GPU批192、20%未命中率时平均每输出token时间由167.48 ms降至84.99 ms,40%未命中率时由255.69 ms降至93.13 ms。

做法是把X-Mem™当作机架内共享的内存节点:预填充GPU把提示KV直接写入其中,解码GPU在HBM热缓冲里查不到被选中的条目时,再经scale-up互连取回。 X-Mem™内存处理单元单节点装四块MPU,提供最多24 TB DDR5容量和约4 TB/s聚合带宽,通过CUDA与PyTorch兼容接口暴露为GPU可寻址内存。 测试在四块NVIDIA B300解码GPU上运行GLM-5.3,注意力用DP4、专家用EP4,另用四块B300的HBM代替X-Mem™内存,走硅片将暴露的同一访问路径,使用合成KV前缀、固定未命中率并关闭预取。

容量与带宽同时决定吞吐:上下文越长,完整KV缓存越大,1 TB外部内存先卡住批大小,扩到24 TB后带宽才成为新的限制。 在128K上下文,1 TB配置即使换用NVLink-C2C也被限制在每GPU批36;扩到24 TB可到批109,但PCIe-CXL带宽成为瓶颈。 在128K、批109下,900 GB/s的scale-up互连吞吐是64 GB/s PCIe-CXL的1.39倍;在1M上下文,容量从1 TB扩到24 TB把可行批大小从每GPU 4提到20,同带宽下吞吐为2.34倍。

启示与展望

结果覆盖16K、128K与1M上下文、20%与40%两种固定top-k未命中率、关闭预取的合成KV前缀,以及四块B300解码GPU上的GLM-5.3;X-Mem™一侧由四块B300的HBM代替,容量按24 TB预算建模而非物理内存。

X-Mem™硅片尚未提供,当前数据来自X-Mem™ Pilot虚拟机;小批量时X-Mem™与主机DRAM差别很小,甚至可能略慢,收益随批量增大才明显。