# TierKV：跨节点分布式KV缓存系统，让LLM长上下文推理提速7倍

> TierKV通过三层架构（GPU热层、LAN冷KV层、WiFi冷SSM层）将驱逐的KV缓存跨网络保留，实现长上下文推理的TTFT从30秒降至4秒，为低成本扩展LLM推理上下文长度提供了新思路。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-03T07:43:08.000Z
- 最近活动: 2026-05-03T07:49:57.018Z
- 热度: 159.9
- 关键词: LLM推理, KV缓存, 分布式系统, 量化压缩, 长上下文, EXO框架, gRPC, TurboQuant
- 页面链接: https://www.zingnex.cn/forum/thread/tierkv-kv-llm7
- Canonical: https://www.zingnex.cn/forum/thread/tierkv-kv-llm7
- Markdown 来源: ingested_event

---

# TierKV：跨节点分布式KV缓存系统，让LLM长上下文推理提速7倍\n\n在大型语言模型（LLM）推理过程中，KV缓存（Key-Value Cache）是提升效率的关键机制。它避免了重复计算已处理token的注意力状态，但随着上下文长度增加，KV缓存的内存占用呈线性增长，最终迫使GPU驱逐部分缓存。传统方案通常将这些被驱逐的KV直接丢弃，导致后续相同提示的请求必须重新进行昂贵的预填充计算。TierKV项目提出了一种创新思路：与其丢弃，不如将KV缓存迁移到网络中的其他机器上。\n\n## 问题背景：长上下文推理的瓶颈\n\n现代LLM推理面临一个核心矛盾——用户期望模型处理越来越长的上下文（数万甚至数十万token），但GPU显存却是稀缺资源。当KV缓存占满显存后，系统必须做出艰难选择：要么拒绝新请求，要么驱逐旧缓存。驱逐意味着后续遇到相同提示时，需要重新计算全部KV状态，这个过程被称为"冷启动"。\n\n以Qwen3.6-35B-A3B模型为例，处理8000token的提示需要约70GB BF16格式的KV缓存。在单卡环境下，这很容易触及显存上限。传统解决方案包括量化压缩、分页缓存等，但都无法根本解决显存容量限制。TierKV另辟蹊径：利用局域网中闲置设备的内存资源，构建分布式KV缓存层级。\n\n## 三层架构设计\n\nTierKV的核心架构分为三个层级，每层承担不同的角色：\n\n### 热层（Hot Tier）：GPU上的KVPrefixCache\n\n这是速度最快的层级，直接驻留在GPU显存中。TierKV基于EXO框架的KVPrefixCache实现，当显存占用达到60%阈值时触发驱逐机制。被驱逐的KV不会直接删除，而是通过钩子函数拦截，送往冷层存储。\n\n### 冷KV层（Cold KV）：全注意力层跨节点存储\n\n这一层负责存储完整的注意力KV状态（KVCache/RotatingKVCache）。TierKV使用gRPC协议将数据发送到局域网内的专用节点（如Mac Pro），传输前采用TurboQuant INT8量化压缩，实现约3.9倍压缩比，信噪比（SNR）保持在52dB以上。以Qwen3.6-35B-A3B为例，40层中有10层使用全注意力机制，这些层的KV状态会被送往冷KV层。\n\n### 冷SSM层（Cold SSM）：线性注意力层分离存储\n\n现代混合架构模型（如Qwen3.6系列）大量使用线性注意力（SSM，State Space Model）替代传统注意力机制。TierKV将剩余的30层SSM状态分离存储到另一台节点（如Mac Air），通过WiFi连接。这种分离设计让两种不同类型的状态可以并行传输，减少网络瓶颈。\n\n## 性能实测：从30秒到4秒的飞跃\n\nTierKV在真实硬件集群上进行了测试，配置包括：DGX Spark作为推理节点（128GB内存）、Mac Pro M2作为KV冷层（32GB内存，10GbE LAN连接）、Mac Air M2作为SSM冷层（16GB内存，WiFi连接）。\n\n测试结果显示了显著的性能提升：\n\n- **8000token提示**：冷启动TTFT为30.83秒，从冷层恢复仅需4.11秒，**提速7.3倍**，节省约26秒\n- **3707token提示**：冷启动TTFT为23.78秒，从冷层恢复仅需4.59秒，**提速5.2倍**\n\n这种提升在长上下文场景中尤为珍贵。想象一下客服机器人处理长篇用户历史记录，或代码助手分析大型项目上下文——每次缓存命中都能节省数十秒的等待时间。\n\n## 技术实现细节\n\n### TurboQuant量化算法\n\nTierKV内置了专门的INT8量化器TurboQuant，针对KV张量的分布特性优化：\n\n- **分组量化**：每组256个浮点数共享一个缩放因子，缩放因子计算为`max(|x|) / 127`\n- **高压缩比**：BF16输入转为INT8输出，压缩比约3.9倍\n- **质量保障**：每组独立计算缩放因子，隔离异常值，确保SNR≥52dB\n\n### 批量传输优化\n\n早期实现需要40次顺序RPC调用传输所有层，TierKV优化为两次并发的BatchPromote RPC调用，大幅降低了网络往返开销。当缓存未命中时，系统同时从KV冷层和SSM冷层拉取数据，充分利用网络带宽。\n\n### 自动层类型检测\n\nTierKV通过`isinstance`检查自动识别层类型（全注意力vs线性注意力），无需手动配置层索引。这简化了不同模型的适配工作，提高了系统的通用性。\n\n## 部署与使用\n\nTierKV的部署需要至少两台机器：一台运行推理，一台作为冷存储。三机配置可将KV和SSM层分离到不同节点以获得更好吞吐量。\n\n部署流程包括：\n\n1. **克隆仓库并构建Rust扩展**：`cd tierkv-core && maturin develop --release`\n2. **安装Python包**：`pip install -e .`\n3. **配置集群**：编辑`tierkv.toml`设置各节点IP和角色\n4. **启动冷层服务**：在各冷层节点运行`tierkv vault --port 50051`\n5. **集成到EXO**：在推理节点运行`tierkv install`并添加钩子代码\n\n配置文件中需要指定各节点的网络地址，包括KV冷层（通常LAN连接）、SSM冷层（可以是WiFi连接）和重计算服务（通常本地）。内存阈值、量化维度等参数也可在此调整。\n\n## 未来发展方向\n\nTierKV目前处于早期阶段，团队已经规划了多个改进方向：\n\n- **持久化冷存储**：当前冷层数据仅存于内存，计划支持SQLite或内存映射文件，实现重启后数据不丢失\n- **自适应量化**：基于真实KV激活数据训练TurboQuant码本，进一步提升SNR\n- **LRU驱逐策略**：当前冷层无限增长，计划添加可配置容量限制和LRU淘汰\n- **WiFi性能优化**：SSM层通过WiFi连接是瓶颈，考虑支持LAN连接或多路径传输\n\n## 总结\n\nTierKV为LLM推理的KV缓存管理提供了一个全新的分布式视角。它巧妙地利用局域网中闲置设备的内存资源，将原本被丢弃的KV状态转化为可复用的资产。在测试会话中，227次驱逐中有6次成功从冷层恢复，每次恢复节省约26秒——这种累积效应在大规模部署中将产生显著价值。对于希望在不增加GPU投资的情况下扩展上下文处理能力的团队，TierKV值得认真评估。\n\n项目采用开源许可证发布，代码和详细文档可在GitHub获取。
