跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

Mac Studio M4 通过 vLLM 部署本地大模型

Mac Studio M4 凭借 128GB 统一内存优势,适合本地运行大模型。介绍两种 vLLM 部署方案:vllm-metal 官方插件与 vllm-mlx 第三方实现。涵盖环境配置、国内镜像加速、模型选型(如 Qwen2.5-72B)、服务启动、API 调用测试及 Open WebUI 界面搭建。提供性能调优参数与常见问题排查指南,帮助开发者在 Apple Silicon 设备上高效构建私有化 AI 服务。

指针猎手发布于 2026/4/9更新于 2026/10/2692 浏览
Mac Studio M4 通过 vLLM 部署本地大模型

1. 硬件配置与能力评估

项目规格对大模型的意义
芯片Apple M4 Max最新架构,MLX 性能最优
CPU16 核(12 性能 + 4 能效)预处理 / Tokenizer 充裕
GPU40 核 MetalMetal 加速推理的核心
统一内存128 GB决定可跑模型的大小上限
存储1 TB SSD可存放多个模型(20-80GB / 个)

核心优势: 128GB 统一内存意味着 GPU 可直接访问全部内存,无需 CPU/GPU 之间的数据拷贝,这是 Apple Silicon 运行大模型的最大优势。系统占用约 8-10GB,实际可用约 118GB。


2. 环境准备

2.1 操作系统要求

确保 macOS 版本为 Sequoia (15.0) 或更高,以获得最佳的 MLX 性能支持。

查看方式:「系统设置 > 通用 > 关于本机」

2.2 安装 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
2.3 安装 Python 3.12+
brew install [email protected]
# 验证安装
python3 --version # 应输出 Python 3.12.x 或更高
2.4 安装 Xcode 命令行工具
xcode-select --install

如果已安装会提示「already installed」,忽略即可。


3. 方案一:安装 vllm-metal(官方推荐)

vllm-metal 是 vLLM 官方社区维护的 Apple Silicon 插件,将 MLX 和 PyTorch 统一在单一计算路径下,支持零拷贝操作。

3.1 一键安装
curl -fsSL https://raw.githubusercontent.com/vllm-project/vllm-metal/main/install.sh | bash

该脚本会自动创建虚拟环境并安装所有依赖,默认安装到 ~/.venv-vllm-metal 目录。安装过程可能需要 5-15 分钟。

3.2 激活环境
source ~/.venv-vllm-metal/bin/activate

提示: 每次打开新的终端窗口都需要重新激活。可以将激活命令添加到 ~/.zshrc 实现自动激活。

3.3 验证安装
vllm --version # 应输出 vLLM 版本号,如 0.13.x
3.4 卸载方法
rm -rf ~/.venv-vllm-metal

4. 方案二:安装 vllm-mlx(简单快速)

vllm-mlx 是第三方独立实现,安装更简单,支持文本、图像、视频、音频多模态推理。

4.1 创建虚拟环境
python3 -m venv ~/.venv-vllm-mlx
source ~/.venv-vllm-mlx/bin/activate
4.2 安装 vllm-mlx
pip install vllm-mlx
4.3 验证安装
vllm-mlx --help

5. 配置国内镜像加速

如果你在中国大陆,Hugging Face 官方域名访问通常很慢或无法连接,需要配置镜像。海外用户可跳过此步骤。

5.1 临时配置(当前终端有效)
export HF_ENDPOINT=https://hf-mirror.com
5.2 永久配置(推荐)
echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.zshrc
source ~/.zshrc
5.3 pip 镜像加速(可选)
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

6. 模型选型推荐

基于 128GB 内存,以下是推荐的模型(均为 MLX 格式,位于 Hugging Face 的 mlx-community 组织下):

模型名称内存占用优势推荐等级
Qwen3-30B-A3B-4bit~18 GBMoE 架构,速度极快⭐⭐⭐ 强烈推荐
Qwen2.5-72B-Instruct-4bit~42 GB中英文都强⭐⭐⭐ 强烈推荐
Llama-3.1-70B-Instruct-4bit~40 GB英文能力顶级⭐⭐ 推荐
DeepSeek-V3-0324-4bit~80 GBMoE,综合能力强⭐ 可尝试
Llama-3.1-70B-Instruct-8bit~75 GB高精度,质量更好⭐ 可尝试

内存估算规则: 4bit 量化模型的内存占用 ≈ 参数量 × 0.5 字节 + KV Cache。例如 72B 的 4bit ≈ 72 × 0.5 = 36GB,加上 KV Cache 约 42GB。建议留至少 20GB 给系统和 KV Cache。

6.1 手动下载模型(可选)

如果希望先下载模型再启动(方便断点续传):

# 安装下载工具
pip install huggingface_hub
# 下载模型到本地目录
huggingface-cli download \
  mlx-community/Qwen2.5-72B-Instruct-4bit \
  --local-dir ~/models/Qwen2.5-72B-Instruct-4bit
