💡

文章摘要

当你需要把一个大语言模型部署成可以对外服务的 API,第一个要做的选型不是'用哪家云',而是'用哪个推理引擎'。vLLM、TensorRT-LLM、SGLang 是当前最主流的三大开源 LLM 推理引擎,它们在架构设计、性能特征、硬件支持和运维复杂度上有根本差异。本文从工作负载特征出发,给出清晰的选型决策框架,基于 2026 年实测数据量化吞吐、延迟和成本差异,并覆盖量化策略、自动扩缩容、监控指标等工程实践。

1问题场景:为什么推理引擎选型如此重要

想象一个具体场景:你的团队训练好了一个 Llama 3.3 70B 模型,准备对外提供 API 服务。你找了一台 H100 GPU,装上推理框架,启动服务,开始接收请求。第一个月运行良好,但到了第二个月,用户量翻倍,你发现响应越来越慢、GPU 显存频繁爆满、每次换模型版本都要停机半小时。

这些问题都不是模型本身的问题,而是推理引擎选型或配置不当的问题。

推理引擎Inference Engine)是把训练好的模型权重变成实际 token 输出的运行时软件。它决定了:

  • 同样的 GPU 能服务多少并发请求(吞吐)
  • 用户发出请求后多久看到第一个字(首 token 延迟)
  • 换模型版本需要停机多久(冷启动时间)
  • 每百万 token 花多少钱(单 token 成本)

选型错误的代价:选错引擎可能导致同样的硬件吞吐低 20%、延迟高 30%、运维成本翻倍。在大规模部署下,这些差异会转化为每月数千甚至数万美元的成本差距。

本文的目标读者:需要把 LLM 部署成生产服务的工程师、架构师或技术负责人。你不需要是推理优化专家,但需要了解不同引擎的架构权衡,做出符合自己工作负载特征的选型决策。

本文不会做什么:不会罗列所有推理引擎的功能清单,不会逐行对比 API 参数,不会深入 CUDA 内核实现。我们聚焦在"你的工作负载适合哪个引擎"这个决策问题上。

2三大引擎的架构哲学:PagedAttention vs 编译优化 vs 前缀缓存

vLLMTensorRT-LLMSGLang 这三个引擎的核心差异不在功能列表,而在架构哲学。 理解它们各自押注的优化方向,才能理解为什么在不同场景下性能差异这么大。

2.1 vLLM:以内存管理为核心的通用优化器

vLLM 的核心创新是 PagedAttention——借鉴操作系统虚拟内存的分页思想,把 KV Cache(推理过程中缓存的注意力键值对,避免重复计算)切成固定大小的"页",按需分配、非连续存储。

为什么这很重要KV Cache 是推理中最消耗显存的组件之一。传统方式需要为每个请求预分配最大长度的连续显存,导致大量碎片和浪费。PagedAttention 把浪费从 60-80% 降到 4% 以下,意味着同样的 GPU 显存可以服务更多并发请求,直接转化为更高的吞吐和更低的单 token 成本。

vLLM 的设计哲学是"通用优化器"——通过优秀的内存管理让任何模型、任何硬件都能高效运行。它不假设你的工作负载有什么特殊模式,而是提供稳定的 baseline 性能。

硬件支持vLLM 基于 PyTorch 构建,天然支持多种硬件后端——NVIDIA CUDA、AMD ROCm、Intel GPU、Google TPU、AWS Neuron。2025 年 5 月 vLLM 加入 PyTorch Foundation,社区活跃度进一步提升,目前 GitHub 超过 46,500 stars,贡献者超过 1,000 人。

2.2 TensorRT-LLM:以编译优化为核心的专用优化器

TensorRT-LLM 的核心创新是提前编译(Ahead-of-Time Compilation)——在部署前把模型编译成针对特定 GPU 型号、特定批处理大小、特定序列长度优化的内核图(kernel graph)。

为什么这很重要:编译后的内核图消除了运行时的动态调度开销,在 GPU 高负载(高 batch occupancy)时效率最高。实测数据显示,在 100 并发请求下,TensorRT-LLM 的吞吐比 vLLM 高 16%,首 token 延迟低 12%。

