Skip to main content

推理优化技术演进:PagedAttention / FlashAttention / Speculative Decoding 深度解析

· 8 min read
AI Compute Cards Wiki Editorial
Industry Research Team

LLM 推理性能 = 算法 + 软件 + 硬件。硬件(H100、B300、Rubin)只决定了理论上限。实际推理性能可以通过算法优化提升 5-30 倍。本文深度解析 PagedAttention、FlashAttention、Speculative Decoding 三大推理优化技术。

推理优化 vs 训练优化

维度训练推理
算力利用满载(高 batch)低(batch 1-32)
瓶颈GPU 算力显存 + 内存带宽
优化方向数据并行 / 模型并行 / ZeROKV Cache + 注意力 + 批处理
性能指标tokens/sec (训练)TTFT, TPOT, throughput
典型优化FlashAttention, gradient checkpointingPagedAttention, Speculative, 量化

推理优化比训练优化更复杂——因为延迟敏感 + 内存受限 + 多种工作负载。

三大核心技术

1. PagedAttention(vLLM 核心)

PagedAttentionUC Berkeley 团队(李卓、@woody-yc 等)在 vLLM 论文(SOSP 2023) 中提出的KV Cache 内存管理革命

问题:传统 KV Cache 浪费严重

  • 传统方式:为每个请求预分配最大长度的 KV Cache 空间
  • :70B 模型 + 4K 上下文 = ~2 GB KV Cache / 请求
  • 100 个并发请求 = 200 GB——爆显存
方案KV Cache 管理内存浪费
传统 (HuggingFace)连续预分配60-80% 浪费
PagedAttention分页按需分配<4% 浪费

原理:操作系统分页思想

传统方式:
[请求1: 2GB 连续] [请求2: 2GB 连续] [请求3: 2GB 连续] -- 大量内部碎片

PagedAttention:
[请求1: page 0,1,2,3] [请求2: page 4,5,6,7] [请求3: page 8,9,10,11] -- 页表管理
  • 每个 page = 16 tokens 的 KV Cache
  • 按需分配 page,无需预分配
  • page table 跟踪映射关系
  • 碎片化 < 4%(vs 60-80%)

性能提升

指标传统 (HF)PagedAttention (vLLM)提升
吞吐量 (70B 推理)100 tok/s800-1500 tok/s8-15×
最大并发~30200+
显存利用率30%96%3.2×
长上下文支持4K32K-128K8-32×

PagedAttention 让 vLLM 成为 LLM 推理的事实标准——70B 模型吞吐量提升 8-15×。

适用场景

  • 高并发在线推理(ChatGPT、Claude、文心一言)
  • 长上下文(32K+ token)
  • 多模型服务(共享 GPU 池)
  • ❌ 单用户离线推理(提升有限)

2. FlashAttention(GPU 优化)

FlashAttentionTri Dao 等 在 2022 年提出的 GPU 内存层次优化

问题:注意力矩阵 O(N²) 内存

  • 标准 attention:需要存储 N×N 注意力矩阵
  • 8K 上下文:8K×8K = 64M floats = 256 MB
  • 32K 上下文:32K×32K = 1G floats = 4 GB——爆显存
  • 128K 上下文:128K×128K = 16G floats = 64 GB——不可能

原理:分块(tiling) + 重计算

标准 Attention:
Q @ K^T → 存储 N×N 矩阵 → softmax → @ V -- 需要 256MB+ HBM

FlashAttention:
分块计算,每块在 SRAM 内部处理,**不存储 N×N 矩阵**
Q 块 × K 块^T → 局部 softmax → × V 块 -- SRAM 内部
  • 核心思想利用 GPU 的 SRAM(HBM 上的高速缓存)
  • HBM 读写次数:从 O(N²) 降到 O(N)
  • 重计算:反向传播时重新计算 attention,不存中间结果

性能提升

