深言速舟 · 学习站

第五部分:推理引擎选型

LLM 推理加速:从 0 到 1 教学手册第五部分:推理引擎选型约 7 分钟更新于 2026-08-05

5.1 推理引擎到底是什么

推理引擎 = 把前面所有事情打包成一个软件,让你不用自己写。

类比:

  • 你不需要自己写数据库 → 用 MySQL/PostgreSQL
  • 你不需要自己写 Web 服务器 → 用 Nginx
  • 你不需要自己写 LLM 推理 → 用 vLLM/SGLang/TensorRT-LLM

你的价值不是写引擎,是知道:该选哪个、怎么配置、哪些参数要调、不同引擎的极限和坑在哪。

5.2 三个主流引擎

vLLM:行业事实标准

推荐用作 baseline

核心创新:PagedAttention(KV Cache 分页)+ Continuous Batching

优势:

  • 上手最快,文档最全
  • 模型支持最广(新模型出来当天就支持)
  • OpenAI 兼容 API
  • 社区最大

劣势:

  • 单卡峰值吞吐不是最高
  • 多轮对话场景被 SGLang 超过

SGLang:chat/agent 场景王者

MaaS 场景首选

核心创新:RadixAttention(跨请求 KV Cache 共享)

优势:

  • MaaS 场景的最优解(多客户共享 system prompt)
  • 多轮对话吞吐显著领先 vLLM 30%
  • 性能演进特别快

劣势:生态成熟度不如 vLLM;新模型支持慢一拍。

TensorRT-LLM:NVIDIA 官方吞吐天花板

高级配置

核心思路:编译优化,把模型编译成 NVIDIA 硬件原生的高度优化代码。

优势:

  • 单卡吞吐最高
  • 量化方案最全
  • 投机解码做得最激进(最高 3.6x)

劣势:

  • 上手门槛高,要"编译模型"
  • 编译 70B 模型要 20-30 分钟
  • 模型变了要重编
  • 调试困难

性能对比(某型号卡 80GB, Llama 3.3 70B FP8)

引擎 吞吐 (tokens/s) 相对值
vLLM ~12,500 100%
SGLang ~16,200 130%
LMDeploy ~16,200 130%
TensorRT-LLM ~14,500-16,500 116-132%

按月度 GPU 成本算,30% 的差距大概是某金额/月(某规模集群)。选错引擎一年损失某金额。

5.3 OpenAI / Anthropic 实际在用什么

跟客户聊天的最高级弹药。

某厂商的快速模式(2.5 倍加速)

  • 不是新硬件,还是某型号卡
  • 本质:降低 batch size + 更激进的 Speculative Decoding
  • 代价:单 token 成本是普通模式的 6 倍
  • 哲学:保留原模型完整能力,只调 serving 参数

某厂商的某模型(15 倍加速 / 1000+ tokens/s)

  • 用某厂商的晶圆级芯片(单片 70 平方英寸,44GB SRAM)
  • 把整个模型放进 SRAM,避免 HBM 读写
  • 不是原版某模型,是蒸馏出来的小模型
  • 哲学:新硬件 + 模型蒸馏,吞吐为王

对某客户的启示:客户没有某厂商的晶圆级芯片,只有某型号卡。所以能走的是某厂商的软件路线,更激进的投机解码 + 智能 batching + Prefix Caching。具体到引擎选型,就是 SGLang 作为主引擎 + EAGLE-3 投机解码。

5.4 三步走选型方案

明天某总问"建议用哪个引擎",标准答案:

第一阶段(1-2 个月):vLLM 跑通 baseline。最稳妥,最快出结果。某开源模型和某国产模型都能跑起来。所有基础优化都开启:FP8 权重、FP8 KV Cache、Continuous Batching、PagedAttention、基础 Prefix Caching。这一步把硬件能力利用到 70%。

