下面从用途定位、支持后端/硬件、性能特性、适用场景等维度,对 llama.cpp、vLLM、MLX 做一个清晰对比(聚焦 LLM 推理 / serving)。


一句话概括

项目核心定位
llama.cpp轻量级、本地优先的 CPU/GPU LLM 推理引擎(原生于 GGML 格式)
vLLM高性能 服务端 LLM Serving 框架,主打高吞吐、在线 API
MLXApple Silicon 原生张量框架(类似 NumPy + PyTorch),适合 Mac 本地推理/研究

功能 & 特性对比

维度llama.cppvLLMMLX
主要语言C/C++(CLI + Python binding)Python(PyTorch + CUDA/Triton)Python / C++(Apple 官方)
典型模型格式GGUF(量化友好)HF safetensors / ptMLX 格式(可转换 HF)
硬件支持✅ CPU ✅ Metal ✅ CUDA ✅ Vulkan✅ CUDA ✅ ROCm(实验)❌ 无官方 Metal✅ Apple M‑series GPU/ANE ❌ NVIDIA
量化支持✅ 2‑8bit GGUF 量化(很强)✅ AWQ / GPTQ / FP8(有限)✅ 参数量化 + KV‑cache 量化
批处理 / 并发❌ 弱(简单 continuous batching 在新版中)✅ PagedAttention + continuous batching⚠️ 基础 batch,偏研究
吞吐 / 延迟本地单用户优秀多用户高吞吐极佳单用户 Mac 很好
Serving (API)✅ 内置简易 HTTP server✅ OpenAI‑compatible API❌ 需自行封装
生态/模型覆盖LLaMA / Mistral / Qwen 等主流(GGUF)几乎全部 HuggingFace LLMLLaMA / Mistral / Qwen 等有转换脚本
易用性(Python)中等(需下载 GGUF)非常方便(vllm serve model很 Pythonic(类 NumPy/PyTorch)

典型使用场景

✅ llama.cpp

  • 本地跑开源模型(Mac / Linux / Windows)
  • 显存小、CPU 推理、边缘设备
  • 离线 / 隐私敏感场景
  • 例子:
    ./llama-server -m qwen2-7b-q4_k_m.gguf -c 4096
    

✅ vLLM

  • 服务器部署 LLM API
  • 多并发用户、高 QPS
  • 企业 / 云 GPU 节点
  • 例子:
    vllm serve Qwen/Qwen2-7B-Instruct --dtype bfloat16
    

✅ MLX

  • MacBook Pro(M1–M4) 上做本地推理 / 实验
  • 研究者想写「PyTorch 风格」代码但直接调用 Apple GPU
  • 例子:
    import mlx.core as mx
    from mlx_lm import load, generate
    model, tokenizer = load("mlx-community/Qwen2-7B-4bit")
    print(generate(model, tokenizer, "Hello"))
    

如何选择?

  • 你有 NVIDIA GPU,要对外提供服务 → vLLM
  • 你只有 Mac(M 系列),想本地跑模型 → MLX(最快)或 llama.cpp
  • 你要最小依赖、CPU / 老显卡 / 嵌入式 → llama.cpp
  • 你要量化后放进 8G/16G 内存跑 7B~13B → llama.cpp(GGUF Q4)

你问的是 AirLLM、vLLM、llama.app(即 llama.cpp GUI)三者对比,结合你前面说的 Windows + 2GB 显存,下面直接给你清晰对照和结论。


一、三个东西分别是什么?

① AirLLM

  • 🔹 定位:让显存不足的机器运行超大模型(13B/70B),通过
    按层(layer-by-layer)加载权重 + CPU/磁盘 + 高速 prefetch
  • 🔹 基于 HuggingFace Transformers + Accelerate
  • 🔹 使用原始 safetensors / HF 格式(不是 GGUF)
  • 🔹 GitHub:airllm/airllm
  • ✅ 特点:
    • 模型权重 不需要一次全进显存
    • 可跑 70B 在消费级 PC(纯 CPU / 小 GPU)
    • 接口简单(from airllm import AutoModelForCausalLM
  • ❌ 缺点:
    • 很慢(层切换 + CPU 内存带宽瓶颈)
    • Windows 支持一般(WSL2 更稳)
    • 无高并发、无流式优化、延迟高
    • 对某些 MoE / 新架构兼容有限

📌 AirLLM = 权重按层分块加载推理,不是 KV Cache 分块


② vLLM

  • 🔹 定位高性能服务端 LLM 推理引擎
  • 🔹 核心:
    • PagedAttention(KV Cache 分页)
    • Continuous Batching
    • CUDA-only
  • ✅ 优点:
    • 极高吞吐、低延迟
    • 适合多用户 API Server
  • ❌ 缺点:
    • 要求模型权重基本装入 GPU 显存
    • 不支持分层 offload / 低于 6–8GB 显存基本不可用
    • Linux / CUDA 优先,Windows 非官方

📌 vLLM = KV Cache 分块,权重必须 fit GPU


③ llama.app(= llama.cpp GUI / CLI)

  • 🔹 定位本地轻量推理,CPU + 小 GPU
  • 🔹 使用 GGUF + mmap(页级按需加载)
  • 🔹 支持 -ngl N 把若干层 offload 到 GPU
  • ✅ 优点:
    • 2GB 显存可跑(纯 CPU 或少量 offload)
    • Windows / Mac / Linux 原生
    • 稳定、简单、OpenAI-compatible server
  • ❌ 缺点:
    • 并发低
    • 无 Paged KV Cache
    • 只支持 GGUF(不直接用 HF safetensors)

📌 llama.cpp = 权重 mmap 分块 + 可选少量 GPU 层,最适合你


二、核心维度对比表

维度AirLLMvLLMllama.cpp(llama.app)
权重分块加载(CPU/GPU)✅ 按 Layer✅ mmap + layer offload
KV Cache 分块(Paged)✅ PagedAttention
最低显存可用✅ 很小(甚至0)❌ ≥6–8GB✅✅✅(2GB OK)
Windows 友好⚠️(WSL 推荐)⚠️ 弱✅✅
速度很快中(CPU)/可接受
模型格式HF safetensorsHFGGUF
适合场景实验/跑超大模型服务器API本地/低显存/桌面

三、结合你 Windows + 2GB 显存 的结论

实际可用:llama.cpp(llama.app / llama-server)
⚠️ AirLLM:理论能跑,但 Windows 慢 + 折腾 + 延迟高,不推荐首选
vLLM:直接不可用

一句话:

  • 想稳定本地用 → llama.cpp(GGUF + -ngl 0/8)
  • 想验证"超大模型能不能跑"且愿用 WSL → 可试 AirLLM
  • 想高并发 API 服务 → 换机器,vLLM 才合适

更多推荐