localai-org/vllm.cpp

a community oriented 1:1, vLLM-alike (Continuous batching, paged KV) engine in C++ with additional features (GGUF, RadixAttention, Cache-aware scheduling, ...)

解决的问题

vllm.cpp 是一个高性能的 C++20 推理引擎,旨在成为 vLLM 的轻量级独立替代方案。它在推理时消除了对 Python 和 PyTorch 的需求,大幅缩减了部署空间(从 GB 级降至 MB 级),同时保持与 vLLM 相同的吞吐量与逐 Token 完全一致的输出。

运作原理

它结合了多个领先推理引擎的最佳特性:

  • vLLM:采用其服务核心,包括连续批处理 (continuous batching)、块分页 KV 缓存 (block-paged KV cache) 以及自动前缀缓存 (automatic prefix caching)。
  • SGLang:整合了如 RadixAttention 和 jump-forward decoding 等调度概念。
  • llama.cpp:实现了扁平的 C ABI 并支持 GGUF 文件,允许直接在 CPU 上的量化块进行计算。
  • MLX:利用 MLX 的 GEMM 来优化 Apple Silicon 上的性能。

该引擎通过单一源代码树支持广泛的硬件(CUDA、CPU、Metal、Vulkan)与量化格式(NVFP4、EXL3、GGUF)。

适用对象

需要以最小开销、快速冷启动以及在多样化硬件上实现高吞吐量,且不想处理基于 Python 堆栈复杂性的开发者与运维人员。

特色亮点

  • 极致轻量化:仅 66 MiB 的二进制文件,相较于 9.1 GiB 的 vLLM 安装。
  • vLLM 同等性能:在支持的模型上提供逐 Token 完全一致的输出与匹配的吞吐量。
  • 广泛的硬件支持:原生支持 CUDA、CPU、Metal 与 Vulkan。
  • 广泛的模型支持:包含多模态(图像、视频、音频)与音乐生成在内,共 44 种已注册架构。
  • 进阶功能:支持推测解码 (speculative decoding, MTP, DFlash)、结构化输出 (JSON schema, GBNF) 与外部 KV 卸载。
  • GGUF 整合:对 GGUF 文件提供一等公民级别的支持,并可在 CPU 上直接对压缩块进行计算。

相关

  • 项目
  • 项目
  • 项目
  • 项目