第二阶段(2-4 个月):评估 SGLang 作为主引擎。MaaS 场景多客户共享 system prompt,RadixAttention 再榨出 30% 吞吐。如果业务方向稳定,必上。

第三阶段(可选,6 个月后):针对最高流量模型用 TensorRT-LLM 做编译优化,再榨 15-30%。工程成本高,要看 ROI。

不建议一上来就上 TensorRT-LLM,编译时间长,模型一变要重编,工程团队会被卡住。

附录:必背数字 + 核心心智模型

明天会议室前必须脱口而出的数字

类别 数字
某型号卡显存 80 GB HBM3
某型号卡 HBM 带宽 ~3 TB/s
某型号卡 FP16 算力 1000 TFLOPS
某型号卡 FP8 算力 2000 TFLOPS
某型号卡 NVLink 带宽 400 GB/s(某型号卡是 900 GB/s)
PCIe 5.0 带宽 64 GB/s
IB NDR 带宽 400 Gbps(时延 1 μs)
70B 模型 FP16 / FP8 / INT4 140GB / 70GB / 35GB
Decode 算力利用率 1-5%
Continuous Batching 收益 3-10x
Speculative Decoding 收益 2-3x
Prefix Caching 收益 Prefill 省 80-90%
Disaggregated Serving 收益 单 token 成本省 30-50%
引擎吞吐对比 (某型号卡 70B) vLLM 12.5k / SGLang 16.2k tokens/s

核心心智模型(一句话记忆)

如果只记一件事:LLM 是自回归生成的,一个 token 一个 token 蹦出来。整个推理时间 95% 花在 Decode 阶段,而 Decode 阶段 GPU 算力 95% 闲置。所有加速技术都在攻击这个事实。

如果记三件事

  1. Prefill 处理输入(compute-bound),Decode 循环生成(memory-bound),两阶段对硬件需求完全不同
  2. KV Cache 让自回归从 O(N²) 降到 O(N),但占大量显存,是所有显存优化技术的核心战场
  3. Decode 阶段 GPU 算力 95% 闲置,所以 batching、speculative decoding、量化、prefix caching 都在攻击这个事实

明天对话的开场定位

"某总,简单介绍下我自己。我在 NVIDIA 做的是 NGC 容器和 GPU 调度,之前在 Apple AIML 做多租户 GPU 平台,规模和你们这个某规模量级接近。当时核心问题和你们要解决的本质上是同一类:怎么在共享硬件上让多个互不信任的 workload 既不互相干扰、又把整体利用率拉到 70%+。这套经验放到推理 MaaS 场景,调度问题是同构的,只是 workload 从训练任务变成 serving 流量,优化目标从 throughput 变成 throughput 加 latency 双约束。今天想先听一下你们具体的业务画像,再讨论方案。"

四句话回答法

不要只给结论,要给"推导 + 代价"。明天在客户面前的标准答法:

  • 结论 1 句话
  • 推导 2-3 句话
  • 代价 / 边界 1 句话

例:

❌ 短答:"4 台的高。"

✅ 四句答:"四台高,主要是 KV Cache 池子大了,batch 能开更大,吞吐能高 3-5 倍。但代价是卡间通信开销增加,某型号卡的 NVLink 还是阉割版,网络拓扑没设计好的话加卡反而变慢。所以更准确的说法是:四台理论上限高,但实际收益取决于网络设计和 workload pattern。"

脱敏说明

本文按公开发布要求做了脱敏处理:卡型号(H800/H100/H200)替换为「某型号卡」,集群规模替换为「某数量台」「某规模」,成本金额替换为「某金额」,人名替换为「某总」,客户名替换为「某客户」,未发布产品名替换为「某厂商」「某模型」。性能对比数字为公开模型与引擎的可复现结果,予以保留。

修订记录

日期改了什么为什么谁
2026-08-05从整篇拆成第 6/6 章,正文未改动整篇 44 分钟读不完,拆成每章 20 分钟以内工程