代价是什么

  1. 编译时间长:首次编译一个 70B 模型的 FP8 引擎需要约 28 分钟。
  2. 硬件绑定:只支持 NVIDIA GPU(Ampere、Hopper、Blackwell 架构),没有 AMD、TPU 或 CPU 路径。
  3. 配置绑定:编译后的引擎针对特定的批处理大小和序列长度优化,改变配置需要重新编译。

TensorRT-LLM 的设计哲学是"专用优化器"——通过编译时优化榨干特定硬件的每一滴性能。它假设你知道自己要部署什么模型、在什么硬件上、跑什么负载,然后针对这个配置做极致优化。

注意TensorRT-LLM v1.0 之后引入了 PyTorch 后端(现在是默认),可以直接加载 Hugging Face 权重,跳过编译步骤。这降低了入门门槛,但峰值吞吐比编译引擎路径低 5-10%。

2.3 SGLang:以结构化生成为核心的场景优化器

SGLangStructured Generation Language)的核心创新是 RadixAttention——把 KV Cache 组织成基数树(Radix Tree)结构,自动识别和缓存共享的前缀。

为什么这很重要:很多 LLM 应用有大量前缀复用——多轮对话共享历史上下文、RAG 应用共享检索文档、Agent 工作流共享系统提示。传统引擎对每个请求都重新计算完整 KV CacheSGLang 只计算一次共享前缀,后续请求直接复用。

典型场景:一个客服机器人有 2000 token 的系统提示词,每天处理 10 万个请求。用 vLLMTensorRT-LLM,每个请求都要重新计算系统提示词的 KV Cache。用 SGLang,系统提示词的 KV Cache 只计算一次,后续请求直接复用,节省大量计算。

SGLang 的设计哲学是"结构化优化器"——通过识别工作负载中的结构模式(前缀共享、多轮上下文)来消除重复计算。它假设你的应用有可预测的复用模式,并利用这些模式加速。

适用场景

  • 多轮对话(每轮共享历史上下文)
  • RAG 应用(多个查询共享相同的检索文档)
  • Agent 工作流(多个步骤共享系统提示和工具定义)
  • 少样本学习(多个请求共享相同的示例)

2.4 三种设计哲学小结

引擎 核心机制 设计哲学 硬件支持 适用场景
vLLM PagedAttention 通用优化器 NVIDIA/AMD/TPU/Neuron 多模型、快速迭代、混合硬件
TensorRT-LLM 提前编译 专用优化器 NVIDIA only 单一模型、长期稳定、极致性能
SGLang RadixAttention 结构化优化器 NVIDIA 为主 多轮对话、RAG、Agent

这三种哲学没有绝对优劣,关键在于匹配你的实际场景。

图表加载中…

3选型决策框架:你的工作负载适合哪个引擎

引擎选型不是"哪个最好"的问题,而是"哪个最适合你的场景"的问题。 这一章给你一个清晰的决策框架,帮助你根据自己的工作负载特征、硬件环境、团队能力和运维模式做出选择。

3.1 决策维度一:硬件环境

第一个要问的问题:你的 GPU 是什么品牌?未来会不会变?

全 NVIDIA 环境vLLMTensorRT-LLMSGLang 都可以。如果你确定未来 12 个月不会引入 AMD 或其他硬件,三个引擎都在考虑范围内。

混合硬件或可能引入 AMD:只能选 vLLMTensorRT-LLM 是 NVIDIA 专用,没有 ROCm 支持路径。SGLang 目前也以 NVIDIA 为主,AMD 支持不如 vLLM 成熟。

为什么这很重要:很多团队现在全用 NVIDIA,但 12-18 个月后可能因为成本、供应或性能原因引入 AMD MI300X。如果你选了 TensorRT-LLM,到时候要整体迁移;如果一开始就用 vLLM,迁移成本几乎为零。

决策规则

  • 确定只用 NVIDIA,且未来不会变 → 三个都可选
  • 可能引入 AMD 或其他硬件 → 选 vLLM
  • 已经有混合硬件 → 选 vLLM

3.2 决策维度二:模型稳定性

第二个关键问题:你的模型多久换一次?

模型稳定,几个月甚至一年不换TensorRT-LLM 的编译成本可以摊薄。28 分钟的编译时间分摊到几个月的运行中,几乎可以忽略。你可以享受编译优化带来的 8-16% 吞吐提升和对应的成本下降。

