Skip to content

推理框架 ​

状态:入门理解 · 更新于 2026-09-14

大模型推理的难点通常不是单次矩阵乘,而是不同请求的输入长度、生成进度和资源需求都不一样。推理框架要在正确性、延迟、吞吐和显存之间动态调度。

一次请求的生命周期 ​

text
请求进入
  ↓
排队 / 调度
  ↓
Prefill:处理输入 Prompt
  ↓
Decode:逐 token 生成
  ↓
采样、停止判断、流式返回
  ↓
释放 KV Cache 与请求状态

Prefill 更偏计算密集,Decode 往往更受访存和调度影响。把两者混在同一个“平均延迟”里,会掩盖真实瓶颈。

KV Cache ​

自回归生成时,历史 token 的 Key/Value 可以复用,避免每一步重复计算。单请求 KV Cache 的近似显存量为:

text
层数 × 2(K/V) × KV 头数 × 每头维度 × 序列长度 × 每元素字节数

MQA/GQA 通过减少 KV 头数降低缓存占用和读取压力;代价是表达能力、质量或实现复杂度需要结合模型验证。上下文越长,KV Cache 越容易成为容量与带宽瓶颈。

PagedAttention 与连续批处理 ​

连续批处理(Continuous Batching)在请求完成或新请求到达时动态调整批次,不必等待整个静态 Batch 结束。PagedAttention 将 KV Cache 按块管理,让不同长度请求按需分配和回收,减少预留造成的碎片和浪费。

这些机制解决的是调度与内存管理问题,不会自动消除模型计算、网络序列化或采样开销。

常见优化 ​

优化主要收益需要关注
KV Cache避免重复计算历史 token显存容量、带宽和回收
Continuous Batching提高设备利用率排队策略、SLO 公平性
Prefix Caching复用相同前缀的 KV命中率、失效和租户隔离
Quantization降低显存与访存精度、Kernel 支持、校准
Kernel Fusion减少中间读写和启动寄存器、shape 覆盖、可维护性
Speculative Decoding用小模型辅助生成接受率、额外模型成本

vLLM 与 TensorRT-LLM ​

两者都覆盖高性能推理,但侧重点和适配方式不同。vLLM 以通用服务化、PagedAttention 和动态调度见长;TensorRT-LLM 更强调 NVIDIA 平台上的图优化、Kernel 和量化能力。实际选型要用目标模型、GPU、上下文长度、并发和 SLO 做基准测试,不应只比较项目名称。

评测指标 ​

  • 首 token 延迟(TTFT);
  • 每输出 token 延迟(TPOT)与端到端延迟;
  • 吞吐(requests/s、tokens/s);
  • 并发、队列等待和超时率;
  • KV Cache 命中率、显存峰值和碎片;
  • 不同长度分布下的 P50/P95/P99。

压测时固定模型、量化、采样参数和请求长度分布;同时验证输出质量、错误率和取消请求后的资源回收。

信息来源 ​

延伸阅读 ​

更新日志 ​

  • 2026-09-14:补充请求生命周期、KV Cache、调度与评测指标。

学习、验证、修订,持续构建 AI Infra 知识地图。