Posted on :: Source Code ::

写在前面

最近一段时间,我一直在折腾本地模型部署。查资料的时候会发现一个很容易让人混淆的点:

  • 有的是模型
  • 有的是模型格式
  • 有的是部署后端
  • 有的是客户端 / 桌面壳子

比如你看到:

  • Qwen3.5-4B-Q4_K_M.gguf
  • llama.cpp
  • Ollama
  • vLLM
  • SGLang
  • TensorRT-LLM

它们其实不是一层东西。

这篇文章我专门用 grok-search 查了一轮官方资料,想把目前主流的大模型部署后端整理清楚:它们各自是干什么的、适合什么硬件、适合什么场景、有什么优缺点。

先说结论:

如果你只是想在自己电脑上把模型先跑起来,优先看 llama.cppOllamaMLX-LM

如果你想做真正的服务端推理,优先看 vLLMSGLang

如果你是纯 NVIDIA 生产环境并且追求极限性能,看 TensorRT-LLM

如果你在折腾超大 MoE,又没有一堆大显存卡,看 KTransformers

什么叫“部署后端”

我这里说的“部署后端”,指的是:负责把模型权重加载进来,管理内存、调度计算、处理并发请求,并对外提供推理能力的那层系统。

简单理解:

  • 模型 决定“会不会”
  • 量化格式 决定“占多大”
  • 部署后端 决定“能不能高效跑”

所以:

  • GGUF 不是后端,它是格式
  • Q4_K_M 不是后端,它是量化方案
  • Ollamallama.cppvLLM 才更接近“后端”

先给一张总表

后端官方定位典型硬件核心优势适合谁
llama.cpp轻量、可移植、本地优先的 C/C++ 推理引擎CPU、Apple Silicon、NVIDIA、AMD、Intel,甚至边缘设备GGUF 生态强,依赖少,跨平台广本地部署、边缘设备、DIY 玩家
Ollama面向开发者的本地模型运行与分发工具macOS / Linux / Windows,本地 GPU 或 CPU上手最快,API 友好,生态接入多想快速把模型跑起来的人
MLX-LMApple Silicon 上的推理与微调工具Apple Silicon对 Mac 统一内存利用很强Mac 用户
vLLM高吞吐、低成本的通用推理服务引擎服务器 GPU、多卡集群,也支持更广硬件插件PagedAttention、连续批处理、生态广服务端推理、API 服务
SGLang面向结构化生成和 agent 场景的高性能服务框架单卡到大规模集群,NVIDIA/AMD/TPU/Ascend 等Prefix 复用强,程序化推理强Agent、长上下文、结构化输出
TGIHugging Face 体系下的生产部署工具多种 GPU / 云硬件HF 集成深,生产特性全既有 HF 体系用户
TensorRT-LLMNVIDIA 的高性能 LLM 推理优化栈NVIDIA GPU极致性能、编译优化深纯 NVIDIA 生产环境
KTransformersCPU-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 量化
  • 想把模型直接塞进自己的程序里

它的短板也很明显:

  • 服务端并发不是它最强的主场
  • 超大模型 / 超高吞吐时不如 vLLMSGLang
  • 很多时候你要自己调参数,比较偏工程手工活

一句话:如果你脑子里想的是“本地模型部署”而不是“在线推理集群”,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

这句话的含义非常重要:

  • 它不是不能用
  • 也不是立刻废弃
  • 但官方对新项目更推荐 vLLMSGLang

所以我对它的看法是:

  • 如果你们团队已经有 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 仍然重要

很多人会问一个问题:

既然有 vLLMSGLangTensorRT-LLM,那 Transformers 还算不算部署后端?

我的答案是:

严格说它更像“参考实现和兼容性底座”,而不是“最高性能服务端”。

但它仍然极其重要。

原因很简单:

  • 大多数新模型最先在 Transformers 里落地
  • 原型验证时最省心
  • 模型兼容性最好
  • 很多专门的推理后端,底层依然会复用它的模型定义

官方资料现在也很坦诚:

  • Transformers 负责模型定义、pipeline、基础生成、轻量 serve
  • 如果要做真正大规模推理,建议接 vLLMSGLangTGI

所以:

  • 研究 / 验证 / 先跑起来Transformers
  • 正式服务 / 并发 / 成本优化:专用后端

一句话:

Transformers 不是性能冠军,但它是整个开源模型部署生态的共同底座。

官方资料:

五、到底怎么选

1. 你只是想在自己电脑上本地跑

优先看:

  • Ollama
  • llama.cpp
  • MLX-LM(如果你是 Mac)

我的建议是:

  • 想快:Ollama
  • 想细调:llama.cpp
  • 想把 Mac 吃干榨尽:MLX-LM

2. 你想把模型挂成 API 服务

优先看:

  • vLLM
  • SGLang

如果你主要需求是:

  • 通用聊天服务
  • 多用户并发
  • OpenAI 兼容 API

先看 vLLM

如果你主要需求是:

  • agent
  • 结构化输出
  • prefix 复用
  • 多轮工作流

优先看 SGLang

3. 你已经深度绑定 Hugging Face

可以了解:

  • Transformers
  • TGI
  • vLLM

但在 2026 这个时间点,如果是新项目,我仍然更倾向:

  • 原型用 Transformers
  • 服务用 vLLM / SGLang

4. 你是纯 NVIDIA 生产环境

重点看:

  • TensorRT-LLM
  • vLLM

如果目标是:

  • 极限性能
  • 低延迟
  • 固定模型、固定硬件

TensorRT-LLM 的价值会很大。

5. 你想在普通工作站跑超大 MoE

重点看:

  • KTransformers

这类需求的典型特征是:

  • 模型太大
  • 显卡不够豪华
  • 但 CPU 和内存不错

这种时候,异构路线比硬拼传统 GPU-only 后端更现实。

我自己的归纳

如果让我用一句话概括这些后端:

  • llama.cpp:最自由的本地派
  • Ollama:最省心的本地入口
  • MLX-LM:最适合 Mac
  • vLLM:最通用的服务端推理引擎
  • SGLang:最适合 agent 和结构化推理
  • TGI:重要老将,但新项目优先级下降
  • TensorRT-LLM:NVIDIA 纯血性能怪兽
  • KTransformers:异构部署和超大 MoE 的狠活工具
  • Transformers:整个生态的底座

如果你现在只想记住一个选型口诀,我会建议:

本地先看 llama.cpp / Ollama / MLX-LM,服务端先看 vLLM / SGLang,纯 NVIDIA 看 TensorRT-LLM,没大卡但想跑超大模型看 KTransformers

参考链接

Table of Contents