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 上直接对压缩块进行计算。
相关
- 项目
- 项目
- 项目
- 项目