Taming the Titans:高效 LLM 推理服务综述
- 关联论文:2504.19720
- 作者:flyP
- 更新:2026-07-05
一句话结论
这是一篇由苏州大学与华为云联合发布的 LLM 推理服务(LLM Serving)领域系统综述,把当前零散分布在系统、调度、存储、硬件等方向的优化手段,第一次按"实例级 → 集群级 → 新兴场景 → 杂项"四级层级串成一张可索引的地图,并指出 LLM Serving 正从"工程调优"向"理论优化"升级的研究范式转变。
解决的真问题
LLM 推理(Inference Serving)要把一个动辄数十亿到上千亿参数的 Transformer 模型,在多张 GPU 上以低延迟、高吞吐、稳定满足 SLO 的方式对外提供服务。它同时面对四类结构性矛盾:
- 显存与算力:模型权重 + KV cache 占据大量显存,self-attention 在 decode 阶段是 memory-bound(带宽受限)而非 compute-bound(算力受限)。
- 请求异构:不同 prompt 的输入长度、输出长度、生成策略差异巨大,传统静态 batch 无法兼顾吞吐与尾部延迟。
- 阶段不对称:prefill(处理输入)和 decode(自回归生成)两个阶段的算力–带宽特性完全不同,混跑会互相拖累。
- 系统复杂:单机调度、跨机部署、跨集群负载均衡、云上弹性,这些层面交织在一起,缺乏统一抽象。
作者指出,已有综述(Miao et al. 2023、Yuan et al. 2024、Zhou et al. 2024、Li et al. 2024a)在深度、广度或时效性上各有局限,本文的目标是给出"系统化、细粒度、对最新进展保持同步"的统一分类法。
核心方法:四级分类法
论文的核心贡献不是某个新算法,而是把整个 LLM Serving 领域压缩成一个四层分类体系。下文每层用一段伪代码或公式讲清它到底在优化什么。
第 3 章:实例级优化(单台 / 单实例)
这是最贴近模型本身的层级。作者把它的内部五个子问题显式列出:
3.1 模型放置(Model Placement)
当单卡装不下权重时,需要张量并行(TP)、流水并行(PP)、序列并行(SP)等组合。论文抽象出约束:
目标:最小化推理时延 latency(Π)
约束:∑ weights(p_i) ≤ mem(GPU_i),Π 是合法切分方案
实践中没有闭式解,工程上靠 profiler + 搜索。论文指出,自动化的 placement 搜索(如 TensorRT-LLM、Alpa、Unity)等正在成为热点。
3.2 请求调度(Request Scheduling)
这是综述最有"画面感"的一节。论文用一张图刻画了一个反直觉的现象:
两个请求同时到达:R1 输出 10 tokens,R2 输出 2 tokens。默认解码速度 1 token/s。如果先处理 R1,R1 的生成速率是 1 tok/s,但 R2 只有 0.2 tok/s;把顺序倒过来,R2 拿到 1 tok/s,R1 还有 0.9 tok/s——总 token 数不变,但尾延迟显著下降。
这就是 SJF(Shortest Job First)思想在 LLM 推理里的复活:先处理"预估输出短"的请求能显著降低 mean slowdown 与 P99 延迟。论文把这个观察抽象为调度目标:
minimize Σ normalized_latency(R_i)
subject to: prefill + decode budget ≤ TTFT_SLO, TPOT_SLO
3.3 解码长度预测(Decoding Length Prediction)
要实现 SJF,必须先估输出长度。论文把现有方法分成三类:
- 基于统计:用 prompt 的 token 数、prompt 类型分类等启发式预估。
- 基于模型:训练一个轻量回归器/分类器,输入 prompt embedding,输出长度分桶。
- 基于投机解码:先用 draft model 跑几步看收敛点。
这一节是连接"调度"与"模型本身"的桥梁,也是后续新兴场景 5.7(Test-Time Reasoning)里 CoT、ToT 等长输出场景的重要前置。
3.4 KV cache 与存储管理
自回归 decode 时,每生成一个 token 都要缓存所有历史 K/V。论文把 KV cache 管理问题归结为三个子问题:
- 分配(allocation):为每个请求分配连续还是分页显存
- 复用(reuse):前缀共享、跨请求共享 prefix cache
- 压缩(compression):量化、稀疏化、淘汰
这是把操作系统"虚拟内存 + 页表 + 换出"那一套思路移植到 GPU 显存上的典型例子。代表工作包括 vLLM 的 PagedAttention、SGLang 的 RadixAttention、KVQuant 等。
3.5 解耦架构(Disaggregation)
这是过去一年 LLM Serving 最重要的范式转变。把 prefill(算力密集)和 decode(带宽密集)放到不同实例上独立扩缩:
请求流 ──► Prefill Pool (高算力 GPU)
│ 传 KV
▼
Decode Pool (高带宽 GPU, 大 batch)
代表工作包括 DistServe、Splitwise、Mooncake 等。论文把它们抽象成统一的"阶段解耦 + KV 传输"框架,并指出 KV 传输开销是这个范式的关键瓶颈。
第 4 章:集群级优化
从单机视角拉到数据中心视角,作者把它分成三块:
- 4.1 部署策略:异构 GPU 池化、spot instance 利用、模型副本编排。
- 4.2 多实例负载均衡:当一个模型有 N 个副本时,如何把新请求路由到最合适的副本(LLM-aware load balancing),避免出现"长请求撞长请求"的队头阻塞。
- 4.3 云上弹性:突发流量、跨可用区、冷启动优化。这部分面向工业落地,论文引用了大量来自生产环境的方案。
第 5 章:新兴场景
这一章是综述里信息密度最高的部分,因为它把"通用推理优化"和"具体 LLM 用法"对接起来:
- 5.1 长上下文:prefix cache、稀疏 attention、ring attention。
- 5.2 RAG:把 retrieval 当作一类特殊的"上下文装配",涉及 chunk 调度、向量检索的 SLO 设计。
- 5.3 MoE:expert 路由的负载不均问题、expert 并行。
- 5.4 LoRA:多租户 LoRA 热切换、基座权重共享。
- 5.5 投机解码:用一个 draft model 提前生成候选 token,主模型并行验证。
- 5.6 增强型 LLM(Augmented LLMs):工具调用、RAG、Agent 多步推理——每一步的延迟分布不同于单轮生成。
- 5.7 Test-Time Reasoning:CoT、ToT、self-consistency 等会显著拉长输出长度,与 3.3 的长度预测和 3.5 的解耦架构形成新的耦合点。
第 6 章:杂项但关键
论文把容易被忽略但工程上绕不开的子领域也单独成节:硬件适配、隐私推理、模拟器、公平性、能耗。这一章的存在本身就是综述价值的一部分——很多团队踩的坑,往往不在算法层,而在这里。
关键实验 / 评估视角
综述本身不做新实验,但给出了 §2.1 一张权威的"LLM 推理服务评估指标"表,把业界口径统一了一次:
| 指标 | 定义 | 关注点 |
|---|---|---|
| TTFT | 输入到首个 token 的延迟 | 实时应用 |
| TBT | 相邻 token 间隔 | 逐步响应感 |
| TPOT | decode 阶段平均每 token 时间 | 生成效率 |
| Throughput | 全局每秒 token 数 | 高负载容量 |
| Capacity | 满足 SLO 下的最大吞吐 | 系统上限 |
| Normalized Latency | 总时长 / token 数 | 整体效率 |
| Percentile | P50 / P90 / P99 延迟 | 稳定性 |
论文反复强调:吞吐与 P99 延迟常常此消彼长,单纯报 tokens/s 是不够的。
亮点与局限
亮点
- 结构清晰:四级分类把碎片化的方法论摆成可学习的骨架,特别适合新人快速建立 mental model。
- 时效性强:截至 v1(2025-04-28)已经覆盖解耦推理、PaCoRe、Speculative Decoding 等 2024-2025 的最新进展。
- 连接产业:作者来自苏州大学 + 华为云,工程视角与学术视角并存。
- 配套资源:作者维护了一个 Awesome-LLM-Inference-Serving 仓库(论文脚注里给出),可以当成活的参考书目。
局限
- 仍标注 work in progress:v1 仅 11 页正文 + 7 张图,正文是引导式导读,许多子方向(如 fairness、energy)只是简要提及。
- 理论深度有限:分类法强,但缺乏统一的数学模型把不同子方向纳入同一个优化框架。
- 基线对比缺失:综述不报自己的实验,因此读者无法直接判断哪个优化组合是"性价比最高"的工程推荐。
- 代码与可复现性:除了那个 awesome list,论文没有附带统一 benchmark,部分结论依赖二级引用。
对工程落地的启发
- 不要只压 throughput:把 P99 / TTFT / TPOT 同时盯住,是 2025 年推理服务的入场券。
- 先看调度,再看模型:作者把 request scheduling 放在 KV cache 之前,是有深意的。一个简单的 SJF + prefill/decode 解耦,往往比换底层 attention 实现收益更高。
- KV cache 是新瓶颈:当模型规模、batch 大小、序列长度三者同时增长时,KV cache 显存增长是 O(L × batch × hidden),比权重增长更激进。
- RAG / Agent 改变了 SLO 形状:单轮推理的 SLO 是"一次响应多快",多步 Agent 的 SLO 是"整条链路多稳"——这要求 serving 平台提供 trace 级别的可观测性,而不是单请求级别的。
- test-time compute 与 serving 的耦合:模型思考得越久,serving 平台要越懂得"提前估长度 + 解耦 + KV 共享",否则成本失控。
与同方向工作的关系
- 与 Miao et al. 2023 / Yuan et al. 2024 / Zhou et al. 2024 等综述相比,本文最大的差异化是新增了 2024 下半年到 2025 上半年的解耦推理、speculative decoding、test-time reasoning 服务化等议题。
- 与 vLLM / SGLang / TensorRT-LLM / Mooncake 等系统工作相比,本文是它们的"上位学科分类"——这些系统各自优化一两个子方向,论文把它们连起来。
- 与 DistServe / Splitwise / Mooncake 等解耦推理原始论文相比,本文把它们抽象为统一的"disaggregation paradigm",并指出 KV 传输瓶颈这一共性问题。
适合谁读
- LLM 平台 / 推理引擎工程师:把零散的优化点整理成体系,避免重复造轮子。
- 算法研究员:了解自己提的新方法会被怎样部署、SLO 受哪些约束。
- AI Infra 团队 Leader:作为内部技术地图,做技术选型时的索引。
- Agent / RAG 方向的产品 / 架构师:理解为什么 serving 平台最近变化这么快,以及这些变化如何影响 RAG / Agent 产品的成本曲线。
- 不太适合:纯学术 NLP / CV 研究者(除非要转方向),以及只想找一个具体 SOTA 算法的人——综述不替你做选型。
一句话回顾
Taming the Titans 不是在驯服模型,而是在驯服"模型 + GPU + 请求流 + SLO"这套耦合系统。它最大的价值,是让分散在各系统、各论文、各会议里的优化手段,第一次有了同一张地图。
工程落地与核查(Jay)
事实核查
| 核查项 | 结论 | 存疑 |
|---|---|---|
| 作者机构 | 苏州大学 + 华为云联合——论文 header 自述一致 | ⚠️ 华为云具体部门/产品线未披露,影响"产业实践"引用可信度判断 |
| v1 时间戳 | 2025-04-28,与 arXiv 元数据一致 | v1 后是否有更新版本(v2/v3)未确认 |
| 11 页正文 + 7 图 | 论文自身标注,属实 | ⚠️ 11 页对综述体量而言极薄;大量子方向是蜻蜓点水 |
| vLLM / SGLang / TensorRT-LLM / Mooncake 引用 | 代表性系统均属实,SGLang 2024 发布、vLLM 2023 起成熟 | 具体版本号未指定;各系统在快速迭代,不存在稳定"快照" |
| SJF 调度反直觉示例 | 原文 R1=10 tokens / R2=2 tokens 数值自洽,但"1 token/s"解码速度是假设场景,非实测数据 | 实际系统 decode 速度与 batch size、model size、KV cache 状态强相关,示例仅作概念演示 |
| 评估指标表(TTFT/TBT/TPOT) | 业界通用口径,与 vLLM 文档 / NVIDIA Triton 口径一致 | 无问题 |
| Awesome-LLM-Inference-Serving 仓库 | 脚注提及但未给 URL;无法直接验证内容质量与更新频率 | ⚠️ GitHub 搜索"awesome-llm-inference-serving"有多个同名 repo,建议确认原始来源 |
工程落地路径
1. 用四级分类法做技术选型决策树
你的瓶颈在哪?
│
├─ 单请求延迟高(TTFT 大)
│ ├─ prefill 慢 → 实例级:TP/PP 切分(3.1)+ 解耦(3.5)
│ └─ decode 慢 → KV cache 管理(3.4)+ 调度(3.2)
│
├─ 吞吐低(throughput 小)
│ ├─ batch 跑不起来 → 请求调度(3.2)+ 解码长度预测(3.3)
│ └─ GPU 利用率低 → prefill/decode 解耦(3.5)+ 集群负载均衡(4.2)
│
├─ P99 延迟不稳
│ └─ 队头阻塞 → SJF 调度(3.2)+ 多副本负载均衡(4.2)+ KV cache 分配(3.4)
│
└─ 特定场景(长上下文 / RAG / Agent)
└─ 第 5 章对应场景节 + 解码长度预测(3.3)+ 解耦(3.5)
2. 实际系统落地检查清单
| 检查项 | 推荐工具 / 方法 | 优先级 |
|---|---|---|
| TTFT / TBT / TPOT 可观测 | vLLM metrics + Prometheus + Grafana;Datadog LLM 监控 | P0 |
| 调度策略选择 | vLLM 内置 SJF 变体;SGLang scheduler | P0 |
| KV cache 显存管理 | vLLM PagedAttention(生产成熟);SGLang RadixAttention | P0 |
| Prefill/Decode 解耦 | Mooncake(字节跳动生产级);DistServe(学术参考) | P1 |
| 投机解码 | vLLM 集成 HuggingFace speculative decoding;TensorRT-LLM speculative draft | P1 |
| 多实例负载均衡 | 层级路由:前路由(Nginx/HAProxy)+ LLM-aware 后路由(避免长请求撞长请求) | P1 |
| RAG 场景 SLO 设计 | chunk 级别 trace + retrieval latency SLO 独立监控 | P2 |
| LoRA 多租户 | LoRA Land(天下布妹)/ PEFT 多租户切换 | P2 |
3. 避坑指南(来自综述 6 章"杂项但关键")
| 坑 | 表现 | 解法 |
|---|---|---|
| 只盯 throughput 忽视 P99 | benchmarks 报 tokens/s 很好看,但线上 P99 延迟爆炸 | 上线前必须跑 percentile 指标;throughput 是在 SLO 约束下才有意义 |
| KV cache 显存估算错误 | 以为 80GB H100 能跑 70B 模型,实际上 KV cache 在长序列下把显存吃光 | 用 vLLM 的 vllm estimate-memory 工具或 SGLang Profiler;实测 > 理论估算 |
| Prefill/Decode 混布拖垮 | 把 prefill 和 decode 放同一 GPU 混跑,两个阶段互相干扰 | 有条件就解耦;无条件时用 vLLM 的 chunked prefill 缓解 |
| 投机解码用错 draft 模型 | draft 和 target 模型差距太大,accept rate 低 | accept rate < 0.5 时换 draft 或关掉 speculative decoding;实测决定 |
| 忽视冷启动延迟 | Spot instance 被回收后新实例冷启动要 5-10min,SLO 违约 | 用 warm pool(常驻 minimal replicas)+ 增量 checkpoint |
| 长上下文服务化低估 KV 开销 | 200K 上下文 + large batch → KV cache OOM | 上下文长度与 batch size 联合 budget;超长上下文走独立服务 |
4. 综述未深入但工程必须解决的问题
- 跨语言模型部署:Llama.cpp / llama.rs 在 CPU/inference 边缘端场景的适用性(综述未覆盖边缘推理)。
- 多租户隔离:不同租户的 LoRA adapter 如何在 GPU 显存层面做隔离,,防止某一租户 KV cache 被另一租户触发的 eviction 污染(综述未展开)。
- 故障恢复:单个请求级别的 checkpoint / KV cache 持久化;故障后 stream 恢复而非让用户重新输入(综述未涉及)。
- 成本核算:prefill/decode 解耦后跨 AZ 流量成本是否值得(华为云背景的论文可能有意回避这个问题)。
5. Awesome 仓库验证
⚠️ 脚注提及维护了 awesome 仓库但未给 URL;GitHub 搜索"awesome-llm-inference-serving"存在多个版本,star 数参差不齐。建议优先参考 paperswithcode / arxiv-sanity 的同类主题列表,或直接用本综述的引用文献作为 primary source。
⚠️ 本节为工程合理推断与系统化整理;综述 v1 仅 11 页正文,大量子方向(如 fairness、energy、隐私推理)仅名称提及,未深入展开工程细节。