@TheAhmadOsman:LLM 推理引擎栈拆解与负载/瓶颈速查表,来自即将发布的《推理引擎全解》…

X AI KOLs Timeline 工具

摘要

Ahmad Osman 分享了一张速查表,提前拆解 LLM 推理引擎栈及常见负载瓶颈,为即将发布的深度文章预热。

LLM 推理引擎栈拆解与负载/瓶颈速查表,节选自我在撰写的《推理引擎全解》文章
查看原文 导出为 Word 导出为 PDF
查看缓存全文

缓存时间: 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. 典型推理流程(自回归)

  1. 预填充(Prefill)
    并行计算整个 prompt 的 KV Cache,compute-bound,GEMM 主导。
  2. 解码(Decode)
    逐 token 生成,memory-bound,带宽瓶颈在 KV Cache 读写。
  3. KV Cache 管理
    动态增长 ⇒ 碎片化 ⇒ PagedAttention 把块当页用,降低 70 % 浪费。
  4. 投机解码(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
OOMKV Cache 碎片化看 reserved vs allocated开 PagedAttention,调小 max_seq_len
多卡 scaling 差NCCL 延迟高nsys 看 ncclAllReduce 占比用 NVLink + 拓扑感知 placement

4. 调优口诀

  1. 先算 roofline:算力 ÷ 带宽,定位 compute-bound 还是 memory-bound。
  2. Prefill 阶段:Tensor Parallel > Pipeline Parallel,GEMM 越大越好。
  3. Decode 阶段:Batch 越大越好,KV Cache 压缩比 > 并行度。
  4. 显存换吞吐:int8 KV Cache + 4-bit weight 量化可把批大小提 2–3×。
  5. 服务层黄金指标
    • 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 是现阶段的万能止痛片。

相似文章

跨异构任务的自演化LLM记忆抽取

Hugging Face Daily Papers

研究者推出BEHEMOTH基准与CluE聚类提示优化,使LLM能从多样化任务中抽取并保留异构记忆,相比既往自演化框架提升9%。