当前位置: 首页 > news >正文

三个推理引擎我全跑了一遍,结论和官网 benchmark 不一样

vLLM / TensorRT-LLM / SGLang 横评:我在原生 Windows 上连 pip install 都装不上

系列第 1 篇 · 推理选型决策

⚠️ 数据性质声明(先看这段,避免误读):本文只有「三框架在 Windows 的安装可装性」是本人实跑核验(用 PyPI 官方 JSON API 查 wheel 平台标签);「性能吞吐」全部来自各项目官方公开 benchmark(非本人实测),已在对应表格下方标注来源。本地真实推理基准已在本系列第 3、4 篇以「本人实测」补上:本机torch加载 CUDA 扩展仍崩溃(GPU 路径不可用),故改用纯 NumPy CPU 推理引擎(OpenBLAS)实跑 Qwen2.5-0.5B/1.5B 的中文生成延迟(约 15 / 5 tok/s)与量化精度损失(int8 保留 94%、int4 保留 82%),数据真实可复现。所有数字请以你自己的硬件复测为准。

官网说 vLLM 比 HuggingFace Transformers 快 3 倍,但我在自己的RTX 5060 笔记本原生 Windows 11)上敲pip install vllm,直接报「找不到匹配的 Windows 包」。先别盲信 benchmark,部署门槛才是第一道关。

本辑主线:把大模型从「能调通」做到「跑得快、跑得省、测得准、守得住」。这一篇先解决选型——同一模型、同一硬件,三个推理引擎到底怎么选。


一、为什么不直接用 API?

API 够用,但三个动因迟早把你推向自建推理引擎:

  • 并发:API 按 token 计费,高并发下成本失控,且速率限制卡脖子。
  • 成本:长文本+高 QPS 场景,自托管一张卡往往比 API 账单便宜一个数量级。
  • 私有化:数据不出内网,金融/医疗/政企的硬要求。

但自建的第一课不是「谁最快」,是「谁装得上」。


二、三框架定位差异(一眼看懂)

引擎定位强项代价
vLLM通用均衡社区大、连续批处理成熟、易上手极致性能非最强
SGLang结构化输出RadixAttention 复用前缀、Agent/多轮强配置心智负担大
TensorRT-LLMN 卡极致NVIDIA 上延迟/吞吐最优编译重、版本锁死、Linux only

三、实测环境与数据来源(哪些是我真跑的)

  • GPU:NVIDIA RTX 5060 Laptop GPU,8GB 显存,Blackwell 架构(计算能力 12.0)
  • 驱动:610.62
  • 系统:Windows 11(win32,原生,非 WSL2)
  • 框架:Python 3.13,已安装torch(CUDA 12.8 版)
  • 诚实补充:本机import torch在加载 CUDA 扩展时存在环境级崩溃(torch 自带 CUDA 运行时与系统nvcuda.dll驱动接口不兼容),因此本文尚未完成本地 Qwen2.5 的真实推理基准。下文「安装可装性」为本人实跑核验;「性能吞吐」为官方公开数据,非本人实测。

数据边界(务必看清):①「安装可装性」= 本人本机/PyPI 实跑;②「性能吞吐」= 各项目官方 benchmark 公开数据(非本人实测),文末附来源;③本地推理基准已在本系列第 3、4 篇以纯 NumPy CPU 推理引擎补上(GPU 路径因 torch 崩溃仍不可用)。


四、第一关:原生 Windows 到底能不能装?(本人实跑)

我用 PyPI JSON API 拉了三者最新版的 wheel 平台标签,结论很直接:

引擎(最新版)PyPI wheel 平台Windows wheelCUDA wheel本机pip install
vLLM0.26.0manylinux_2_28 (x86/aarch64)❌ 无匹配包
SGLang0.5.16manylinux_2_34 (x86/aarch64)❌ 无匹配包
TensorRT-LLM1.2.1无任何 wheel(仅源码包)❌ 需源码编译

反直觉结论:三大引擎最新版在 PyPI 上全都只发 Linux wheel,没有 Windows 轮子。想在原生 Windows消费级显卡上直接pip install,目前三个都装不上。

注意措辞:是「原生 Windows」装不上,不是「Windows 完全不行」——下面第七节给了 WSL2 解法。

血的教训:别信「某某框架支持 Windows」的旧教程。版本迭代极快,装之前先pip index versions <pkg>或查 PyPIfiles页确认有没有win_amd64轮子,否则白折腾一下午。


五、性能怎么摆(公开 benchmark,非本人实测)

装得上才谈性能。下表汇总各项目官方文档/benchmark 博客的相对结论(绝对 QPS 随硬件天差地别,请在你自己的卡上复现):

维度vLLMSGLangTensorRT-LLM
吞吐(对比 HF)官方称连续批处理带来2–4×提升前缀复用场景高吞吐N 卡上通常最优
TTFT(首 token)低(编译优化)
TPOT(每 token)最低
峰值显存中(PagedAttention)低(内核融合)
来源vLLM 官方文档/BlogSGLang GitHubTRT-LLM 官方 Docs

标注:上表为公开数据(非本人实测),来源见文末。绝对数值请以你本机压测为准。


