大模型推理部署的挑战与机遇
大语言模型(LLM)正在深刻改变人工智能的应用格局。从 ChatGPT 到 Claude,从 GPT-4 到 DeepSeek-R1,模型的智能水平不断提升,但随之而来的推理部署挑战也日益严峻。当企业将大模型从实验室推向生产环境时,往往面临三重困境:算力成本高企 ------70B 参数模型的单次推理需要消耗大量 GPU 资源;响应延迟难控 ------用户对"秒回"的期待与自回归生成的线性延迟形成矛盾;吞吐量瓶颈------高并发场景下,传统框架的显存碎片化和批处理低效问题凸显。
根据 2025-2026 年的行业实践,推理效率往往比模型本身更能决定 AI 应用的成败。一个经过深度优化的推理框架,可以让同一张 GPU 的吞吐量提升 3-10 倍,显存利用率从 40% 提升至 95% 以上。这意味着在相同的硬件投入下,企业可以获得数倍的经济回报。

本文将系统梳理当前主流的大模型推理部署框架,从核心技术原理、架构设计到性能表现进行深度解析,帮助开发者和企业根据自身场景做出最优选择。文章涵盖的框架包括:vLLM、SGLang、TensorRT-LLM、Text Generation Inference(TGI)、Ollama、XInference、LightLLM、LMDeploy,以及 DeepSpeed-MII 等,共计十余款覆盖从个人开发者到超大规模企业的完整工具链。
第一章 核心技术原理:推理优化的基石
理解大模型推理框架的设计逻辑,首先要掌握其背后的核心优化技术。这些技术决定了框架的性能上限和适用场景。
1.1 KV Cache:消除重复计算的关键
Transformer 模型的自回归生成特性带来了一个根本性的效率问题:在生成第 t+1 个 token 时,需要重新计算之前所有位置的 Key 和 Value 向量。如果没有缓存机制,生成一个长度为 L 的序列将产生 O(L³) 的计算复杂度,这对于数千 token 的生成任务是致命的资源浪费。
KV Cache 的核心思想是空间换时间:在自回归生成过程中,为每个 Transformer 层维护两个缓存张量(K_cache 和 V_cache),用于存储已生成序列所有位置的 Key 和 Value 向量。这样,生成新 token 时只需计算当前 token 的 Q、K、V,然后通过简单的查表操作获取历史缓存,大幅降低计算复杂度。
具体实现分为两个阶段:Prefill 阶段 处理完整的输入 prompt,完成首次前向传播并填充初始的 KV Cache;Decode 阶段则采用逐 token 生成的方式,每步只需计算新 token 对应的 Q 向量(K 和 V 直接追加到缓存),然后用完整的缓存进行注意力计算。这一优化使得生成阶段的计算量从与生成长度平方相关降低为线性相关,带来数量级的速度提升。
然而,KV Cache 也带来了新的挑战:对于支持 128K 甚至更长上下文窗口的模型,KV Cache 的显存占用可能超过模型权重本身。此外,不同请求的输入长度和生成长度各异,如何高效管理这些大小不一的缓存,成为推理框架的核心课题。
1.2 PagedAttention:分页管理的艺术
传统推理框架对 KV Cache 采用连续内存分配策略------每个请求需要预留最大可能长度的连续显存空间。这种方式虽然实现简单,但会造成严重的显存碎片化:实际使用的显存可能只占总预留空间的 20%-40%,大量"空洞"无法被其他请求利用。
PagedAttention 是 vLLM 提出的革命性技术,其灵感直接来自操作系统虚拟内存的分页管理机制 。核心思想是将 KV Cache 分割为固定大小的"页"(默认 16 个 token/页),每个页独立存储,通过页表维护逻辑地址到物理地址的映射关系。
这种设计带来了三大优势:近乎零的显存浪费 ------物理页按需分配,不要求连续空间;高效的内存共享 ------多个请求若共享相同前缀(如系统提示词),其 KV 页可物理共享;动态扩缩容------新 token 生成时从空闲池申请新页,请求结束立即归还。
在实现层面,每个序列持有一个独立的逻辑块表,其中每个条目记录对应物理块的位置和已占用长度。PagedAttention 的注意力计算通过块表索引非连续物理块,在块级别执行注意力得分计算,无需拼接完整的连续缓存。这一机制使得 vLLM 在处理 70B 参数模型时,显存利用率可达 95% 以上,相比传统方法提升超过 50 个百分点。
1.3 Continuous Batching:批处理的新范式
批处理是提升 GPU 利用率的基本手段,但传统静态批处理存在固有问题:必须等待一个批次内所有序列生成完毕才能处理新请求,导致 GPU 在序列结束时的空闲等待时间占比高达 30%-50%。
Continuous Batching(连续批处理)彻底改变了这一范式。其核心创新在于将请求处理分解为 Prefill 和 Decode 两个阶段,并实现迭代级调度:每轮 Decode 迭代后立即检查是否有序列完成生成,若有则立即移除并从等待队列中补充新请求。新请求只需等待 1 个迭代即可开始处理,无需等待整批完成。
这种机制使得 GPU 计算单元始终保持高负载状态,显著提升吞吐量。实测数据显示,在 Llama 3.1-8B 模型上,启用 Continuous Batching 后吞吐量提升可达 14-24 倍。
然而,连续批处理的调度策略也影响显著:分组优化 根据序列长度和推理阶段(Prefill/Decode)对请求分组批处理,短序列集中组成小批量快速处理,长序列单独分组避免阻塞;负载控制 通过 max-num-batched-tokens 参数限制单个 batch 的 token 总数,避免显存溢出;优先级调度在紧急请求和长任务之间取得平衡,确保整体延迟可接受。
1.4 推测解码:从串行到并行的跨越
传统自回归解码每步只能生成一个 token,即使有 GPU 的强大算力加持,也必须等待前一步完成才能进行下一步------这是由语言模型的固有特性决定的。推测解码(Speculative Decoding) 另辟蹊径,采用"先预测、再验证"的策略实现并行加速。
具体流程分为三步:草稿生成阶段 使用一个轻量级的 Draft 模型(如 7B 参数)并行预测 K 个候选 token;验证阶段 将这些候选 token 与原始大模型并行验证;接受阶段根据验证结果接受或拒绝候选,符合条件的直接接受为输出。
推测解码的理论基础在于:大多数简单 token 可以被小模型准确预测,而对于复杂 token 的拒绝成本有限。接受率是衡量加速效果的关键指标------70% 的接受率通常能带来 2-3 倍的加速,90% 的接受率则可达到 4-5 倍。
主流的推测解码实现包括 EAGLE 系列和 Medusa 等。EAGLE3 在 2025 年的更新中通过引入并行草稿生成机制,在 K=7 时相比 EAGLE-2 取得 30% 的接受率提升。P-EAGLE 则更进一步,将自回归草稿生成改为一次前向传播完成全部 K 个草稿 token,通过可学习的 mask token embedding 和 hidden state 作为占位符,彻底消除了序列生成的瓶颈。
1.5 Prefill-Decode 分离架构
LLM 推理的两个阶段------Prefill(计算密集型,主要瓶颈在算力)和 Decode(显存密集型,主要瓶颈在内存带宽)------对硬件资源的需求差异显著。**Prefill-Decode 分离架构(PD 分离)**将这两个阶段部署在不同的 GPU 节点上,实现资源的专优化。
在 PD 分离架构中,Prefill 节点专注于处理大量并行计算,Decode 节点则优化内存访问模式。关键挑战在于跨节点传输 KV Cache 的开销:通过预取策略和增量传输优化,可以将传输数据量减少 70% 以上。实测数据显示,DeepSeek-V2 236B 模型在 8×H100 机器上采用 PD 分离后,首字延迟(TTFT)和解码延迟(TPOT)均显著下降,SLA 保障能力大幅提升。
1.6 量化技术:从 FP16 到 NVFP4
量化通过降低权重和激活值的精度来减少显存占用和计算开销,已成为生产部署的核心手段。从最早的 INT8 到主流的 FP8、INT4,再到 2025 年 NVIDIA Blackwell 架构引入的 NVFP4,量化技术持续演进。
FP8 量化 (8 位浮点)在 H100/H200 GPU 上已广泛部署,相比 FP16 可节省 50% 显存。W4A8 量化 (4 位权重、8 位激活)进一步将显存需求降低 70% 以上,但需要硬件支持(如 Blackwell 架构)。NVFP4 KV Cache 量化是 2025 年的重要创新------相比 FP8 KV Cache,NVFP4 将显存占用再降低 50%,使上下文容量翻倍,同时精度损失控制在 1% 以内。
量化的核心挑战在于精度与性能的平衡。对于 KV Cache 量化,由于其只读特性(生成阶段不更新),量化带来的精度损失相对可控。但对于权重量化,需要在硬件支持和精度损失之间做出权衡。FP8 是当前最成熟的方案,INT4 在资源受限场景下表现优秀,而 NVFP4 则代表了未来高端部署的方向。
第二章 主流框架深度解析
2.1 vLLM:企业级推理的事实标准
vLLM 由 UC Berkeley LMSYS 团队于 2023 年发布,如今已成为高吞吐量 LLM 推理的事实标准。其核心创新 PagedAttention 将显存利用率从 40% 提升至 95% 以上,配合 Continuous Batching 实现 2-4 倍于同类框架的吞吐量优势。
2025-2026 年重大更新
vLLM 0.11.0(2026 年 2 月)完成了里程碑式的架构升级:彻底移除 V0 引擎,全面转向统一的 V1 架构。这一决策结束了多年来的双引擎并行状态,使代码库更简洁、功能开发更高效。538 次提交来自 207 名贡献者(65 名新晋开发者),体现了社区的活跃度。
2026 年 3 月的四连发更新进一步巩固了 vLLM 的领先地位:
- Semantic Router v0.2 Athena:从简单的请求路由进化为多模型编排的"系统大脑",支持智能体工作流中的动态路由
- P-EAGLE:并行推测解码技术,通过一次前向传播完成全部草稿 token 生成,接受率提升 30%
- Model Runner V2(MRV2) :核心引擎彻底重构,遵循模块化、GPU 原生、异步优先三原则
- NVIDIA Nemotron 3 Super:补全高效 MoE 模型的生态位
技术架构详解
vLLM V1 引擎的核心组件包括:
| 组件 | 功能 | 技术亮点 |
|---|---|---|
| PagedAttention 引擎 | 块级注意力计算 | 页表映射,动态分配物理块 |
| CUDA Graph 优化 | 减少内核启动开销 | 自动退化机制适应复杂模型 |
| FlashInfer 后端 | 高性能注意力内核 | RoPE 计算提速 2 倍以上 |
| 量化引擎 | 多精度支持 | FP8/W4A8/AWQ/GPTQ |
| 分布式管理器 | 多 GPU/多节点协调 | 张量并行 + 负载均衡 |
性能表现
| 测试场景 | 硬件配置 | 吞吐量指标 |
|---|---|---|
| Llama 3.1-8B 单请求 | NVIDIA L4 | ~500 tok/s |
| Llama 3.1-70B 高并发 | 4×H100 | 1000-2000 tok/s |
| 吞吐量对比 Ollama | 同等硬件 | 5 倍以上 |
| 显存利用率 | 70B 模型 | 95%+ |
适用场景
- 高并发 API 服务:需要稳定支撑 100+ 并发请求的企业级应用
- 批量推理任务:文档处理、数据标注等离线任务
- 长上下文场景:需要 128K+ 上下文窗口的 RAG 应用
- 成本敏感型部署:通过量化技术最大化硬件利用率
快速上手
bash
# 安装
pip install vllm
# 启动服务
vllm serve meta-llama/Llama-3.1-8B-Instruct \
--tensor-parallel-size 2 \
--quantization awq
# API 调用
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "meta-llama/Llama-3.1-8B-Instruct",
"messages": [{"role": "user", "content": "Hello!"}]
}'
2.2 SGLang:复杂推理任务的利器
SGLang(Structured Generation Language)由伯克利 LMSYS 团队于 2024 年发布,定位是支持复杂提示工程和结构化输出的高性能推理框架。其前后端协同设计理念------前端提供类 Python DSL,后端专注极致性能优化------使其在需要精细控制推理过程的场景中表现突出。
核心技术:RadixAttention
SGLang 的核心创新是 RadixAttention,这是一种基于基数树(Radix Tree)的 KV Cache 前缀共享机制。在多轮对话或 RAG 场景中,大量请求共享相同的系统提示词、few-shot 示例或检索到的文档。RadixAttention 自动识别并复用这些共享前缀的 KV Cache,结合 LRU 驱逐策略动态管理缓存资源。
实测数据显示,在多轮对话场景下,RadixAttention 使缓存命中率提升 3-5 倍,响应速度提升 220%-410%。对于 100 个用户同时针对同一份 10K token 文档提问的场景,SGLang 只需处理一次这 10K token 的 Prefill,其他请求直接复用缓存。
结构化输出约束
SGLang 内置高性能结构化输出模块,基于 xgrammar 语法系统和有限状态机实现约束解码。在 JSON 解码任务中,速度比其他开源方案快 10 倍,能够直接生成符合格式规范的 JSON/XML 结构化数据,无需后处理验证。
2025-2026 年进展
SGLang v0.4/v0.5 系列引入了多项重要更新:
- 异步受限解码:JSON 输出速度提升 2 倍
- Blackwell GPU 支持:B200 上 FlashInfer 内核优化,decode 吞吐量提升 2.25 倍
- EAGLE3 推测解码:支持树解码和链解码,在 H200 TP4 上实现 1.52x 加速
- 确定性推理:通过批次不变算子确保多次运行输出一致,对 RL 训练至关重要
性能基准测试(GPT-OSS 120B)
| 硬件配置 | 精度 | Decode 吞吐量 |
|---|---|---|
| NVIDIA B200 (TP=4) | MXFP4 | 416 tok/s |
| NVIDIA B200 (TP=4) | BF16 | 316 tok/s |
| NVIDIA H100 (TP=8) | BF16 | 293 tok/s |
适用场景
- RAG 应用:大量共享文档前缀,高缓存复用率
- 多轮对话系统:聊天机器人等长生命周期交互
- 结构化输出:需要 JSON/XML 格式的 API 服务
- Agent 工作流:复杂的多步骤推理和工具调用
快速上手
python
import sglang as sgl
@sgl.function
def generate_user_profile():
return sgl.gen(
"Generate a user profile in JSON:",
regex=r'\{\s*"name":\s*"[^"]+",\s*"age":\s*\d+,\s*"city":\s*"[^"]+"\s*\}'
)
# 启动服务
python -m sglang.launch_server \
--model-path Qwen/Qwen2.5-72B-Instruct \
--port 30000 \
--tp 4
2.3 TensorRT-LLM:极致性能的代名词
TensorRT-LLM 是 NVIDIA 官方开发的推理优化框架,专为追求极致性能的场景设计。与其他框架不同,TensorRT-LLM 采用编译优化策略:将 PyTorch 模型编译为高度优化的 CUDA 图,通过底层内核融合和硬件特性定制实现最佳性能。
核心技术原理
TensorRT-LLM 的优化手段包括:
- 内核融合:将多个独立操作融合为单个 CUDA 内核,减少内存访问和内核启动开销
- 张量并行:将模型按注意力头维度拆分到多 GPU,通过 NVLink 高带宽互联
- FP8/BF16 混合精度:在 H100/H200 上利用 Tensor Core 实现高效低精度计算
- 投机解码:集成 EAGLE 等推测解码算法,进一步降低延迟
性能优势
在 NVIDIA 官方测试中,TensorRT-LLM 在 H100 GPU 上运行 Llama 3 70B 模型时,吞吐量比 vLLM 高出 30%-50%。这一优势在高并发、低延迟场景下尤为明显。
| 框架 | 吞吐量范围 | 适用场景 |
|---|---|---|
| TensorRT-LLM | 2500-4000+ tok/s | 极致性能追求 |
| vLLM | 1000-2000 tok/s | 通用生产环境 |
| SGLang | 极高 | 结构化输出/RAG |
使用门槛
TensorRT-LLM 的代价是较高的使用门槛:需要专门的"编译"阶段将模型转换为 TensorRT 引擎文件,编译过程耗时且对硬件环境敏感。这使得它更适合对性能有极致追求、且有专业运维能力的企业团队。
适用场景
- 超低延迟服务:金融交易、实时对话等对延迟敏感的场景
- 超大规模模型:需要 405B+ 参数的部署
- NVIDIA 专属优化:充分挖掘 H100/H200/B200 硬件潜力
2.4 Text Generation Inference(TGI):HuggingFace 生态的首选
TGI 是 Hugging Face 推出的生产级推理服务框架,作为 Hugging Face Inference API 的核心技术,已在云端服务中经过大规模验证。其定位是为企业级部署提供稳定可靠、易于集成的解决方案。
2025 年关键演进
TGI v3.0(2024 年 12 月)引入了革命性更新:长 prompt 处理速度比 vLLM 快 13 倍。这源于其零配置设计------用户只需传入 Hugging Face 模型 ID,框架自动确定最优设置。在 L4 GPU 上运行 Llama 3.1-8B 时,单卡可处理 30,000 tokens,是 vLLM 的 3 倍。
TGI v3.2.0(2025 年 9 月)进一步增强:
- 工具调用功能重构:完全遵循 OpenAI 返回格式
- Gemma 3 支持:原生支持 Google 最新模型
- 多后端支持:集成 vLLM、TensorRT-LLM 等高性能后端
生态优势
TGI 与 Hugging Face 模型生态的深度整合是核心优势:
- 支持 20+ 主流模型架构一键部署
- 内置 Prometheus 监控和分布式追踪
- 支持多硬件平台:NVIDIA CUDA、AMD ROCm、Intel Gaudi、AWS Inferentia
适用场景
- 快速集成 HF 模型:无需适配代码,直接部署开源模型
- 企业标准部署:需要监控、健康检查等生产级特性
- 多硬件环境:支持 AMD GPU 和 Intel NPU 等非 NVIDIA 平台
2.5 Ollama:个人开发者的首选
Ollama 以"大模型领域的 Docker"为设计理念,通过极简的用户体验降低了本地部署的门槛。用户只需一条命令即可运行模型,无需关注 CUDA 配置、模型格式等底层细节。
2025-2026 新特性
Ollama v0.5/v1.x 系列带来了显著更新:
- 模型库大扩容:支持 1700+ 模型,包括 Llama 3.3、DeepSeek-R1、Gemma 3 等旗舰模型
- Turbo 云端协同:通过云端推理分担本地计算压力,支持 671B 参数的 DeepSeek-V3
- 128K 上下文:支持超长上下文窗口处理
- 硬件加速增强:Flash Attention 默认启用,实验性支持 Vulkan
性能定位
Ollama 的设计目标是便捷性而非极致性能。在低并发场景下,其单请求响应速度与 vLLM 相当(得益于默认使用量化模型)。但在并发场景下,Ollama 的劣势明显:
| 指标 | Ollama | vLLM | 差距 |
|---|---|---|---|
| 单请求延迟 | 基准 | 相当 | 打平 |
| 128 并发 | 崩溃 | 71 req/s | 无法运行 |
| 显存利用率 | 60% | 95% | +35% |
适用场景
- 个人开发/学习:快速验证模型效果
- 低配硬件:4GB 显存即可运行 7B 模型
- 原型开发:5 分钟完成部署
- 不适合:高并发生产环境
2.6 XInference:企业级分布式推理平台
XInference (Xorbits Inference)由蚂蚁集团开源,是一款定位为企业级分布式推理平台的框架。其核心优势在于开箱即用的多模型、多引擎支持和跨硬件平台的统一调度。
核心特性
- 多引擎同时推理:支持 vLLM、SGLang、Transformer、MLX 等引擎
- 异构算力支持:全面适配 NVIDIA、AMD、Intel、昇腾、寒武纪、海光等
- 分布式部署:基于自研 Xoscar 框架,支持 20 万核级规模
- Agent 原生服务:集成 Xagent,支持动态规划和工具调用
2025 年更新
- 支持 Qwen3-5、GLM-5、MiniMax-M2.7 等新模型
- OTEL(OpenTelemetry)集成增强监控能力
- Xllamacpp 升级,支持连续批处理
适用场景
- 多模型管理:需要同时服务多种模型的场景
- 国产硬件部署:昇腾、寒武纪等国产芯片
- 分布式集群:跨多机器的统一推理服务
2.7 LightLLM:学术与工业的桥梁
LightLLM 由商汤科技开源,以轻量级、易扩展、高性能著称。其设计借鉴了 vLLM、TGI、FasterTransformer 等优秀实现,在学术研究和工业应用中均有广泛使用。
核心技术
- 三进程异步架构:词法化、模型推理、词法还原三步骤解耦,GPU 利用率高
- Token Attention:对每个 token 的内存管理进行精细控制
- Nopad 无填充:处理长度差异大的请求,避免无效计算
- Past-Future Scheduler:2025 年 ASPLOS 录用,根据历史分布预测输出长度
v1.0.0 重大更新(2025 年 2 月)
- SLA 保障调度:确保 TTFT、TPOT 等延迟指标
- PD 分离架构:支持动态增减 P/D 节点
- DeepSeek 系列优化:针对 MLA 注意力机制的专项优化
2025 年里程碑
- v1.1.0 发布(2025 年 9 月)
- ACL 2025 杰出论文奖:Pre³ 结构化输出约束解码
- 被 vLLM、SGLang、ParrotServe 等多个框架引用
2.8 LMDeploy:昇腾生态的主力军
LMDeploy 是上海人工智能实验室推出的推理框架,核心定位是支持昇腾 NPU 的高性能推理。虽然早期版本基于 TurboMind 自研引擎,但 v0.5.0 之后全面转向 vLLM 作为后端。
核心能力
- 多引擎支持:TurboMind + vLLM 双引擎
- 量化方案丰富:FP16/BF16/INT8/INT4/KV INT8/INT4
- 昇腾适配:针对华为昇腾 NPU 的深度优化
- API 兼容:OpenAI 兼容接口,易于迁移
性能数据
| 模型 | 精度 | 吞吐量 | 硬件 |
|---|---|---|---|
| LLaMA3-70B | FP16 | 890 tok/s | A100 |
| Qwen2-7B | FP16 | 295 tok/s | A100 |
| DeepSeek-R1-67B | FP16 | 峰值 100 tok/s | H200 |
2.9 DeepSpeed-MII:微软的端到端方案
DeepSpeed-MII 是微软 DeepSpeed 团队推出的推理加速库,基于 DeepSpeed-Inference 引擎实现。与其他框架不同,MII 的设计目标是极简 API------用户只需几行代码即可完成模型部署。
核心技术
- Blocked KV Caching:分块管理 KV Cache
- Continuous Batching:动态请求调度
- Dynamic SplitFuse:预填充和解码的混合调度
- Tensor Parallelism:多 GPU 高效并行
性能表现
DeepSpeed-MII v0.2 版本相比 vLLM 有 2.5 倍的吞吐量提升。在 BLOOM 176B 模型上,延迟降低 5.7 倍,成本降低 40 倍以上。
适用场景
- Azure 部署:与微软云深度集成
- 快速原型:几行代码完成部署
- 微软生态:已使用 Azure 和 DeepSpeed 的团队
第三章 性能对比与选型指南
3.1 核心性能指标对比
基于 2025-2026 年各框架官方基准测试和社区实测数据,以下是主流框架的性能对比:
| 框架 | 吞吐量范围 | 显存利用率 | 首字延迟 | 并发能力 |
|---|---|---|---|---|
| vLLM | 1000-2000 tok/s | 95%+ | 优秀 | 1000+ |
| TensorRT-LLM | 2500-4000 tok/s | 极高 | 极优 | 500+ |
| SGLang | 极高(结构化) | 高 | 优秀 | 500+ |
| TGI | 800-1500 tok/s | 85%+ | 良好 | 300+ |
| LightLLM | 高 | 90%+ | 优秀 | 500+ |
| Ollama | 低-中 | 60% | 良好 | <10 |
| XInference | 取决于后端 | 取决于后端 | 取决于后端 | 可扩展 |
| LMDeploy | 中-高 | 85%+ | 良好 | 200+ |
3.2 功能特性对比
| 特性 | vLLM | SGLang | TGI | Ollama | XInf | LMDep |
|---|---|---|---|---|---|---|
| PagedAttention | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| 连续批处理 | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ |
| 推测解码 | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| 结构化输出 | ✅ | ✅✅ | ✅ | ❌ | ✅ | ✅ |
| 前缀缓存 | ✅ | ✅✅ | ✅ | 基础 | ✅ | ✅ |
| 多模态支持 | ✅ | ✅ | ✅ | ✅ | ✅✅ | ✅ |
| 分布式部署 | ✅ | ✅ | ✅ | ❌ | ✅✅ | ✅ |
| 国产硬件 | 部分 | 部分 | AMD/Intel | ❌ | ✅✅ | ✅✅ |
3.3 选型决策树
scss
┌─────────────────────────────────────────────────────────────┐
│ 推理框架选型决策树 │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────┐
│ 你的核心需求是? │
└─────────────────┘
│
┌─────────────────────┼─────────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ 极致性能追求 │ │ 生产级通用 │ │ 快速上手 │
│ (延迟<50ms) │ │ 高并发服务 │ │ 原型验证 │
└───────────────┘ └───────────────┘ └───────────────┘
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ TensorRT-LLM │ │ vLLM / SGLang │ │ Ollama │
│ (仅 NVIDIA) │ │ (按场景选择) │ │ (新手友好) │
└───────────────┘ └───────────────┘ └───────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ RAG/多轮对话 │ │ 结构化输出 │ │ HF 生态优先 │
│ SGLang ✓ │ │ SGLang ✓ │ │ TGI ✓ │
└─────────────┘ └─────────────┘ └─────────────┘
3.4 按场景推荐
场景一:个人开发者 / 学习研究
推荐框架:Ollama
- 优势:一条命令运行,零配置门槛
- 适合:快速验证想法、个人项目、低配电脑
- 示例 :
ollama run llama3.2
场景二:高并发 API 服务(>100 并发)
推荐框架:vLLM
- 优势:PagedAttention + 连续批处理,吞吐量领先
- 适合:面向用户的 API 服务、实时聊天
- 配置要点 :启用 AWQ 量化,合理设置
max-num-seqs
场景三:RAG / 多轮对话系统
推荐框架:SGLang
- 优势:RadixAttention 前缀缓存,3-5 倍缓存命中率提升
- 适合:知识库问答、长对话系统
- 配置要点:确保系统提示词固定,最大化缓存复用
场景四:结构化输出需求(JSON/XML)
推荐框架:SGLang
- 优势:正则约束解码,JSON 生成速度比其他方案快 10 倍
- 适合:需要严格格式的 API、数据库交互
场景五:超大规模模型(>100B)
推荐框架:TensorRT-LLM + vLLM
- TensorRT-LLM:极致性能,H100/H200 专属优化
- vLLM:多卡张量并行,易于部署
- 配置要点:8 卡以上考虑 PD 分离架构
场景六:国产硬件 / 昇腾 NPU
推荐框架:LMDeploy / XInference
- LMDeploy:昇腾官方适配,TurboMind 引擎
- XInference:多硬件统一抽象,灵活切换
场景七:企业级多模型管理
推荐框架:XInference
- 优势:多引擎、多模型统一管理
- 适合:需要同时服务多种模型的场景
场景八:金融 / 医疗等高可靠性场景
推荐框架:TGI
- 优势:HuggingFace 官方背书,监控完善
- 适合:企业标准部署、SLA 要求严格
第四章 部署实践案例
4.1 案例一:高并发客服系统
业务场景:某电商平台的 AI 客服系统,需要支撑双十一期间每秒 500+ 的咨询请求。
技术选型:vLLM + Kubernetes
部署架构:
scss
┌─────────────────┐
│ Load Balancer │
└────────┬────────┘
│
┌────────────────────┼────────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ vLLM Pod 1 │ │ vLLM Pod 2 │ │ vLLM Pod N │
│ (H100×8) │ │ (H100×8) │ │ (H100×8) │
└───────────────┘ └───────────────┘ └───────────────┘
关键配置:
yaml
# deployment.yaml
resources:
limits:
nvidia.com/gpu: 8
memory: 256Gi
requests:
nvidia.com/gpu: 8
memory: 200Gi
env:
- name: VLLM_WORKER_STRATEGY
value: "tensor_parallel"
- name: VLLM_TENSOR_PARALLEL_SIZE
value: "8"
- name: VLLM_QUANTIZATION
value: "awq"
性能结果:
- 峰值吞吐量:3200 req/s
- 平均响应延迟:180ms
- P99 延迟:450ms
- 成本节省:相比云 API 节省 60%
4.2 案例二:RAG 知识库问答
业务场景:法律文档分析系统,100+ 用户同时查询包含数千页的合同文档。
技术选型:SGLang + Milvus + FastAPI
优化要点:
- 前缀缓存优化:系统提示词模板固定,最大化缓存复用
- 检索增强:文档切片后缓存其向量表示
- 结构化输出:JSON 格式返回便于下游处理
关键配置:
python
# 固定系统提示词模板,最大化缓存命中率
SYSTEM_PROMPT = """你是一个专业的法律助手。请根据以下合同内容回答用户问题。
合同内容:
{retrieved_content}
请用JSON格式回答,包含答案、依据条款和置信度。
"""
# SGLang 结构化输出
@sgl.function
def legal_qa(question: str, context: str):
prompt = SYSTEM_PROMPT.format(retrieved_content=context)
prompt += f"\n问题:{question}\n"
return sgl.gen(
"answer",
regex=r'\{.*"答案".*?"置信度".*?\}',
temperature=0.1
)
性能结果:
- 首次查询(无缓存):2.3s TTFT
- 后续查询(缓存命中):0.3s TTFT
- 缓存命中率:75%
- 成本降低:50%(减少了重复的 Prefill 计算)
4.3 案例三:低配机器的本地部署
硬件环境:MacBook M2 Pro (16GB RAM) + 少量交换空间
技术选型:Ollama
配置优化:
bash
# 使用量化模型,减少内存占用
ollama pull llama3.2:3b-q4_0
# 设置合理的上下文长度
ollama run llama3.2:3b-q4_0
/set parameter num_ctx 2048
# 限制并发,避免内存溢出
export OLLAMA_NUM_PARALLEL=2
export OLLAMA_MAX_LOADED_MODELS=1
性能表现:
- 模型内存占用:约 4GB
- 生成速度:15-20 tok/s
- 适用场景:文档摘要、代码解释、翻译等轻量任务
第五章 常见问题与解决方案
5.1 显存溢出(OOM)
问题表现:启动时报 "CUDA out of memory" 或运行时显存占用持续增长。
解决方案:
- 启用量化:
bash
vllm serve model --quantization awq # 4-bit 量化
- 降低并发上限:
bash
vllm serve model --max-num-seqs 32 # 限制并发数
- 减小最大序列长度:
bash
vllm serve model --max-model-len 4096 # 限制上下文长度
- 启用 CPU 交换:
bash
vllm serve model --swap-space 16 # 16GB CPU 交换空间
5.2 首字延迟过高
问题表现:用户感知延迟明显,尤其长 prompt 场景。
解决方案:
- 启用前缀缓存:确保系统提示词和模板固定
- 分离 Prefill/Decode:长 prompt 分配到专用 Prefill 节点
- 使用更快的注意力内核:
bash
vllm serve model --attention-backend flashinfer
- 考虑 TGI:长 prompt 场景 TGI v3.0 比 vLLM 快 13 倍
5.3 吞吐量低于预期
问题表现:GPU 利用率不高,请求处理速度慢。
诊断步骤:
bash
# 检查 GPU 利用率
nvidia-smi
# 检查 vLLM 日志中的批处理状态
# 关注 Batch Size 和 Queue Length
优化方向:
- 增大批处理大小:
bash
vllm serve model --max-num-seqs 256
-
启用 Continuous Batching:vLLM 默认启用,确保配置正确
-
使用 CUDA Graph:
bash
vllm serve model --enforce-eager # 禁用,启用 CUDA Graph
- 选择合适的量化方案:AWQ 通常比 GPTQ 快
5.4 模型输出质量下降
问题表现:量化后模型生成质量明显变差。
解决方案:
- 选择更高精度量化:
bash
# 优先顺序:AWQ > GPTQ > bitsandbytes
vllm serve model --quantization awq
- 排除关键层量化:
bash
vllm serve model --quantization fp8 # 全精度
- 调整采样参数:
json
{
"temperature": 0.7,
"top_p": 0.9,
"repetition_penalty": 1.1
}
5.5 多节点部署问题
问题表现:分布式部署时 GPU 间通信慢或失败。
解决方案:
- 使用 InfiniBand:确保高速网络互联
- 配置 NCCL:
bash
export NCCL_IB_DISABLE=0
export NCCL_NET_GDR_LEVEL=PHB
- 检查防火墙:确保多节点间端口可达
- 验证时钟同步:所有节点时钟一致
第六章 未来发展趋势
6.1 硬件协同设计
2025-2026 年,推理优化正从软件层面向硬件协同设计演进。NVIDIA Blackwell 架构的 NVFP4 KV Cache、AMD MI300X 的统一内存架构,都代表了这一方向。未来的推理框架将需要深度适配特定硬件特性,通用优化让位于硬件定制优化。
6.2 异构计算普及
CPU-GPU 混合推理、边缘端推理的需求日益增长。llama.cpp 在边缘设备上的持续优化、XInference 对多种国产芯片的支持,都反映了这一趋势。统一的异构计算抽象将成为框架的重要能力。
6.3 智能调度进化
基于 SLA 的智能调度(Past-Future Scheduler 等)正在从学术走向工业应用。未来的推理系统将能够根据历史数据预测请求特征,自适应调整调度策略,在延迟和吞吐量之间取得最优平衡。
6.4 Agent 原生支持
随着 Agent 应用的兴起,推理框架正在增加对工具调用、多步骤推理的结构化支持。SGLang 的结构化输出、vLLM 的 Semantic Router,都代表了这一方向。
6.5 端到端优化
从模型压缩、量化、推理到部署的全链路优化正在成为标配。框架们不再局限于推理环节,而是向上下游延伸,提供端到端的模型服务解决方案。
总结与建议
大模型推理框架的选择没有绝对的优劣,关键在于场景匹配。以下是最终建议:
| 需求层级 | 推荐框架 | 核心理由 |
|---|---|---|
| 入门学习 | Ollama | 零门槛,即装即用 |
| 生产 API | vLLM | 高并发,稳定可靠 |
| RAG/对话 | SGLang | 前缀缓存,结构化输出 |
| 极致性能 | TensorRT-LLM | NVIDIA 深度优化 |
| HF 生态 | TGI | 无缝集成,监控完善 |
| 国产硬件 | LMDeploy / XInference | 昇腾适配,多硬件支持 |
| 分布式集群 | XInference | 原生分布式,统一管理 |
技术演进建议:
- 保持框架更新:2025-2026 年各框架迭代频繁,新版本往往带来显著性能提升
- 量化先行:生产环境务必启用量化,可节省 50%+ 成本
- 监控完备:部署必配 Prometheus/Grafana,实时掌握 TTFT、TPOT、吞吐量等指标
- 渐进式升级:先用 Ollama 验证想法,再迁移到 vLLM/SGLang 投入生产
大模型推理技术正在快速演进,无论是框架能力还是硬件优化,都在持续突破性能边界。希望本文能够帮助读者建立对主流框架的系统认知,在实际项目中做出最优选择。
本文基于 2025-2026 年各框架官方文档、社区实测数据和行业实践整理,涵盖 vLLM、SGLang、TensorRT-LLM、TGI、Ollama、XInference、LightLLM、LMDeploy、DeepSpeed-MII 等十余款主流框架,供开发者选型参考。