为 vLLM-Ascend 实现节点级 CPU Prefix Cache——设计、实现与踩坑记录
项目 PR:vllm-project/vllm-ascend#1659 为什么需要 CPU Prefix Cache大模型推理服务有几个关键指标:首 token 延迟(TTFT)、系统吞吐(QPS)、单位请求成本。在真实业务中,用户请求之间存在大量可复用的公共前缀——系统提示词、工具调用模板、多轮对话历史、RAG 检索结果、批量任务中的相同输入片段。如果能把这些前缀的 KV Cache 缓存起来复用,就可以跳过重复的 prefill 计算,直接降低 TTFT、提升吞吐。 vLLM V1 已经支持同节点内 HBM Prefix Cache 的复用,但问题在于:昇腾 NPU 的 HBM 是极其紧缺的资源。模型权重加载完后,留给 KV Cache 的空间很有限;在长上下文、高并发、大 batch 场景下,HBM KV Cache 很快会被活跃请求占满,能长期保留的 Prefix Cache 空间严重不足。所以 HBM Prefix Cache 虽然快,但在生产场景中容量受限,很难形成稳定有效的缓存命中。 那么很自然的想法就是——把 CPU DRAM 用起来。CPU 内存容...
Hello World
欢迎来到 chenxiao 的博客 🎉 这是我的第一篇博客文章。这个博客使用 Hexo 和 Butterfly 主题搭建,部署在 GitHub Pages 上。 关于我一个热爱编程和技术探索的开发者,关注 CUDA 编程、深度学习推理优化和系统设计。 博客计划后续会陆续更新以下内容: CUDA 编程学习笔记 深度学习推理优化实践 系统设计相关文章 技术杂谈 敬请期待! 1print("Hello, chenxiao's blog!")