模型频繁更新,每周甚至每天都有新版本vLLM 更合适。每次模型更新都要重新编译 TensorRT-LLM 引擎,28 分钟的编译时间在频繁更新场景下会变成持续的运维负担。vLLM 加载模型只需 62 秒,模型切换几乎无感。

模型并行运行vLLM 是唯一合理选择。如果你同时运行 5-10 个不同模型(比如不同任务用不同大小的模型),TensorRT-LLM 要为每个模型编译引擎,运维复杂度会爆炸。

决策规则

3.3 决策维度三:工作负载特征

第三个问题:你的请求模式是什么样的?

高并发、长输出:比如批量处理 1000 个文档摘要任务,每个输出 2000 token。这种场景下 TensorRT-LLM 的编译优化优势最大,高并发时吞吐领先 13-16%,单 token 成本低 12%。

低并发、交互式:比如客服机器人,同时只有 5-10 个用户对话。这种场景下 vLLMTensorRT-LLM 的性能差距很小(个位数百分比),vLLM 的易用性优势更值得考虑。

大量前缀复用:比如 RAG 应用(所有请求共享检索文档)、多轮对话(每轮共享历史)、Agent 工作流(多步共享系统提示)。这种场景下 SGLangRadixAttention 可以带来显著的吞吐提升,是明显的最优选择。

决策规则

  • 高并发(50+ 并发请求)+ 单一模型 → TensorRT-LLM
  • 低中并发(< 20 并发)+ 快速迭代 → vLLM
  • 大量前缀复用(RAG/多轮/Agent) → SGLang

3.4 决策维度四:团队能力与运维模式

最后一个问题:你的团队有什么能力?运维模式是什么?

小团队、快速迭代、DevOps 能力有限vLLM。安装简单(一个 Docker 命令),配置少,社区活跃,遇到问题容易找到答案。不需要维护编译流水线,不需要理解 TensorRT 的量化细节。

大团队、有 MLOps 能力、追求极致性能TensorRT-LLM。可以投入工程资源建立编译流水线,理解量化和内核优化的细节,愿意为 10-15% 的性能提升付出运维成本。

特定场景(Agent/RAG/多轮对话)SGLang。如果你的应用有明显的结构化特征,SGLang前缀缓存可以带来显著收益,值得学习和投入。

3.5 综合决策树

把四个维度综合起来,决策树如下:

第一步:硬件检查

  • 混合硬件或可能引入 AMD → vLLM,结束
  • 全 NVIDIA → 进入第二步

第二步:模型稳定性

  • 模型频繁更新或多模型并行vLLM,结束
  • 单一模型稳定运行 → 进入第三步

第三步:工作负载特征

  • 大量前缀复用(RAG/多轮/Agent) → SGLang,结束
  • 高并发(50+)或低中并发 → 进入第四步

第四步:团队能力

  • 小团队、快速迭代 → vLLM
  • 大团队、MLOps 成熟、追求极致 → TensorRT-LLM

这个决策树覆盖了 80% 的场景。剩下 20% 的边界情况(比如超高并发但模型频繁更新),需要在具体场景中权衡,但大多数团队可以用这个框架快速定位。

决策维度选 vLLM选 TensorRT-LLM选 SGLang

硬件环境

混合或可能引入 AMD

全 NVIDIA 且确定不变

全 NVIDIA

模型稳定性

频繁更新或多模型

单一模型稳定 3 个月+

单一模型

工作负载

通用场景

高并发(50+)

大量前缀复用

团队能力

小团队、快速迭代

大团队、MLOps 成熟

特定场景(Agent/RAG)

4性能对比:基于实测数据的权衡分析

选型框架告诉你"怎么选",性能数据告诉你"选完之后能得到什么"。 这一章基于 Spheron 2026 年 8 月在 H100 SXM5 80GB 上的实测数据(模型 Llama 3.3 70B FP8),量化三个引擎在不同并发度下的性能差异。

4.1 吞吐对比

测试条件:单卡 H100 SXM5 80GB,模型 Llama 3.3 70B FP8,vLLM v0.18.0,TensorRT-LLM v1.2.0 编译引擎,200 个请求(平均输入 512 token,平均输出 256 token)。

并发数 vLLM (tok/s) TensorRT-LLM (tok/s) TRT-LLM 优势
1 120 130 +8%
10 650 710 +9%
50 1,850 2,100 +13%
100 2,400 2,780 +16%

