推理工程入门:Prefill/Decode 分离与 KV Cache 优化全解析
techNmak · x · 2026-10-07
一篇系统讲解推理工程(Inference Engineering)重要性的长文,作者认为训练被过度关注,而真正服务线上流量时的工程问题被低估。
核心框架:Prefill 与 Decode 分离
- Prefill:并行处理整个输入 prompt、生成可复用的 KV 状态,算术强度高,吃 GPU 算力
- Decode:每步只生成一个 token,反复读取权重和不断增长的 KV cache,实际批大小下主要受内存带宽限制
关键技术及其解决的问题
- FlashAttention:减少 HBM 与片上 SRAM 之间的读写,计算精确注意力
- PagedAttention:按块管理 KV cache 内存,替代大块连续分配,减少碎片
- MQA/GQA:减少 KV 头数量,直接降低每 token 的 cache 占用与传输量
调度策略
- Continuous batching:请求可随生成进度动态进出批,而非等固定组全部完成
- Chunked prefill:把大 prefill 切成小块与 decode 混排,控制长 prompt 对已运行生成的干扰
- Prefix caching:共享前缀复用 KV 状态,省的是 prefill 计算,并不会让新 token 生成更快
内存:权重只是 GPU 显存的一部分,KV cache 随保留 token 数增长,其大小取决于层数、缓存 token 数、KV 头数、head 维度和每值字节数——这正是 MQA/GQA 对 serving 至关重要的原因。
「Infra」频道最新
- Meta 出身工程师:本地模型追赶前沿速度远超外界认知 — Scobleizer · 2026-10-07
- RTX 5090 跑 MiniMax H3 整机断电:更新 ComfyUI 栈后不再复现 — Zealousideal-Gate282 · 2026-10-07
- 本地 embedding+reranker 对比托管 LLM 做目录匹配,如何取舍? — kshitizsriv · 2026-10-07
- Qwen 发布 TRACE:FP4 量化 RL 训练 MoE 模型,rollout 提速 5.4 倍 — Qwen · 2026-10-07
- AI 创业公司账单梗:沙盒月烧 3600 美元,公司快死了 — andersonbcdefg · 2026-10-07
- Tracel 打造 Rust 全开源 AI 栈:张量、内核到推理服务 — JosephJacks_ · 2026-10-07