指标标准 AttentionFlashAttention v2提升
训练速度100%200-300%2-3×
内存O(N²)O(N)1/N 比例
H100 速度600 TFLOPS1100+ TFLOPS1.8×
128K 上下文❌ OOM✅ 可行
1M 上下文❌ 不可能✅ FlashAttention-3

FlashAttention 演进

版本年份关键改进
FlashAttention v12022分块 + 重计算
FlashAttention v22023并行化 + 减少 non-matmul 工作
FlashAttention v32024FP8 支持 + H100 优化
FlashAttention v4 (推测 2026)2026Rubin R200 / MI400 优化

FlashAttention v3 + H100/H200 达到 1100+ TFLOPS(FP16)——超过官方标称算力

适用场景

  • 所有 attention 计算(训练 + 推理)
  • 长上下文(128K+ token)
  • GPU 推理必备(H100/B200 标配)
  • ❌ 边缘设备(不需要 attention 优化)

3. Speculative Decoding(投机解码)

Speculative Decoding(投机解码 / 推测解码)是 Leviathan et al. 2023 提出的推理加速技术

问题:自回归生成慢

  • LLM 一次生成 1 个 token
  • 每个 token 需要完整 forward pass
  • H100 FP16:~50ms/token——长生成耗时

原理:小模型 + 大模型协同

传统:
大模型 → token 1 → token 2 → token 3 → ... -- 每个 token 都用大模型

Speculative Decoding:
1. 小模型 (Draft Model) 一次生成 5 个候选 token: [t1, t2, t3, t4, t5]
2. 大模型 (Target Model) 一次验证 5 个 token(一次 forward pass)
3. 接受前 k 个匹配的 token(k+1 用大模型重新生成)
4. 重复
  • 小模型:~100× 更快(70B → 1B)
  • 大模型:一次 forward 验证多个 token
  • 理论加速:2-4×(取决于小模型精度)

性能提升

指标传统Speculative Decoding提升
70B 推理速度30 tok/s60-100 tok/s2-3×
TTFT (首 Token)200ms200ms (同)
TPOT (单 Token)33ms10-17ms2-3×
适用模型任何小模型 + 大模型

主流 Speculative Decoding 方案

方案小模型加速比适用
Self-Speculative同一模型不同层1.5-2×通用
Draft Model独立小模型 (e.g., 7B+70B)2-3×通用
Medusa多个解码头2-3×单一模型
EAGLE特征预测2-3×单一模型
Lookahead DecodingJacobi 迭代1.5-2×小模型
REST检索增强2-4×长生成

vLLM 0.6+ 默认支持 Speculative Decoding——配置简单,性能提升 2-3×。

适用场景

  • 大模型离线批处理(效果最显著)
  • 长输出生成(代码、文章、报告)
  • 多轮对话(ReAct、Agent)
  • ❌ 极短输出(1-5 个 token,加速比有限)

其他重要优化技术

4. Continuous Batching(连续批处理)

vLLM / TGI / TensorRT-LLM 全部支持

  • 传统:等 batch 满才处理,新请求等待
  • Continuous:动态插入新请求到正在运行的 batch
  • 提升:吞吐量 2-4×

5. Quantization(量化)

精度模型大小性能质量损失
FP1670B = 140 GB0%
INT870B = 70 GB1.5-2×<1%
INT4 (GPTQ/AWQ)70B = 35 GB2-3×1-3%
FP870B = 70 GB1.5-2×<1%
FP4 (NVFP4)70B = 35 GB2-3×2-5%
INT270B = 17.5 GB3-5×5-15%

NVFP4 (NVIDIA) + 量化感知训练 = 接近 FP16 质量 + 2-3× 性能

6. Prefix Caching(前缀缓存)

  • 场景:多个请求共享相同 system prompt
  • 方法:缓存 KV Cache 的前缀
  • 加速:相同 prefix 部分 0 计算,~10-100× 加速