关键观察

  1. 低并发差距小:单请求时 TensorRT-LLM 只快 8%,这个差距在很多场景下可以忽略。
  2. 高并发差距大:100 并发时差距拉到 16%,这是编译优化在高 batch occupancy 下的优势——内核图在高负载时调度效率更高。
  3. SGLang 未参与对比SGLang 的优势在前缀复用场景,通用吞吐测试中不是它的强项。

实际意义:如果你的服务长期运行在 50+ 并发,TensorRT-LLM 的 13-16% 吞吐提升意味着同样的 GPU 可以服务更多请求,或者同样的请求需要更少的 GPU,直接转化为成本节省。

4.2 首 token 延迟(TTFT)对比

TTFT(Time to First Token) 是用户实际感受到的"响应速度"——从发送请求到看到第一个字的时间。

并发数 vLLM p95 (ms) TensorRT-LLM p95 (ms) 差距
1 68 55 -19%
10 195 170 -13%
50 720 620 -14%
100 1,450 1,280 -12%

关键观察

  1. TensorRT-LLM 延迟更低:在所有并发度下 TTFT p95 都低 12-19%,用户感知更"快"。
  2. 低并发差距小:单请求时差距只有 13ms,用户几乎感觉不到。
  3. 高并发差距明显:100 并发时差距 170ms,在交互式聊天产品中用户可以感知到差异。

实际意义:如果你的产品是面向用户的交互式应用(聊天、客服、助手),TTFT 直接影响用户体验。TensorRT-LLM 在延迟上有稳定优势,但如果你很少跑到 50+ 并发,这个优势不值得额外的运维成本。

4.3 冷启动时间对比

冷启动时间是从容器启动到可以处理第一个请求的时间。

引擎 冷启动时间 说明
vLLM ~62 秒 加载权重即可服务
TensorRT-LLM(编译引擎) ~28 分钟(首次)+ 90 秒(后续) 首次需要编译,编译后复用
TensorRT-LLMPyTorch 后端) ~90 秒 跳过编译,性能略降
SGLang ~70 秒 vLLM 接近

关键观察

  1. vLLM 冷启动最快:62 秒,适合自动扩缩容、蓝绿部署、快速迭代。
  2. TensorRT-LLM 编译引擎冷启动慢:28 分钟的首次编译是一次性成本,但每次模型更新都要重新编译。
  3. TensorRT-LLM PyTorch 后端是折中:跳过编译,冷启动 90 秒,但峰值吞吐比编译引擎低 5-10%。

实际意义

  • 如果你需要自动扩缩容(根据流量自动增减 GPU 实例),vLLM 的 62 秒冷启动意味着扩容更快响应。
  • 如果你需要蓝绿部署(新旧版本并行运行,无缝切换),TensorRT-LLM 的 28 分钟编译会让部署流程复杂化。
  • 如果你模型稳定、不需要频繁扩缩容TensorRT-LLM 的编译成本可以接受。

4.4 单 token 成本对比

单 token 成本 = GPU 每小时成本 / (吞吐 token/s × 3600) × 1,000,000。

以 Spheron H100 SXM5 按需价格 $5.01/小时为例,50 并发下的吞吐数据:

引擎 吞吐(50 并发) GPU 成本 单百万 token 成本
vLLM 1,850 tok/s $5.01/hr $0.75
TensorRT-LLM 2,100 tok/s $5.01/hr $0.66

关键观察

  1. TensorRT-LLM 成本低 12%:同样的 GPU,TensorRT-LLM 每百万 token 便宜 $0.09。
  2. 成本差距随并发增加:100 并发时 TensorRT-LLM 吞吐优势拉到 16%,成本差距更大。
  3. 低并发差距小:10 并发以下时,成本差距只有个位数百分比。

实际意义

  • 如果你的服务长期运行在高并发(50+),TensorRT-LLM 的 12% 成本节省在大规模下很可观。假设你每月 GPU 成本 $10,000,TensorRT-LLM 可以节省 $1,200/月。
  • 如果你的服务并发波动大或长期低于 20,成本差距很小,vLLM 的易用性更值得考虑。

4.5 性能对比小结

指标 vLLM TensorRT-LLM SGLang
吞吐(高并发) 基准 +13-16% 未测试(通用场景)
TTFT p95(100 并发) 1,450 ms 1,280 ms 未测试
冷启动 62 秒 28 分钟(首次) 70 秒
单 token 成本(50 并发) $0.75/M $0.66/M 未测试

