论文版本与定位
Miao、Oliaro、Zhang、Cheng、Jin、Chen、Jia 的 Towards Efficient Generative Large Language Model Serving: A Survey from Algorithms to Systems 投稿于 2023 年 12 月 23 日,2025 年 7 月 16 日被 ACM Computing Surveys 接收(DOI 10.1145/3754448),arXiv v2 更新于 2026 年 7 月 23 日。本文以 arXiv PDF 全文为依据,按原文 §1–§7 的结构重建。这是一篇综述(survey),它的价值不在提出新技术,而在给出一个到 2025 年为止仍然覆盖最全的 LLM 推理效率分类法(taxonomy)——今天广泛部署的 speculative decoding、PagedAttention、continuous batching 等技术都能在这个骨架里找到位置。
服务效率为什么是瓶颈
原文 §2.4 把挑战归为五条,每条都对应后文的一类解法:
其中最结构性的一条是自回归解码本身:原文用 Algorithm 1 给出形式化描述——每步 argmax 采样下一个 token、拼回输入序列、循环直到 EOS。这个串行依赖是后面所有解码类算法创新的靶子。
分类总览:算法 × 系统
原文 Figure 1 的分类法把已有工作分成两大类。判断标准是是否修改 LLM 的计算语义:
算法创新:解码、架构、压缩
解码算法(§3.1.1)——打破串行依赖
四条路线,全部瞄准自回归的逐步串行:
| 路线 | 核心思路 | 代表工作 | 主要代价 |
|---|---|---|---|
| 非自回归解码 | 打破输出 token 间依赖,并行生成 | Mask-Predict、blockwise parallel decoding、Jacobi 迭代并行解码 | 质量通常低于自回归;需重训或改造模型 |
| 投机解码(speculative decoding) | 小 draft 模型先猜多步,LLM 并行验证;验证保证输出分布不变 | SpecInfer(树形投机推理)、Medusa、EAGLE、Sequoia、Triforce | draft 模型要轻量且足够准;并行验证的系统实现有难度 |
| 早退(early exiting) | 浅层内部分类器置信时提前输出,不做完整前向 | Kangaroo(自草稿投机解码) | 内部表征信息不足,预测可能不可靠 |
| 级联推理(cascade inference) | 按请求难度在大小模型间分派 | CascadeBERT、Tabi、FrugalGPT、Mixture-of-Thought | 分派机制若不准会伤质量 |
架构设计(§3.1.2)——换掉 Transformer 的低效部件
五个子方向:
- 配置缩减:浅编码器/解码器、权重共享、词表缩减。直接减参数,但伤下游性能。
- 注意力简化:自注意力 O(L²) 复杂度是长序列的根源。稀疏化(sliding window、hash、dilated)、上下文压缩(summary/landmark token、H₂O/Scissorhands 挑重要 token 保留 KV cache)、StreamingLLM 保初始 token + 滑窗。
- 激活共享:MQA 让所有头共享一组 KV;GQA 放宽为多组;MLA(DeepSeek V2/V3/R1 采用)把 KV 压进低秩隐向量。已被 Falcon、PaLM、LLaMA-2、Mistral、DeepSeek 等主流模型采用。
- 条件计算:MoE 把模型容量切成专家,按路由只激活必需部分,同时需要分布式通信与 GPU kernel 的专门优化。
- 循环单元:RWKV、RetNet、状态空间模型用线性复杂度替代注意力。性能与效率表现有希望,但能否替代 Transformer(尤其长序列)仍是开放问题。
模型压缩(§3.1.3)
- 知识蒸馏:白盒蒸馏需访问教师参数;API 时代催生黑盒蒸馏(Alpaca、Vicuna、WizardLM)——小参数量却有多种下游任务表现。
- 网络剪枝:结构化剪枝删整块组件利于 GPU 提速(Deja Vu 按上下文稀疏性剪注意力头和 MLP);非结构化可达 50–60% 稀疏度,并可泛化到 N:M 半结构化配合 NVIDIA 稀疏张量核;PowerInfer 假设神经元激活偏斜,用 GPU-CPU 混合引擎分别处理。
系统优化:量化、并行、内存、调度、内核
低比特量化(§3.2.1)
PTQ(训练后量化)把权重/激活降到 INT8/INT4:W8A16(weight-only)、GPTQ 的 W4A16、SmoothQuant 的 W8A8、W4A4。QAT(量化感知训练)在训练中集成量化以减少精度损失。硬件在跟进:Hopper 架构弃 INT4 换 FP8 张量核(H100 的 FP8 吞吐相对 FP32 可达 60×)。原文同时提醒:由于系统实现层面的困难,低精度方法可能反而比 FP16 更慢——量化不自动等于加速。
并行计算(§3.2.2)
| 并行方式 | 切分维度 | 特点 |
|---|---|---|
| 张量并行(TP) | 层内切(head/hidden 维度) | 降低延迟;适合同机多卡高速 NVLink;PaLM 用 2D TP 降到大规模集群 |
| 流水线并行(PP) | 层间切(连续层为 stage) | 提高吞吐但不降单请求延迟 |
| 序列并行(SP) | 沿序列长度切 | 长上下文场景;ring attention / all-gather 通信;LoongServe 弹性伸缩 |
| 云上弹性 | 抢占式实例 / serverless | SpotServe 动态调并行配置抗抢占;ServerlessLLM 多层 checkpoint 加载降冷启动 |
| 去中心化 | 地理分布异构资源 | Petals 众包 GPU 服务 BLOOM-176B;Helix 用最大流做放置与调度 |
自动并行(Alpa、FlexFlow、Galvatron 的搜索算法换成推理代价模型)延伸出 AlpaServe、FlexFlow-Serve、SpotServe 等服务系统。
内存管理(§3.2.3)
增量解码时 KV cache 动态涨落,朴素做法(FasterTransformer)按最大序列长度预分配连续显存,严重浪费。这条线的关键节点:
请求调度(§3.2.4)
LLM serving 相对传统 ML serving 的独特之处:模型大、自回归迭代解码、输出长度未知、上下文状态管理。Orca 首先指出请求级调度的缺口,引入迭代级调度(iteration-level scheduling)与选择性 batching——这一策略被 vLLM/RayLLM 的 continuous batching、TensorRT-LLM 的 in-flight batching 继承。后续:FastServe 用抢占按剩余长度优先缩短平均完成时间(JCT);Sarathi-Serve 处理 prefill 长度不一造成的流水线气泡;Llumnix 动态调度;DistServe 把 prefill 与 decode 分离(disaggregation)做 goodput 优化。
内核优化(§3.2.5)
- 内核融合:推理无反向传播,融合机会更多——同形 GEMM 合并、bias+残差+层归一化+激活合并。
- 定制注意力内核:prefill 阶段(xFormers 在线 softmax)与 decode 阶段(单 query、KV cache 分块并行 + 归约,如 FlashDecoding;FlashDecoding++ 用预先统一最大值去掉部分 softmax 同步)分开优化;FlashInfer 用块稀疏格式统一多种 KV cache 模式。
- 变长序列:packing 免 padding、ragged tensor、bucketing 分块,混合 prefill/decode 执行时又给内存和调度带来新约束。
- 自动编译:从 cuBLAS/cuDNN/CUTLASS 到 TVM、MLIR、OpenAI Triton、Mirage——编译路径既能发现更高效的算子实现,也便于迁移到 AMD GPU、Apple 芯片、边缘设备等非 NVIDIA 平台。
开源服务系统对比
原文 Table 2 对比了十个代表性开源 GPU 服务系统(FasterTransformer、FlexFlow-Serve、vLLM、FlexGen、TGI、DeepSpeed-Inference、ZeRO-Inference、LightLLM、MLC-LLM、TensorRT-LLM),维度覆盖:TP/PP、offload、迭代级调度、prefill 与 decode 的注意力内核、主要特性。几个横向观察:
- TP 已是标配:几乎全部系统支持张量并行;PP 与 offload 面向多节点或资源受限场景。
- 迭代级调度成为分水岭:Orca 之后的系统大多实现 selective batching。
- decode 阶段是真正差异点:prefill 各家差异不大(GEMM / FlashAttention 类),decode 的单 token 低计算强度迫使各家做手动内核融合(FasterTransformer)、paged attention(vLLM)、token 级管理(LightLLM)等不同选择。
- 生态位分化:TGI 绑 Huggingface、TensorRT-LLM 绑 NVIDIA Triton、MLC-LLM 主打多 GPU 类型通用部署、FlexGen 最大化单卡。
原文同时排除了两类系统:专用硬件方案(PopTransformer、CTranslate2、llama.cpp/ggml)和上层封装(OpenLLM、Xinference、LMDeploy、gpt-fast、DeepSpeed-MII、RayLLM)。
基准测试的现状与困境
原文 §5 的判断:社区至今没有像 MLPerf 那样公认可复现的 LLM serving 基准。困难来自四个方面:
现有替代品(LLM-Perf Leaderboard 比模型而非系统、LLM-Inference-Bench 比硬件、BurstGPT/Azure 生产 trace 提供请求模式)各覆盖一角。这个空档本身就是领域不成熟度的信号。
六个未来方向
- 硬件加速器的算法-硬件协同设计:内存靠近计算单元、按 LLM 数据流塑形芯片架构;Hopper 的 HBM/SRAM/带宽增强已是先例。
- 高效解码算法:广义投机推理(draft 不限于小模型——检索器、用户自定义函数皆可);投机思想已外溢到 RAG、长序列、扩散模型。
- 长上下文优化:模型侧有 length generalization 失败与 "lost in the middle";系统侧 KV cache 内存与访问压力、注意力二次复杂度双重挑战。
- 替代架构:attention-free、纯 MLP 架构的探索;新架构反过来要求新的推理引擎与 KV cache 管理机制。
- 复杂环境部署:边缘、云边混合、去中心化、抢占式实例——各自带来隐私、容错、异构性等新约束。
- 按应用需求自动适配:PEFT 共服务(FlexLLM、Punica、S-LoRA)、多轮对话、结构化生成(XGrammar、SGLang)、多智能体链式调用——优化空间要扩展到 LLM 全生命周期。
适用范围与局限
- 综述的时间截面:分类法覆盖到 2025 年初(接受于 2025-07)。此后出现的深推理场景调度(如 reasoning-aware batching)、更长上下文方案不在其列。
- GPU 中心:原文明确以 GPU 研究为主轴,TPU/FPGA/ASIC/边缘方案只在硬件一节带过。
- 不覆盖训练:专注 serving/inference;分布式训练的综述被列为背景参考。
- 精度-效率权衡无定量结论:原文指出量化可能伤精度也可能更慢,但未给出统一的决策框架——这仍是工程上需要逐案实测的问题。
- 基准缺失被如实承认:综述自己也提不出公认基准,系统选型目前只能靠各系统论文的实验设置(硬件、负载、指标均不一致)。
- 发表载体:ACM Computing Surveys 正式接收并发表,不属于预印本——但其引用的大量系统论文(vLLM、Orca、SpecInfer 等)的数字是各自论文报告值,未由综述作者统一复测。
这篇综述的持久价值在于骨架而非结论:具体系统会被超越(原文自己的 Table 2 中已有系统被后续工作替代),但"算法创新 vs 系统优化"的二分、"是否修改计算语义"的判据、以及从解码算法到内核优化的完整技术谱系,仍然是理解和组织这个领域最快的方式。对工程团队的直接启示:优先采用不改语义的系统优化(continuous batching、PagedAttention 类内存管理)作为底座,再按精度预算叠加算法创新(投机解码最安全,量化需实测)。
原始来源
- Miao, X., Oliaro, G., Zhang, Z., Cheng, X., Jin, H., Chen, T., & Jia, Z. (2025). Towards Efficient Generative Large Language Model Serving: A Survey from Algorithms to Systems. ACM Computing Surveys, DOI 10.1145/3754448. arXiv:2312.15234v2(2026-07-23 更新)。本文题名、分类法、表格数字与结构的主来源。
- arXiv PDF 全文:§1 引言、§2 背景、§3 分类法、§4 软件框架、§5 基准、§6 相关综述、§7 未来方向。本地存档:
sources/arxiv_2312.15234.pdf。