7. Chunked Prefill(分块预填充)

  • 问题:长 prompt 预填充阻塞其他请求
  • 方法:将预填充分块,与解码交错
  • 提升:TTFT -50%,总吞吐 +20%

推理优化软件栈

vLLM(最流行)

特性支持
PagedAttention✅ 核心
Continuous Batching
Speculative Decoding✅ 0.6+
Quantization✅ INT4/INT8/FP8
Prefix Caching✅ 0.4+
Multi-LoRA
多 GPU✅ TP/PP
支持模型Llama / Qwen / Mistral / Gemma / DeepSeek 全系列

TensorRT-LLM(NVIDIA)

特性支持
In-flight Batching
PagedAttention
Speculative Decoding
Quantization✅ INT4/INT8/FP8/FP4
Multi-GPU✅ TP/PP/EP
性能NVIDIA GPU 上最佳(原生优化)

SGLang(UC Berkeley 新作)

  • RadixAttention:类似 Prefix Caching,更高效
  • 结构化生成:JSON / regex guided generation
  • 2025 增长迅速

llama.cpp(本地)

  • GGUF 格式
  • CPU / GPU / Apple Silicon 全支持
  • 本地 LLM 首选

实际性能对比(70B 推理)

软件硬件量化吞吐量延迟 TPOT
vLLM + PagedAttnH100FP161500 tok/s8ms
vLLM + Spec DecodingH100FP163000 tok/s3ms
TensorRT-LLMH100FP82500 tok/s4ms
TensorRT-LLM + NVFP4B200FP45000 tok/s2ms
vLLM8× A100INT4800 tok/s12ms
llama.cppM3 UltraQ4_K_M12 tok/s80ms

B200 + NVFP4 + TensorRT-LLM = 5000 tok/s = 比 FP16 H100 提升 20×。

推理优化对硬件选型的影响

优化 → 硬件需求降低

优化技术所需算力所需显存
FP16 基线
+ PagedAttention0.4-0.6×
+ Speculative0.5×
+ INT4 量化0.25×
+ Prefix Cache
+ Chunked Prefill
+ Continuous Batch0.5×
+ TensorRT-LLM 全套0.3×0.4×

全套优化后,硬件需求降低 3-5×——70B 推理从 8× H100 降到 1-2× H100。

选型建议

场景推荐硬件关键软件
云端高并发8× H100 + vLLMPagedAttn + Spec
单卡大模型1× B300 Ultra + TensorRT-LLMNVFP4 + Spec
本地 LLMM3 Ultra 192GB + llama.cppGGUF Q4/Q5
Agent 多轮8× H100 + SGLangRadixAttn + Spec
代码生成1× B200 + vLLMNVFP4 + Spec

未来展望

短期(2026-2027)

  • FlashAttention v4 适配 Rubin R200
  • Speculative Decoding 标准化(OpenAI API 支持)
  • Multi-modal Speculative(视觉 + 语言联合)
  • 端到端编译:torch.compile + TensorRT

中期(2027-2030)

  • 端到端 GPU 内核生成:ML-based kernel synthesis
  • PIM-HBM 推理:HBM 内部做 attention
  • 100× 推理加速(vs 2023 基线)

长期(2030+)

  • 神经符号推理:LLM + 符号系统
  • 量子 + LLM 协同
  • 真正"零延迟"AI 助手

详细产品页

总结

LLM 推理优化的三大核心技术:

  1. PagedAttention (vLLM):KV Cache 内存管理 → 8-15× 吞吐量
  2. FlashAttention (Tri Dao):GPU 内存层次优化 → 2-3× 训练 / 推理
  3. Speculative Decoding:小模型 + 大模型协同 → 2-3× 推理速度

全套优化后,硬件需求降低 3-5×——软件优化的 ROI 远超硬件升级。

未来 5 年,推理优化将让 AI 推理成本降低 10-100 倍