核心权衡TensorRT-LLM 用运维复杂度换 10-16% 的性能提升。这个权衡是否值得,取决于你的并发水平、模型稳定性和团队能力。

图表加载中…

5工程实践:部署与运维的关键决策

选定引擎只是第一步,部署和运维中的工程决策同样影响最终效果。 这一章覆盖三个关键实践:量化策略、自动扩缩容和监控指标。

5.1 量化策略:FP8 vs INT8 vs INT4

量化是把模型权重从高精度(FP16/BF16)转成低精度(FP8/INT8/INT4),用精度损失换显存节省和速度提升。

FP8(8 位浮点)

  • 精度损失:< 1%,几乎无损
  • 显存节省:约 50%(相比 FP16)
  • 速度提升:1.5-2x
  • 适用场景:生产环境首选,精度和性能的最佳平衡点
  • 引擎支持vLLMTensorRT-LLM 都原生支持

INT8(8 位整数)

  • 精度损失:1-3%,轻微
  • 显存节省:约 50%
  • 速度提升:1.5-2x
  • 适用场景:对精度要求不高的场景,或 FP8 不可用时的替代
  • 引擎支持vLLMTensorRT-LLM 都支持

INT4(4 位整数)

  • 精度损失:3-8%,明显
  • 显存节省:约 75%
  • 速度提升:2-3x
  • 适用场景:显存极度紧张,或可以接受明显精度损失的场景
  • 引擎支持vLLMTensorRT-LLM 都支持,但 TensorRT-LLM 的 INT4 优化更成熟

决策建议

  1. 生产环境首选 FP8:精度损失最小,性能提升显著,是当前生产环境的最佳实践。
  2. 显存紧张时考虑 INT4:如果模型太大,FP8 仍然超出显存,可以试 INT4,但要充分测试精度。
  3. 避免在关键任务上用 INT4:医疗、法律、金融等对精度要求高的场景,不要用 INT4。

5.2 自动扩缩容策略

自动扩缩容是根据流量自动增减 GPU 实例,优化成本和响应速度。

vLLM 的扩缩容优势

  • 冷启动 62 秒,扩容响应快
  • 不需要编译步骤,新实例启动即可服务
  • 适合流量波动大的场景(电商促销、新闻热点)

TensorRT-LLM 的扩缩容挑战

  • 编译引擎冷启动 28 分钟(首次),扩容慢
  • 解决方案:预编译引擎镜像,新实例加载预编译引擎只需 90 秒
  • 或者使用 PyTorch 后端,冷启动 90 秒,但性能略降

扩缩容决策

  • 流量波动大、需要快速扩容vLLM,或 TensorRT-LLM PyTorch 后端
  • 流量稳定、可预测TensorRT-LLM 编译引擎,预编译镜像可以解决冷启动问题
  • 混合策略:基础负载用 TensorRT-LLM 编译引擎(成本最优),峰值负载用 vLLM 快速扩容

5.3 监控指标:判断引擎是否运行正常

关键监控指标

  1. 吞吐(tokens/s):实际处理的 token 数。如果低于预期,可能是批处理配置不当或 GPU 利用率低。
  2. TTFT p95(首 token 延迟 95 分位):用户体验指标。如果 p95 超过 2 秒,用户会感到"卡顿"。
  3. GPU 利用率:应该长期在 70-90%。低于 60% 说明批处理配置不当;高于 95% 说明接近饱和,需要扩容。
  4. 显存使用率:应该稳定在 80-90%。突然上升可能是 KV Cache 泄漏;长期低于 70% 说明可以服务更多并发。
  5. 请求队列长度:如果队列持续增长,说明吞吐不足,需要扩容或优化批处理。

告警阈值建议

  • TTFT p95 > 2000 ms:告警,用户体验下降
  • GPU 利用率 < 60% 持续 5 分钟:告警,可能是配置问题
  • 显存使用率 > 95%:告警,接近 OOM(Out of Memory)
  • 请求队列长度 > 100:告警,需要扩容

5.4 常见陷阱与规避

陷阱 1:忽视批处理配置

  • 问题:默认批处理配置可能不适合你的工作负载,导致吞吐低或延迟高。
  • 规避:根据你的并发水平和请求长度调整 max_batch_size 和 max_num_seqs 参数。