# 如下载中断,重新执行同一命令即可续传

7. 启动模型服务

7.1 使用 vllm-metal 启动
# 激活环境
source ~/.venv-vllm-metal/bin/activate
# 方式一:在线模型(自动下载)
vllm serve mlx-community/Qwen2.5-72B-Instruct-4bit \
  --port 8000 \
  --host 0.0.0.0
# 方式二:本地模型(已手动下载)
vllm serve ~/models/Qwen2.5-72B-Instruct-4bit \
  --port 8000 \
  --host 0.0.0.0
7.2 使用 vllm-mlx 启动
# 激活环境
source ~/.venv-vllm-mlx/bin/activate
# 启动服务
vllm-mlx serve mlx-community/Qwen2.5-72B-Instruct-4bit \
  --port 8000

参数说明: --port 8000 指定服务端口;--host 0.0.0.0 允许局域网内其他设备访问,如果只在本机使用可省略。

首次启动时会自动下载模型,72B-4bit 模型约 42GB,请耐心等待。当看到类似 Serving on http://0.0.0.0:8000 的提示时,表示服务已就绪。


8. API 调用测试

8.1 使用 curl 测试

打开新的终端窗口,执行:

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{ "model": "mlx-community/Qwen2.5-72B-Instruct-4bit", "messages": [ {"role": "system", "content": "你是一个有用的 AI 助手"}, {"role": "user", "content": "你好,请用中文介绍一下你自己"} ], "max_tokens": 512, "temperature": 0.7 }'
8.2 使用 Python 测试
pip install openai
from openai import OpenAI
client = OpenAI(
    base_url="http://localhost:8000/v1",
    api_key="not-needed" # 本地服务无需 API Key
)
response = client.chat.completions.create(
    model="mlx-community/Qwen2.5-72B-Instruct-4bit",
    messages=[
        {"role": "user", "content": "解释什么是量子计算"}
    ],
    max_tokens=1024
)
print(response.choices[0].message.content)
8.3 检查服务健康状态
curl http://localhost:8000/health
8.4 查看已加载的模型
curl http://localhost:8000/v1/models

9. 搭配 Web UI 界面

如果希望有类似 ChatGPT 的对话界面,推荐搭配 Open WebUI。

9.1 安装 Open WebUI
pip install open-webui
9.2 启动 Open WebUI
open-webui serve
9.3 配置连接
  1. 浏览器访问 http://localhost:3000
  2. 进入「设置」>「连接」
  3. 将 API 地址设置为 http://localhost:8000/v1
  4. API Key 填写任意字符串(如 not-needed)
  5. 点击保存,即可开始对话

其他 UI 选择: 除 Open WebUI 外,还可以使用 Chatbox(桌面客户端)、BoltAI(Mac 原生应用)等工具,均支持 OpenAI 兼容 API。


10. 性能调优与监控

10.1 预期性能
指标72B-4bit 预期30B-MoE-4bit 预期
Prompt 处理速度~100-300 tokens/s~300-500 tokens/s
生成速度(单用户)~15-25 tokens/s~40-60 tokens/s
并发用户数2-4 人4-8 人
10.2 内存监控

运行期间建议监控内存使用情况:

  • 打开「活动监视器」(Applications > Utilities > Activity Monitor)
  • 切换到「内存」选项卡,观察内存压力图
  • 保持在绿色区域为佳,黄色表示内存开始紧张
10.3 环境变量调优
# 启用实验性的 Paged Attention(可显著提升性能)
export VLLM_METAL_USE_PAGED_ATTENTION=1
# 然后启动服务
vllm serve mlx-community/Qwen2.5-72B-Instruct-4bit --port 8000

关于 Paged Attention: 这是 vllm-metal 的实验性功能,可以显著提升 TTFT(首 Token 时间)和吞吐量,但部分模型可能存在兼容性问题。如遇报错可关闭此选项。


11. 常见问题排查

11.1 安装脚本报错

尝试删除并重新安装:

rm -rf ~/.venv-vllm-metal
curl -fsSL https://raw.githubusercontent.com/vllm-project/vllm-metal/main/install.sh | bash
11.2 模型下载速度极慢或超时
  1. 确认已配置镜像:echo $HF_ENDPOINT
  2. 使用 huggingface-cli 手动下载(支持断点续传)
  3. 尝试更换镜像源:export HF_ENDPOINT=https://hf-api.gitee.com
11.3 加载模型时报错或系统卡死
  • 换用更小的模型或更低的量化精度
  • 关闭其他占用内存的应用(如 Chrome、Docker 等)
  • 确保模型内存占用 + 系统占用 < 128GB
11.4 端口冲突:port 8000 already in use
# 查找占用 8000 端口的进程
lsof -i :8000
# 终止该进程
kill -9 <PID>
# 或者换用其他端口
vllm serve mlx-community/Qwen2.5-72B-Instruct-4bit --port 8001
11.5 生成速度慢
  • 确认是否使用了 MLX 格式模型(mlx-community 前缀)
  • 尝试启用 Paged Attention:export VLLM_METAL_USE_PAGED_ATTENTION=1
  • 减小 max_tokens 或 context length
  • 确保没有其他 GPU 密集型任务在运行

