@TheAhmadOsman:LLM 推理引擎栈拆解与负载/瓶颈速查表,来自即将发布的《推理引擎全解》…
摘要
Ahmad Osman 分享了一张速查表,提前拆解 LLM 推理引擎栈及常见负载瓶颈,为即将发布的深度文章预热。
LLM 推理引擎栈拆解与负载/瓶颈速查表,节选自我在撰写的《推理引擎全解》文章
查看缓存全文
缓存时间: 2026/04/21 10:32
LLM 推理引擎栈拆解与负载/瓶颈速查表
节选自即将发布的《推理引擎全景长文》
1. 核心栈全景图
| 层级 | 关键组件 | 主要任务 | 常见实现 |
|---|---|---|---|
| 应用层 | Prompt 模板、对话管理、工具调用 | 把业务需求转成模型输入 | LangChain、LlamaIndex、Guardrails |
| 服务层 | 批调度、路由、缓存、限流 | 高并发、低延迟、弹性 | vLLM、Triton、Ray Serve、FastAPI |
| 推理运行时 | 图执行、kernel 调度、内存池 | 单卡极致吞吐 | TensorRT-LLM、DeepSpeed-FastGen、HF TGI |
| 编译/图优化 | 算子融合、量化、剪枝、张量并行 | 减少 kernel 数量、降低精度 | torch.compile、TVM、XLA、TensorRT |
| 内核层 | GEMM、FlashAttention、PagedAttention | 占 90 % 延迟的算子 | cuBLAS、CUTLASS、Triton、FlashAttention |
| 驱动层 | CUDA、cuDNN、NCCL | 硬件抽象、通信 | CUDA 12.x、NCCL 2.18+ |
| 硬件层 | GPU SM、Tensor Core、HBM、NVLink | 提供算力与带宽 | A100、H100、MI300、L4 |
2. 典型推理流程(自回归)
- 预填充(Prefill)
并行计算整个 prompt 的 KV Cache,compute-bound,GEMM 主导。 - 解码(Decode)
逐 token 生成,memory-bound,带宽瓶颈在 KV Cache 读写。 - KV Cache 管理
动态增长 ⇒ 碎片化 ⇒ PagedAttention 把块当页用,降低 70 % 浪费。 - 投机解码(Speculative Decode)
小模型打草稿,大模型并行验证,可把延迟 ↓ 2×。
3. 瓶颈速查表
| 症状 | 根因 | 定位手段 | 快速修复 |
|---|---|---|---|
| 首 token 延迟高 | Prefill GEMM 排队 | nsight 看 GPU Util < 60 % | 增大 max_num_seqs,开 Tensor Parallel |
| 每 token 延迟高 | KV Cache 带宽饱和 | nvprof 看 dram__bytes 峰值 | 用 FlashAttention-2、开 int8 KV Cache |
| 吞吐低 | 批大小不足 | 看 GPU Util 忽高忽低 | Continuous Batching + 增大 max_batch_size |
| OOM | KV Cache 碎片化 | 看 reserved vs allocated | 开 PagedAttention,调小 max_seq_len |
| 多卡 scaling 差 | NCCL 延迟高 | nsys 看 ncclAllReduce 占比 | 用 NVLink + 拓扑感知 placement |
4. 调优口诀
- 先算 roofline:算力 ÷ 带宽,定位 compute-bound 还是 memory-bound。
- Prefill 阶段:Tensor Parallel > Pipeline Parallel,GEMM 越大越好。
- Decode 阶段:Batch 越大越好,KV Cache 压缩比 > 并行度。
- 显存换吞吐:int8 KV Cache + 4-bit weight 量化可把批大小提 2–3×。
- 服务层黄金指标:
- Time to First Token (TTFT) < 200 ms
- Inter-token Latency (ITL) < 50 ms
- Output Token Throughput > 50 token/s/user
5. 一句话总结
Prefill 吃算力,Decode 吃带宽,KV Cache 是显存怪兽,Continuous Batching + PagedAttention 是现阶段的万能止痛片。
相似文章
@TheAhmadOsman: 自2023年以来,我的使命就是教导人们并帮助他们运行自己的AI。2026年6月将标志着…
Ahmad (@TheAhmadOsman) 宣布了一篇博客文章,涵盖 llama.cpp、vLLM 和 ExLlamaV2 等推理引擎,重点关注多 GPU 设置、张量并行以及批处理推理,以优化 AI 模型性能。
大规模LLM推理开放手册(GPU内部机制、KV缓存、批处理、vLLM/SGLang/TensorRT-LLM)[P]
一本正在编写中的开放手册,解释LLM推理内部机制,包括GPU内存层次结构、KV缓存、批处理以及vLLM和TensorRT-LLM等流行推理引擎。
@kazukifujii: 樱花互联网的Michishita-san的文章全面总结了LLM推理,强烈推荐。它涵…
本文总结了Junda Chen关于LLM分解推理的演讲,解释了为什么goodput(满足延迟SLO的吞吐量)比原始吞吐量更重要,以及分离预填充和解码阶段如何提升性能。文章还强调了其对NVIDIA Dynamo的影响。
LLMs 101:实用指南(2026年版)
一份关于LLMs的全面实用指南,涵盖推理机制、令牌、Transformer、KV缓存、本地部署硬件和量化,截至2026年5月。
大语言模型与本地AI硬件的推理引擎(2026版)
本文提供了一份全面的指南,针对2026年本地AI硬件上的大语言模型推理引擎,解释了如何根据硬件策略、工作负载和服务模型进行选择,并涵盖了诸如llama.cpp、MLX、ExLlamaV2/3、vLLM、SGLang、TensorRT-LLM和NVIDIA Dynamo等引擎。