陷阱 2:过度量化

  • 问题:为了省显存用 INT4,结果精度损失严重,业务指标下降。
  • 规避:先在测试集上评估不同量化方案的精度,选择精度损失 < 2% 的方案。

陷阱 3:忽视 KV Cache 管理

  • 问题:长上下文场景下 KV Cache 占用过多显存,导致并发能力下降。
  • 规避:启用 PagedAttentionvLLM 默认启用),设置合理的 max_model_len 限制。

陷阱 4:盲目追求高吞吐

  • 问题:为了最大化吞吐,把批处理设得很大,结果 TTFT 飙升,用户体验差。
  • 规避:吞吐和延迟要平衡。根据 SLA 设定 TTFT 上限,在满足延迟要求的前提下最大化吞吐。

6边界与局限:引擎选型不是万能药

引擎选型可以带来 10-20% 的性能提升,但它不是推理优化的全部。 这一章明确引擎选型的边界,避免过度依赖引擎而忽视其他优化手段。

6.1 引擎选型的局限性

局限 1:引擎无法弥补模型本身的低效

  • 如果模型架构本身计算量大(比如超大稠密模型),换引擎只能优化 10-20%,无法根本解决问题。
  • 更好的方案:考虑模型架构优化,比如用 MoEMixture of Experts)替代稠密模型,或用蒸馏减小模型规模。

局限 2:引擎无法解决硬件瓶颈

  • 如果 GPU 显存不足、互联带宽低,引擎再优化也跑不起来。
  • 更好的方案:先解决硬件瓶颈,比如升级到更大显存的 GPU,或优化节点间互联。

局限 3:引擎优化有上限

  • 引擎优化主要在内存管理和调度层面,无法改变 Transformer 架构本身的计算复杂度。
  • 更好的方案:结合其他推理优化技术,比如推测解码Speculative Decoding,可以提升 2-5x 速度)、模型剪枝、知识蒸馏。

6.2 引擎选型之外的优化手段

优化 1:推测解码Speculative Decoding

  • 原理:用小模型快速生成草稿,大模型验证,加速 2-5x。
  • 适用场景:对延迟敏感的场景,可以和任何引擎组合使用。

优化 2:模型架构优化

  • MoEMixture of Experts:只激活部分参数,计算量大幅减少。比如 Mixtral 8x7B 总参数 46.7B,但每个 token 只激活 12.9B。
  • 蒸馏(Distillation):用大模型教小模型,小模型性能接近大模型但速度快很多。

优化 3:硬件优化

  • GPU 选型:不同 GPU 的性价比差异很大。H100 性能最强但贵,L40S 性价比高但性能弱。
  • 多卡并行张量并行Tensor Parallelism)可以把大模型分到多卡,提升吞吐。

6.3 引擎选型的决策边界

什么时候引擎选型不是最重要的

  1. 模型太大,单卡放不下:先解决模型并行问题,引擎选型是次要的。
  2. 延迟要求极高(< 100ms):引擎优化的 10-20% 不够,需要推测解码 + 模型蒸馏 + 硬件优化的组合。
  3. 成本极度敏感:引擎优化带来的成本节省有限,考虑用更小模型或 spot 实例。

什么时候引擎选型是关键

  1. 模型可以放下,但吞吐不够:引擎选型可以带来 10-20% 吞吐提升,是关键优化手段。
  2. 模型并行,运维复杂:选 vLLM 可以大幅简化运维。
  3. 高并发场景,成本敏感TensorRT-LLM 的 12% 成本节省在大规模下很可观。

6.4 长期视角:引擎生态的演进

vLLM 的演进方向

  • 2025 年 5 月加入 PyTorch Foundation,社区活跃度进一步提升。
  • 硬件支持持续扩展,AMD ROCm、Intel、TPU、AWS Neuron 都在官方支持路线图上。
  • 未来可能整合更多推理优化技术(推测解码前缀缓存)到核心引擎。

TensorRT-LLM 的演进方向

  • v1.0 引入 PyTorch 后端,降低编译门槛,吸引更广泛用户。
  • 持续优化 NVIDIA 最新硬件(Blackwell、Grace Hopper)。
  • 可能进一步整合 NVIDIA 生态(Triton Inference Server、NIM)。