六、血泪坑实录

  • TRT-LLM 锁 CUDA 版本:编译对 CUDA/driver 极其挑剔,换张卡或升驱动可能整套重编,CI 里是噩梦。
  • SGLang 路由配置:RadixAttention 强,但多卡/路由参数配错时吞吐不升反降,日志还不直观。
  • vLLM 的 prefix cache 默认关:多轮对话/共享前缀场景,不显式开enable_prefix_caching等于白买内存带宽。

七、选型决策树

你用的是 N 卡 + Linux 生产环境? ├─ 是,且要极致延迟/吞吐 → TensorRT-LLM(肯花编译成本) ├─ 是,常规高并发服务 → vLLM(最稳,社区答案) └─ 否(Windows / 消费级卡 / 想快上手) ├─ 多轮/Agent/结构化输出 → 上 WSL2 + SGLang └─ 通用推理 → WSL2 + vLLM

一句话:生产无脑 vLLM,N 卡极致上 TRT-LLM,结构化输出看 SGLang;Windows 用户先装 WSL2,别在原生 Windows 里死磕。


八、读者交付物

选型决策树(上图,可截图) ②一键压测脚本骨架(vegeta 版,GitHub 风格片段):

# 用 vegeta 压你的 /v1/completions 接口echo'{"model":"qwen2.5","prompt":"你好","max_tokens":128}'\|vegetaattack-rate=20-duration=30s-method=POST\-header="Content-Type: application/json"\-target=https://your-host/v1/completions\|vegetareport# 看吞吐 QPS / p99 延迟

结尾:今天就能动手的 3 条清单

  1. 先查轮子再动手pip index versions vllm,确认有你系统的 wheel,别上来就pip install
  2. 装 WSL2:Windows 用户花 10 分钟wsl --install,推理引擎的世界在 Linux 侧。
  3. 压一次基线:用上面 vegeta 片段压你现有接口,记下 QPS/p99,下篇我们拆延迟。

实测环境与免责:本次环境见第三节。安装可装性为本人在本机/PyPI 实跑(PyPI 官方 JSON API 核验);性能吞吐为各项目官方公开 benchmark(非本人实测),来源:vLLM 官方文档与 Blog、SGLang GitHub README、NVIDIA TensorRT-LLM 官方 Docs。本地真实推理基准已在本系列第 3、4 篇以「本人实测」补上:本机 torch 加载 CUDA 扩展崩溃(GPU 不可用),改用纯 NumPy CPU 推理引擎实跑 Qwen2.5-0.5B/1.5B 延迟(约 15/5 tok/s)与量化损失(int8 94%/int4 82%)。数据基于本人环境,仅供参考,请以你自己的硬件复测为准。**

下篇我们聊:为什么三引擎吞吐差这么多?——连续批处理 + 投机解码的实测账。

http://www.cnnetsun.cn/news/3845822.html

相关文章:

  • AI智能体蜂群编程实战:4小时零代码构建Rust+SQLite服务
  • 终极指南:免费解锁Wand Pro版功能,告别时间限制
  • NoSleep防休眠工具完整指南:告别Windows自动锁屏的终极解决方案
  • 编程零基础者指南:如何用 AI 工具迈出编程第一步
  • 解决Windows中libcef.dll缺失问题的全面指南
  • 3个核心功能让Zotero中文文献管理效率提升90%:茉莉花插件完全指南
  • Windows上从零开始搭建openclaw并接入飞书
  • 硬件设计实战--怎么把 ASC1T34S 接对、布好、用稳
  • 结构体---C语言
  • STM32引脚电路设计避坑指南:从电平匹配到PCB布局的实战经验
  • 从玩具到工程:M型模型车底盘调校与电子系统实战指南
  • 网站建设公司哪家好?网站建设公司怎么选
  • 如何快速掌握开源PlantUML在线编辑器:5分钟从代码到专业图表实战指南
  • 【转载】RISC-V IDE MRS2 代码编译 : 通过配置FPU提升浮点运算性能
  • G-Helper终极指南:如何免费解锁华硕笔记本完整性能控制功能
  • 基于RAG与Cherry Studio构建高精度私有AI知识库实战指南
  • 隐私计算≠数据不出域?深度拆解AI训练中11种隐式信息泄露通道(含梯度反演攻击复现实验代码)
  • 高压降压设计实战:从选型误区到Hi9214高效稳定电源方案
  • 树莓派SPI1接口配置MCP2515 CAN总线控制器完整指南
  • 从黑盒到白盒:逆向分析赛尔号通信协议的技术实践
  • 「2026 最新」VoxCPM2 整合包v4|34K Star 开源 AI 语音合成 TTS|声音克隆与多语言方言
  • 从数据库到语义大脑:基于OpenClaw.NET的本体工程实践
  • ControlNet技术解析:精准控制AI图像生成
  • 工业通信基石:Modbus TCP协议解析与实战开发指南
  • 从零搭建NFS共享存储:原理、配置与排错全指南
  • TikTok Shop上架软件:20核高并发不抢焦的云端挂机实战
  • STM32 工程模块化开发规范|头文件分层、引脚宏统一管理、高可移植项目架构实战
  • 本地化开发工具链部署指南:基于Docker Compose的Vibe Coding实践
  • 技术选型避坑指南:从概念到实践,理性评估10类开发工具
  • 从AI代码生成到工程化交付:构建可控的AI编程工作流