PersistentKV:在商品 GPU 上服务的长上下文 LLM 的页面感知解码调度
PersistentKV: Page-Aware Decode Scheduling for Long-Context LLM Serving on Commodity GPUs
摘要
自回归 大语言模型 (LLM) 服务越来越受到键值 (KV) 缓存移动而不是密集矩阵乘法的限制。现代分页注意力系统减少了碎片,并且像 FlashInfer 这样的成熟内核提供了高度优化的解码注意力。然而,最好的单内核实现并不总是最好的服务计划:低活跃长上下文解码可能会导致 GPU 利用率不足,而混合序列长度会导致许多精确长度启动和粗填充批次之间的紧张关系。我们提出了 PersistentKV,一种本地块表解码注意力引擎和用于分组查询注意力(GQA)的页面感知调度研究。 PersistentKV 按 KV-head 组映射工作,直接在本机页表上执行,并添加仅执行非空 row-KV-head-sequence-split 任务的紧凑工作队列调度。在 RTX 3060(FP16,页面大小 16,Hq=32,Hkv=8,d=128)上,经过校准的屋顶线样式策略选择 FlashInfer 用于小型活动批次,为批量大小 1 (B1) 长上下文步骤选择 PersistentKV 序列分割,为受支持的 B8 长上下文 GQA 步骤选择 PersistentKV 工作队列调度。通过固定在校准轨迹上的成本模型常数,五个保留种子将 B8 双峰、均匀和类似 Zipf 的工作负载上的平均墙解码词元吞吐量提高了 1.04 倍至 1.08 倍,在 B1 分桶轨迹上提高了 1.40 倍。对于 B4 边界情况和未校准的 GQA 比率,该策略通过路由到 FlashInfer 来避免回归。我们还报告了一个注意力加 MLP 定时代理和工作负载计数器,显示工作队列调度将在保留双峰 B8 上每步的启动扇出从 16.00 次减少到 2.00 次启动。这些结果表明,工作分配是服务系统的一个决定性变量。