SGLang 的演进方向

  • 专注结构化生成和 Agent 场景,RadixAttention 持续优化。
  • 可能扩展更多硬件支持,但目前以 NVIDIA 为主。

选型建议:引擎选型不是一次性决策,要关注生态演进。vLLM 的社区驱动和硬件中立性让它长期风险更低;TensorRT-LLM 的 NVIDIA 绑定在纯 NVIDIA 环境下性能最优,但有生态锁定风险。

图表加载中…

7选型决策清单:从评估到落地的完整路径

最后一章给你一个可执行的清单,从评估到落地,确保选型决策不遗漏关键因素。

7.1 评估阶段(1-2 周)

步骤 1:明确工作负载特征

  • 统计典型并发水平(p50、p95、p99)
  • 统计请求长度分布(输入、输出 token 数)
  • 识别是否有前缀复用(系统提示、多轮历史、共享文档)
  • 确定模型更新频率(每周/每月/每季度)

步骤 2:明确硬件环境

  • 当前 GPU 型号和数量
  • 未来 12 个月硬件规划(是否可能引入 AMD 或其他硬件)
  • 是否需要自动扩缩容

步骤 3:明确团队能力

  • 团队规模(小团队 < 5 人 / 大团队 > 10 人)
  • MLOps 成熟度(是否有编译流水线、自动化部署经验)
  • 对推理优化的投入意愿(愿意为 10% 性能提升付出多少运维成本)

7.2 测试阶段(2-4 周)

步骤 4:搭建测试环境

  • 准备代表性测试数据集(覆盖典型请求模式)
  • 准备测试脚本(模拟真实并发和请求长度)
  • 准备监控工具(Prometheus + Grafana 或类似方案)

步骤 5:基准测试

  • 测试 vLLM:吞吐、TTFT p95、冷启动时间、显存占用
  • 测试 TensorRT-LLM:同上(编译引擎和 PyTorch 后端都测)
  • 测试 SGLang:同上(如果有前缀复用场景,重点测前缀缓存命中率)

步骤 6:成本分析

  • 计算每个引擎的单 token 成本(GPU 成本 / 吞吐)
  • 计算运维成本(编译时间、部署复杂度、故障恢复时间)
  • 综合评估 TCO(Total Cost of Ownership)

7.3 决策阶段(1 周)

步骤 7:应用决策树

  • 按硬件、模型稳定性、工作负载、团队能力四个维度打分
  • 确定首选引擎和备选引擎
  • 记录决策理由,便于后续复盘

步骤 8:风险评估

  • 评估首选引擎的长期风险(生态锁定、硬件绑定、社区活跃度)
  • 制定迁移预案(如果首选引擎不合适,迁移到备选引擎的成本)

7.4 落地阶段(2-4 周)

步骤 9:小规模试点

  • 选择 1-2 个非关键业务试点
  • 部署首选引擎,监控关键指标
  • 收集反馈,调优配置

步骤 10:全量部署

  • 制定迁移计划(灰度发布、回滚预案)
  • 全量部署,监控关键指标
  • 建立运维手册(常见问题、故障恢复、扩缩容策略)

7.5 持续优化

步骤 11:定期复盘

  • 每季度复盘引擎性能、成本、运维复杂度
  • 关注引擎版本更新和新特性
  • 评估是否需要调整选型

步骤 12:持续学习

  • 关注社区动态(GitHub、Discord、博客)
  • 参与社区讨论,反馈问题和需求
  • 学习其他团队的实践经验

7.6 小结

引擎选型是一个多维权衡问题,没有绝对最优解。关键是理解你的工作负载特征、硬件环境、团队能力,然后用决策框架找到最适合的方案。

记住三个核心原则:

  1. 先理解需求,再选引擎:不要为了用某个引擎而用,要从需求出发。
  2. 量化权衡,不要凭感觉:用基准测试数据说话,不要凭印象或口碑。
  3. 保持灵活性:引擎选型不是一次性决策,要根据业务变化和引擎演进而调整。

选对引擎可以带来 10-20% 的性能提升和成本节省,但它只是推理优化的一部分。结合推测解码、模型架构优化、硬件优化等手段,才能构建真正高效的 LLM 推理系统。

🎯 相关面试题

巩固本篇知识点,备战 AI 岗位面试。