vllm-project/vllm-metal

Community maintained hardware plugin for vLLM on Apple Silicon

vLLM Metal – 在 Apple Silicon GPU 上运行 vLLM

是什么

  • 一个插件,让流行的 LLM 服务系统 vLLM 通过使用 MLX 作为计算后端和基于 Metal 的注意力内核,在 Apple Silicon Mac(M 系列芯片)上执行模型。
  • 它弥合了以 PyTorch 为中心的 vLLM 代码库与 Apple GPU 堆栈之间的差距,为两个框架提供了统一的降级路径。

关键组件

  • 上游 vLLM – 提供 API 服务器、请求调度器和分页块内存管理器。
  • mlx_lm – 提供在 MLX/Metal 上运行的逐词模型层。
  • vllm-metal – 实现请求感知的注意力路径,包括:
    • 分页变长内核(默认注意力后端)。
    • M5 NAX 张量单元,用于快速多头注意力(MHA)、GQA 和 MQA 预填充。
    • 支持推测解码。

近期亮点

  • v0.2.0(2026 年 4 月):统一的分页变长内核,与 v0.1.0 相比,首 token 延迟提升约 83 倍,吞吐量提升约 3.6 倍。
  • M5 NAX 加速(2026 年 8 月):加速注意力预填充。
  • Qwen-3.8-27B 通过 mlx-community/Qwen3.8-27B-8bit 模型在 Metal 上运行,将 270 亿参数的混合 SDPA + GDN 线性模型适配到单台 Mac 上。

支持的环境

  • macOS 15(Sequoia)或更高版本,Apple Silicon(M 系列)。不支持 Intel Mac 或其他操作系统。

支持的模型

  • 不断增长的 LLM 列表记录在 docs/supported_models.md 中。README 指向一个矩阵,显示哪些模型已验证可在 Metal 上运行。

安装

  • 稳定版(Homebrew)
    brew tap vllm-project/vllm-metal https://github.com/vllm-project/vllm-metal
    brew install vllm-project/vllm-metal/vllm-metal
    
    安装后,vllm 命令可直接使用,无需虚拟环境。
  • 开发版(curl 安装脚本)
    curl -fsSL https://raw.githubusercontent.com/vllm-project/vllm-metal/main/install.sh | bash
    source ~/.venv-vllm-metal/bin/activate
    
    这会获取最新代码并创建隔离的 Python 环境。
  • 贡献 – 对于想要修改 Python 代码或 Metal 内核的开发人员,仓库提供了 CONTRIBUTING.md,其中包含开发环境设置指南。

使用方法

  1. 按上述方式安装。
  2. 运行标准的 vllm 命令(例如 vllm serve --model <model-id>)。插件会在受支持的 Mac 上自动选择 Metal 后端。
  3. 查阅文档链接,了解详细用法、配置选项以及基于可用 GPU 内存的性能调优方案。

了解更多

结论 vLLM Metal 使得在 Apple Silicon 上本地提供大型语言模型服务变得切实可行,通过 Metal 优化的内核实现显著加速,同时复用了熟悉的 vLLM API 和调度逻辑。

相关

  • Dispatch
  • 项目
  • Dispatch
  • 项目
  • 项目