12. 两种方案对比总结

对比项vllm-metalvllm-mlx
维护方vLLM 官方社区 + Docker第三方独立项目
安装方式Shell 脚本一键安装pip install
多模态文本为主文本、图像、视频、音频
API 兼容OpenAI 兼容OpenAI + Anthropic 兼容
长期前景官方背书,更有保障功能更丰富,迭代更快
推荐场景稳定性优先、生产环境功能优先、开发测试

总结建议

Mac Studio M4 Max 128GB 是本地部署大模型的绝佳设备。推荐从 vllm-metal + Qwen2.5-72B-Instruct-4bit 开始,这套组合在中英文场景下都有出色的表现,且 128GB 内存可以轻松承载。如果追求速度,Qwen3-30B-A3B 的 MoE 架构可以提供更快的响应。

目录

  1. 1. 硬件配置与能力评估
  2. 2. 环境准备
  3. 2.1 操作系统要求
  4. 2.2 安装 Homebrew
  5. 2.3 安装 Python 3.12+
  6. 验证安装
  7. 2.4 安装 Xcode 命令行工具
  8. 3. 方案一:安装 vllm-metal(官方推荐)
  9. 3.1 一键安装
  10. 3.2 激活环境
  11. 3.3 验证安装
  12. 3.4 卸载方法
  13. 4. 方案二:安装 vllm-mlx(简单快速)
  14. 4.1 创建虚拟环境
  15. 4.2 安装 vllm-mlx
  16. 4.3 验证安装
  17. 5. 配置国内镜像加速
  18. 5.1 临时配置(当前终端有效)
  19. 5.2 永久配置(推荐)
  20. 5.3 pip 镜像加速(可选)
  21. 6. 模型选型推荐
  22. 6.1 手动下载模型(可选)
  23. 安装下载工具
  24. 下载模型到本地目录
  25. 如下载中断,重新执行同一命令即可续传
  26. 7. 启动模型服务
  27. 7.1 使用 vllm-metal 启动
  28. 激活环境
  29. 方式一:在线模型(自动下载)
  30. 方式二:本地模型(已手动下载)
  31. 7.2 使用 vllm-mlx 启动
  32. 激活环境
  33. 启动服务
  34. 8. API 调用测试
  35. 8.1 使用 curl 测试
  36. 8.2 使用 Python 测试
  37. 8.3 检查服务健康状态
  38. 8.4 查看已加载的模型
  39. 9. 搭配 Web UI 界面
  40. 9.1 安装 Open WebUI
  41. 9.2 启动 Open WebUI
  42. 9.3 配置连接
  43. 10. 性能调优与监控
  44. 10.1 预期性能
  45. 10.2 内存监控
  46. 10.3 环境变量调优
  47. 启用实验性的 Paged Attention(可显著提升性能)
  48. 然后启动服务
  49. 11. 常见问题排查
  50. 11.1 安装脚本报错
  51. 11.2 模型下载速度极慢或超时
  52. 11.3 加载模型时报错或系统卡死
  53. 11.4 端口冲突:port 8000 already in use
  54. 查找占用 8000 端口的进程
  55. 终止该进程
  56. 或者换用其他端口
  57. 11.5 生成速度慢
  58. 12. 两种方案对比总结
  59. 总结建议

更多推荐文章

查看全部
  • OpenClaw 完全指南:开源 AI 助手部署与配置
  • ToClaw:不只是炫技 AI,更是易用的桌面工具
  • Python 网络爬虫技术详解:原理、实战与最佳实践
  • 强化学习基础:动态规划算法原理与实现
  • C++ 核心特性详解:函数重载、引用、内联函数、auto 与 nullptr
  • WebSocket 客户端实践:重连、心跳与可靠通信
  • 2026 年高校 AIGC 检测新规解读:AI 率合格标准分析
  • 光伏产品缺陷检测 AI 深度学习算法技术方案
  • 基于 Ollama、Llama3.1 与 Open WebUI 搭建本地大模型环境
  • DeepSeek 与 Cursor 协同构建智能代码审查工具实战
  • 字节发布用于序列推荐的分层大模型 HLLM 技术解析
  • GitHub 启用双因素身份验证(2FA)配置指南
  • 16 届蓝桥杯 Java 组省赛真题详解:思路与代码实现
  • Linux 进程内存分配:malloc、brk、mmap 与 overcommit
  • PyCharm 详细安装与配置指南
  • 深入理解 HTML5 Web Workers:提升网页性能的关键技术
  • AI 赋能产品经理:工作流提效与职业转型实战
  • 树莓派 Ubuntu 24.04.3 LTS 安装 OpenClaw 指南
  • Kimi Code AI 编程助手功能特性与集成指南
  • 详解 RabbitMQ 单机多节点集群搭建

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online