Prefill vs Decode:为什么同一个模型有两个完全不同的瓶颈📅 2026年06月05日 · ☕ 7 分钟 · ✍️ k4i解释 LLM 推理为什么会分成 compute-bound 的 prefill 和 memory-bandwidth-bound 的 decode,以及这如何决定 TTFT、TPOT、batching、KV cache 压力和推理引擎设计。
LLM Inference Internals:推理引擎核心机制路线📅 2026年06月04日 · ☕ 1 分钟 · ✍️ k4iLLM 推理引擎核心机制系列索引:prefill/decode、KV cache、PagedAttention、continuous batching、prefix caching 和 PD 分离。
从绝对位置编码到 RoPE:位置为什么可以被旋转表示📅 2026年05月28日 · ☕ 10 分钟 · ✍️ k4i从 Transformer 的绝对位置编码讲起,逐步推导相对位置、复数旋转、欧拉公式与 RoPE 的关系。
如何估算 LLM 训练和推理需要多少算力与显存📅 2026年05月27日 · ☕ 14 分钟 · ✍️ k4i从矩阵乘法出发,推导 LLM 训练 FLOPs、推理 FLOPs、权重显存、KV cache 和训练显存的可手算估算方法。
Disaggregated Prefill:把计算拆到不同机器上📅 2026年04月22日 · ☕ 8 分钟 · ✍️ k4i把 prefill 和 decode 路由到不同 GPU 池,可以彻底消除两者的资源干扰,让 TTFT 与 TPOT 分开扩容;代价是必须跨机器迁移 KV cache。
Prefix Caching:跨请求复用 KV Cache📅 2026年04月22日 · ☕ 6 分钟 · ✍️ k4i当成千上万的请求共享同一段 system prompt 时,每次都重新计算它的 KV cache 是纯粹浪费。Prefix caching 会存储并复用这些向量,在常见部署中显著降低 TTFT。
Chunked Prefill:把 Prefill 切片,保护 Decode 延迟📅 2026年04月22日 · ☕ 7 分钟 · ✍️ k4i把长 prompt 的 prefill 拆成多个调度迭代,可以避免 decode 请求被长时间阻塞,同时不增加 FLOPs,IO 开销也几乎可以忽略。
Continuous Batching:按迭代粒度调度📅 2026年04月22日 · ☕ 8 分钟 · ✍️ k4i为什么按 decode iteration 做调度能消除静态 batch 的 GPU 空转,以及 prefill 和 decode 如何被打包进同一次 forward。
Paged Attention:GPU 上的虚拟内存📅 2026年04月22日 · ☕ 7 分钟 · ✍️ k4ivLLM 如何借鉴操作系统分页思想,消除 KV cache 显存碎片,将 GPU 显存利用率从约 30% 推到约 96%。