MOC Inference
LLM Inference
条目状态与系统位置
本图位于 Inference Layer,核心是 request computation、KV memory、scheduling 和 engine;它向上连接 Serving,向下依赖 Transformer 与 AI Infra。链接是独立文章;标注“未单列”表示该概念由相邻文章覆盖;标注“待建”表示目前只有主题占位。
排错主线
1 | 模型与 tokenizer |
先定位 TTFT 还是 TPOT、单请求还是并发,再选择优化层。不要用端到端 tokens/s 掩盖首 token 延迟、p99、OOM 或质量漂移。
总览与指标
- LLM Inference Optimization Map
- AI System Performance Bottlenecks
- TTFT、TPOT、throughput、P95/P99 与 GPU 利用率(未单列:见各推理与 Serving 文章)
先修知识
单请求推理
- Prefill
- Decode
- Sampling(未单列:由 Autoregressive Generation 覆盖)
多请求调度
- Static Batching(未单列:作为 Continuous Batching 的对照概念)
- Continuous Batching
- Chunked Prefill(未单列:由 Prefill 和 Continuous Batching 覆盖)
KV Cache 管理
- KV Cache Memory Calculation(已并入 KV Cache)
- PagedAttention
- Prefix Caching(待建:目前只有 KV Cache 中的机制说明)
- KV Cache Offloading(待建)
- KV Cache Quantization(待建:量化总览已有,但没有独立 KV 量化文章)
解码加速
- Speculative Decoding
- Draft Model(未单列:见 Speculative Decoding)
- Medusa(待建:仅在 Speculative Decoding 中作横向比较)
- EAGLE(待建:仅在 Speculative Decoding 中作横向比较)
- MTP(待建:仅在 Speculative Decoding 中作横向比较)
分布式推理
- Tensor Parallelism(未单列:由 Multi-GPU and Multi-Node LLM Inference 覆盖)
- Pipeline Parallelism(待建)
- Expert Parallelism(待建)
- Prefill-Decode Disaggregation
- KV Cache Transfer(见 How PD Disaggregation Transfers KV;实现细节仍需验证)
- Multi-GPU and Multi-Node LLM Inference
量化与部署
- LLM Quantization Deployment(数值格式 → K/I-quant recipe → UD 动态策略 → 文件容器的四层框架)
- GGUF
- weight / activation / KV Cache quantization(未单列:先读 LLM Quantization Deployment,KV 专题仍待建)
推理引擎
先读 Inference Engine Selection,从工作负载与 SLO 建立决策边界,再进入具体实现:
- 服务端高并发引擎:vLLM、SGLang、TensorRT-LLM。
- 本地/边缘引擎:llama.cpp。
- 本地模型管理与 API 平台:Ollama;它与推理引擎不是同一层对象。
- 调度与内存机制:Continuous Batching DEPENDS-ON KV Cache 容量,PagedAttention MANAGES KV 的块布局。
- 待验证差异:vLLM 和 SGLang 的调度器区别是什么。
先按症状选分支
TTFT 高而 TPOT 正常,先沿 prefill、输入队列和 prompt 长度查;TPOT 高而单请求显存正常,沿 decode、权重/KV 带宽、GQA、量化和 speculative 查;并发一上来就 OOM,先算 KV 容量和 admission,而不是先换更快 kernel;平均吞吐不错但 P99 差,则查长短请求混部、continuous batching 和 chunked prefill。这个分支顺序比“把所有优化都打开”更容易保留因果证据。
从单请求到服务容量
单请求实验用于确认 logits、sampling、KV cache 与 full-forward 一致;并发实验才暴露 batch 形状、分页碎片、队列和尾延迟;多卡/多节点实验再加入通信、拓扑和 KV transfer。每扩展一层都要保留上一层的质量和指标基线,否则多卡吞吐提升可能掩盖通信或路由回归。最终决策应回填 Project - hx_llm,并把不能由现有硬件区分的假设放入 Open Questions。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Lux's Blog!