跳到主要内容

5 篇博文 含有标签「KV Cache」

KV Cache 与长上下文推理优化

查看所有标签

面试题:长上下文到底是怎么做到的?RoPE 为什么不能直接外推、PI/NTK/YaRN 各在插什么、32K 训练的模型凭什么撑到 128K,长上下文和 RAG 又该怎么选?

· 阅读需 17 分钟

这是「每日一题」专栏的第二十一篇。每天一道面试题,后端 + AI 混合路线,从原理到代码一次讲清。上一篇是 分库分表之后的在线扩容,今天按轮换回到 AI/LLM 方向,兑现上一篇的预告:长上下文与 RoPE 长度外推。这道题的分水岭很清楚——背过的人能说出「位置插值」四个字,真做过的人能讲清楚「为什么高频维度和低频维度的失败方式完全相反,所以一刀切必错」。

30GB 内存 4 核 CPU 上跑 16B MoE:GGUF 量化与 KV Cache 的实战调优账本

· 阅读需 12 分钟

公司那台 K8s worker 是台「三无」机器:无 GPU、4 核 8 线程(AMD EPYC 9754)、30GB 内存,CentOS 7 + nerdctl,还要兼顾集群负载。我在上面用 llama-server 跑了一个给 IDE 用的代码补全/问答服务,模型从 16B 的 DeepSeek-Coder-V2-Lite 到 135M 的 SmolLM2 随意切换。这篇把选型账本和踩坑记录写下来:量化怎么选、KV Cache 每个 token 到底吃掉多少内存、CPU 上 prefill 为什么比 decode 还慢、KV cache 满载时日志长什么样。上一篇讲了 CentOS 7 + nerdctl 编译 llama.cpp 的完整流程,这篇是运行期的优化。GPU 侧的理论对比(Continuous Batching、PagedAttention)见 vLLM 推理面试题,投机解码 是另一条优化路线,这里只谈 CPU 上最现实的三个杠杆:量化、KV Cache、并发槽位。

PD 分离架构:prefill 和 decode 拆到不同节点,Kimi 多扛了 75% 请求

· 阅读需 10 分钟

PD 分离(Prefill/Decode Disaggregation)是这两年推理集群改造里回报最高的一步。DeepSeek-V3 技术报告在部署章节明确写了 "separates the prefilling and decoding stages";Kimi 的 Mooncake 平台靠它多扛了 75% 的真实流量;vLLM、SGLang、NVIDIA Dynamo 都把它做成了一等公民。

但这项技术有个反直觉的点:它几乎不提升峰值吞吐,买的是延迟的可控性。vLLM 官方文档第一句就是 "Disaggregated prefill DOES NOT improve throughput"。本文拆解它为什么成立、KV cache 传输这笔账怎么算、两级调度怎么设计,最后给一个可运行的模拟器和一份踩坑清单。

Gisting 上下文压缩:把 6000 token 系统提示词压成 1500 个 gist token,推理成本直降 14%

· 阅读需 6 分钟

系统提示词(system prompt)正在成为 LLM 推理成本里最容易被忽略的部分。一个正经的 Agent 通常要背几十条指令、工具 schema、few-shot 示例和安全约束,动辄几千 token。每次请求都要编码这些 token,decode 时每个生成 token 又要对它们做 attention——长度是线性成本,而吞吐是用户的账单。

2026 年 8 月 19 日,Shopify Engineering 公开了他们在生产环境落地的一项技术:gisting。他们把自己的 GraphQL Agent 系统提示词从约 6000 token 压到约 1500 个 gist token(4:1 压缩),在预测质量不掉的前提下,把 350 RPM 流量下的 TTFT 从 438ms 降到 354ms(-19%)、端到端延迟从 6.8s 降到 4.2s(-38%)、吞吐从 20.2 QPS 提到 23.4 QPS(+16%),最终少用了 14% 的 GPU。这篇文章拆解它背后的原理、训练细节和部署方式。