写在前面
最近一段时间,我一直在折腾本地模型部署。查资料的时候会发现一个很容易让人混淆的点:
- 有的是模型
- 有的是模型格式
- 有的是部署后端
- 有的是客户端 / 桌面壳子
比如你看到:
Qwen3.5-4B-Q4_K_M.ggufllama.cppOllamavLLMSGLangTensorRT-LLM
它们其实不是一层东西。
这篇文章我专门用 grok-search 查了一轮官方资料,想把目前主流的大模型部署后端整理清楚:它们各自是干什么的、适合什么硬件、适合什么场景、有什么优缺点。
先说结论:
如果你只是想在自己电脑上把模型先跑起来,优先看
llama.cpp、Ollama、MLX-LM。如果你想做真正的服务端推理,优先看
vLLM、SGLang。如果你是纯 NVIDIA 生产环境并且追求极限性能,看
TensorRT-LLM。如果你在折腾超大 MoE,又没有一堆大显存卡,看
KTransformers。
什么叫“部署后端”
我这里说的“部署后端”,指的是:负责把模型权重加载进来,管理内存、调度计算、处理并发请求,并对外提供推理能力的那层系统。
简单理解:
- 模型 决定“会不会”
- 量化格式 决定“占多大”
- 部署后端 决定“能不能高效跑”
所以:
GGUF不是后端,它是格式Q4_K_M不是后端,它是量化方案Ollama、llama.cpp、vLLM才更接近“后端”
先给一张总表
| 后端 | 官方定位 | 典型硬件 | 核心优势 | 适合谁 |
|---|---|---|---|---|
llama.cpp | 轻量、可移植、本地优先的 C/C++ 推理引擎 | CPU、Apple Silicon、NVIDIA、AMD、Intel,甚至边缘设备 | GGUF 生态强,依赖少,跨平台广 | 本地部署、边缘设备、DIY 玩家 |
Ollama | 面向开发者的本地模型运行与分发工具 | macOS / Linux / Windows,本地 GPU 或 CPU | 上手最快,API 友好,生态接入多 | 想快速把模型跑起来的人 |
MLX-LM | Apple Silicon 上的推理与微调工具 | Apple Silicon | 对 Mac 统一内存利用很强 | Mac 用户 |
vLLM | 高吞吐、低成本的通用推理服务引擎 | 服务器 GPU、多卡集群,也支持更广硬件插件 | PagedAttention、连续批处理、生态广 | 服务端推理、API 服务 |
SGLang | 面向结构化生成和 agent 场景的高性能服务框架 | 单卡到大规模集群,NVIDIA/AMD/TPU/Ascend 等 | Prefix 复用强,程序化推理强 | Agent、长上下文、结构化输出 |
TGI | Hugging Face 体系下的生产部署工具 | 多种 GPU / 云硬件 | HF 集成深,生产特性全 | 既有 HF 体系用户 |
TensorRT-LLM | NVIDIA 的高性能 LLM 推理优化栈 | NVIDIA GPU | 极致性能、编译优化深 | 纯 NVIDIA 生产环境 |
KTransformers | CPU-GPU 异构推理 / 微调框架 | 大内存 CPU + 消费级 GPU | 适合超大 MoE 异构部署 | 没有大显存卡但想跑超大模型的人 |
Transformers | 模型定义与参考实现框架 | 几乎所有常见硬件 | 最通用、最标准、最适合原型验证 | 原型验证、模型兼容性底座 |
一、本地派后端
1. llama.cpp
官方 README 对它的定位其实非常清楚:用尽量少的依赖,在尽量广的硬件上,跑出尽量高效的 LLM 推理。
它的几个特点很鲜明:
C/C++实现,依赖很少GGUF是核心格式- 支持 CPU、GPU、CPU+GPU 混合推理
- Apple Silicon 是一等公民
- 可以直接起
llama-server提供 OpenAI 兼容接口
我觉得 llama.cpp 最强的地方不是“绝对性能第一”,而是:
- 最自由
- 最可移植
- 最适合折腾
你在以下场景里几乎都会想到它:
- Jetson
- 树莓派 / 小主机
- Mac
- 只有 CPU 的机器
- 想跑 GGUF 量化
- 想把模型直接塞进自己的程序里
它的短板也很明显:
- 服务端并发不是它最强的主场
- 超大模型 / 超高吞吐时不如
vLLM、SGLang - 很多时候你要自己调参数,比较偏工程手工活
一句话:如果你脑子里想的是“本地模型部署”而不是“在线推理集群”,llama.cpp 往往是第一站。
官方资料:
2. Ollama
Ollama 的官方口号很直接:Start building with open models.
如果说 llama.cpp 更像“推理引擎本体”,那 Ollama 更像:
- 一个本地运行时
- 一个模型分发工具
- 一个 API 包装层
- 一个非常省心的 CLI 工具
它最大的价值不是底层算子有多花哨,而是:
- 安装简单
- 拉模型简单
- 跑模型简单
- API 兼容性好
- 接入 agent / IDE / 工具链很方便
而且官方 README 现在已经明确在推很多集成,例如:
- Claude Code
- Codex
- OpenCode
- OpenClaw
你会发现 Ollama 非常适合这类人:
- 不想自己编译
llama.cpp - 不想自己找模型、写命令、配模板
- 只想尽快把一个本地 API 跑起来
它的缺点也要说清楚:
- 它更像“用户友好层”,底层自由度没
llama.cpp那么高 - 你能做很多事,但很多细粒度控制不如直接上底层后端
- 极端性能优化时,通常不是第一选择
所以我会把它定义成:
最适合日常开发者的本地后端入口。
官方资料:
3. MLX-LM
MLX-LM 的定位非常纯粹:Apple Silicon 上的推理和微调工具。
这个后端和 llama.cpp 有一个本质区别:
llama.cpp是跨平台本地派MLX-LM是 Mac 专精派
它的优势是:
- 直接吃 Hugging Face 模型
- 支持量化和模型转换
- 支持推理,也支持微调
- 对 Apple Silicon 的统一内存利用很好
所以如果你的主力机器是:
- Mac mini
- Mac Studio
- MacBook Pro
那 MLX-LM 基本就是必看项目。
它的边界也很明确:
- 只适合 Apple Silicon
- 不是面向通用 Linux/Windows 本地部署的
- 如果你是多平台团队,迁移性不如
llama.cpp
一句话:
你要的是“Mac 上最顺手的本地推理后端”,那就优先看 MLX-LM。
官方资料:
二、服务端高吞吐后端
4. vLLM
vLLM 官方 README 的一句话非常典型:
Easy, fast, and cheap LLM serving for everyone
它就是典型的服务端推理引擎。
相比本地派后端,vLLM 更在意的是:
- 并发
- 吞吐
- GPU 利用率
- 多卡扩展
- API 服务化
它最著名的点是 PagedAttention,本质上是在 KV cache 管理上做得非常狠,让显存利用更高、碎片更少。
再加上:
- continuous batching
- chunked prefill
- prefix caching
- 多种量化
- OpenAI 兼容接口
所以 vLLM 现在基本已经成了很多团队做自建推理服务的默认选项。
它适合:
- 想把模型挂成服务
- 想做多用户并发
- 想接 OpenAI 风格 SDK
- 想在服务器 / 云 GPU 上做通用推理
它不那么适合:
- 特别弱的小设备
- 强依赖 GGUF 的场景
- 只想本机临时聊天的人
一句话:
如果你不是“在自己电脑上玩”,而是在“认真做服务”,vLLM 基本是默认参考答案。
官方资料:
5. SGLang
SGLang 官方把自己定义成:面向大语言模型和多模态模型的高性能服务框架。
它和 vLLM 有点像,但主打方向并不完全相同。
我觉得理解 SGLang 最好的方式是:
vLLM更像“通用高吞吐推理引擎”SGLang更像“高性能 + 结构化 + agent 友好”的服务框架
它强调的点包括:
RadixAttention- prefix cache 复用
- structured outputs
- prefill-decode disaggregation
- speculative decoding
- 多种并行方式
- 从单卡到大规模集群
这意味着它在以下场景里会特别有吸引力:
- agent 系统
- 多轮对话
- 工具调用
- JSON / 结构化输出
- 前缀复用很多的工作负载
- 超长上下文
而且 SGLang 这两年对新模型和新硬件的支持非常积极,官方 README 里就能看到大量 day-0 support 的更新。
我会把它概括成:
如果你的应用不是单纯“问一句答一句”,而是越来越像 agent workflow,那 SGLang 很值得优先考虑。
官方资料:
6. TGI
TGI 全名是 Text Generation Inference,它曾经是 Hugging Face 体系里非常重要的生产部署后端。
它的优势很明确:
- 和 Hugging Face Hub 集成很深
- Docker 启动方便
- Prometheus / tracing 这些生产特性齐全
- 支持 tensor parallel、continuous batching、quantization
但有一个非常重要的最新信息:
TGI 官方 README 现在已经明确写了:
TGI is now in maintenance mode
这句话的含义非常重要:
- 它不是不能用
- 也不是立刻废弃
- 但官方对新项目更推荐
vLLM、SGLang
所以我对它的看法是:
- 如果你们团队已经有 TGI 在跑,可以继续维护
- 如果你现在从零开始新建项目,优先级通常放在
vLLM/SGLang前面
一句话:
TGI 依然是重要项目,但在 2026 这个时间点,它更像“老将”,不是“新项目首选”。
官方资料:
三、专项优化后端
7. TensorRT-LLM
TensorRT-LLM 是 NVIDIA 的亲儿子。
它的官方定位非常明确:针对 LLM 和视觉生成模型做高性能推理优化。
这个项目最适合这样理解:
- 它不是“最通用”
- 它是“在 NVIDIA 上尽可能榨干性能”
它的特点是:
- TensorRT engine 编译
- 专用 kernel
- 高级量化支持
- 多卡 / 多机并行
- 极致延迟和吞吐优化
它非常适合:
- 纯 NVIDIA 数据中心
- Triton / NVIDIA 体系
- 追求极致吞吐和低延迟
- 模型和硬件相对稳定的生产场景
它的门槛也很高:
- NVIDIA 绑定强
- 编译和部署链路更重
- 没有
llama.cpp/Ollama那种“下载就跑”的轻快感
所以一句话:
你如果是消费级本地部署用户,先别想它;你如果是 NVIDIA 生产环境团队,一定要看它。
官方资料:
8. KTransformers
KTransformers 是我觉得这两年特别值得关注的一类项目,因为它盯的不是“标准服务器幸福区”,而是:
CPU-GPU 异构推理。
官方 README 里写得很直接:这是一个专注于通过 CPU-GPU heterogeneous computing 提高大模型推理和微调效率的研究项目。
它为什么特别有意思?
因为现实里很多人没有:
- 8 张 H100
- 4 张 96GB 大卡
- 豪华机房
但很多人有的是:
- 一张或两张 24GB / 32GB / 48GB 显卡
- 很大的系统内存
- 一台还不错的 CPU 机器
KTransformers 的核心价值就是:
- 把热点部分放 GPU
- 把冷门专家、冷门层放 CPU
- 更激进地做异构调度
它特别适合:
- 超大 MoE
- 长上下文
- 大内存工作站
- 想用消费级 GPU 跑本来不太跑得动的模型
它不适合:
- 只想简单跑一个 7B / 8B 小模型的人
- 不想折腾异构部署的人
一句话:
如果 llama.cpp 是“把小模型尽量跑顺”,那 KTransformers 更像“想办法把超大模型也塞进普通工作站”。
官方资料:
四、为什么 Transformers 仍然重要
很多人会问一个问题:
既然有 vLLM、SGLang、TensorRT-LLM,那 Transformers 还算不算部署后端?
我的答案是:
严格说它更像“参考实现和兼容性底座”,而不是“最高性能服务端”。
但它仍然极其重要。
原因很简单:
- 大多数新模型最先在
Transformers里落地 - 原型验证时最省心
- 模型兼容性最好
- 很多专门的推理后端,底层依然会复用它的模型定义
官方资料现在也很坦诚:
Transformers负责模型定义、pipeline、基础生成、轻量 serve- 如果要做真正大规模推理,建议接
vLLM、SGLang、TGI
所以:
- 研究 / 验证 / 先跑起来:
Transformers - 正式服务 / 并发 / 成本优化:专用后端
一句话:
Transformers 不是性能冠军,但它是整个开源模型部署生态的共同底座。
官方资料:
五、到底怎么选
1. 你只是想在自己电脑上本地跑
优先看:
Ollamallama.cppMLX-LM(如果你是 Mac)
我的建议是:
- 想快:
Ollama - 想细调:
llama.cpp - 想把 Mac 吃干榨尽:
MLX-LM
2. 你想把模型挂成 API 服务
优先看:
vLLMSGLang
如果你主要需求是:
- 通用聊天服务
- 多用户并发
- OpenAI 兼容 API
先看 vLLM。
如果你主要需求是:
- agent
- 结构化输出
- prefix 复用
- 多轮工作流
优先看 SGLang。
3. 你已经深度绑定 Hugging Face
可以了解:
TransformersTGIvLLM
但在 2026 这个时间点,如果是新项目,我仍然更倾向:
- 原型用
Transformers - 服务用
vLLM/SGLang
4. 你是纯 NVIDIA 生产环境
重点看:
TensorRT-LLMvLLM
如果目标是:
- 极限性能
- 低延迟
- 固定模型、固定硬件
那 TensorRT-LLM 的价值会很大。
5. 你想在普通工作站跑超大 MoE
重点看:
KTransformers
这类需求的典型特征是:
- 模型太大
- 显卡不够豪华
- 但 CPU 和内存不错
这种时候,异构路线比硬拼传统 GPU-only 后端更现实。
我自己的归纳
如果让我用一句话概括这些后端:
llama.cpp:最自由的本地派Ollama:最省心的本地入口MLX-LM:最适合 MacvLLM:最通用的服务端推理引擎SGLang:最适合 agent 和结构化推理TGI:重要老将,但新项目优先级下降TensorRT-LLM:NVIDIA 纯血性能怪兽KTransformers:异构部署和超大 MoE 的狠活工具Transformers:整个生态的底座
如果你现在只想记住一个选型口诀,我会建议:
本地先看
llama.cpp/Ollama/MLX-LM,服务端先看vLLM/SGLang,纯 NVIDIA 看TensorRT-LLM,没大卡但想跑超大模型看KTransformers。