LELexEdge词汇锋面
AI专业术语

MPS

Metal Performance Shaders

Mac 上的 CUDA 平替 · Apple GPU 跑 AI 的桥梁

GPU 加速推理部署Apple
MPS
定义
MPSMetal Performance ShadersAI领域的专业术语MPS(Metal Performance Shaders)是 Apple 基于 Metal 图形 API 构建的 GPU 加速计算框架。

最后更新:2026-06-18

什么是MPS?

MPS(Metal Performance Shaders)是 Apple 基于 Metal 图形 API 构建的 GPU 加速计算框架。在 AI 领域,MPS 是 Mac 用户利用 Apple Silicon(M1/M2/M3/M4)GPU 进行模型训练和推理的关键通道——PyTorch 的 `mps` 设备后端让开发者在 Mac 上获得类似 CUDA 的 GPU 加速体验。

  • Apple Silicon GPU 加速的核心框架
  • PyTorch 通过 device='mps' 支持 Mac GPU 加速
  • 训练和推理速度相比 CPU 可提升 5-20 倍

MPS详解

MPS 最初是为图形渲染和图像处理设计的高性能 shader 库,后来扩展为通用 GPU 计算框架。2022 年 PyTorch 1.12 正式引入 MPS 后端,开发者只需将张量和模型放到 `torch.device('mps')` 上即可利用 Apple GPU。MPS 相对 CUDA 的局限:算子覆盖不完整(部分操作会 fallback 到 CPU)、不支持多 GPU、社区生态和优化深度不及 NVIDIA。但对 Mac 用户来说,MPS 是本地跑模型的唯一 GPU 加速选项,尤其适合中小模型的微调、推理和开发调试。Apple M 系列芯片的统一内存架构(CPU/GPU 共享内存)也为大模型推理提供了独特优势——显存不再是瓶颈。

MPS的应用场景

正式定义

Apple 基于 Metal API 构建的 GPU 加速计算框架,为机器学习提供 Apple Silicon GPU 上的训练和推理能力

应用场景

  • Mac 上用 PyTorch 进行模型训练和推理加速
  • 本地运行 Stable Diffusion、LLaMA 等模型
  • 开发调试阶段的 GPU 加速(无需云端 NVIDIA GPU)
  • 利用统一内存跑超出传统显存限制的大模型

常见误区

  • MPS 不等于 CUDA——算子覆盖和优化深度仍有差距
  • MPS 不只是推理——也支持训练,但大规模训练仍推荐 NVIDIA
  • 统一内存不等于无限显存——带宽和计算核心数仍是瓶颈

实际案例

📌 PyTorch MPS 加速

在 Mac 上使用 `model.to('mps')` 和 `tensor.to('mps')` 即可将计算从 CPU 转移到 Apple GPU,典型场景下推理速度提升 5-15 倍。

📌 MLX + MPS 生态

Apple 的 MLX 框架底层基于 Metal/MPS,专为 Apple Silicon 优化。配合 Hugging Face 模型可在 Mac 上高效运行 LLM 推理。

关于MPS的常见问题

MPS 是什么
Metal Performance Shaders,Apple 的 GPU 加速框架。在 AI 场景中,它让 Mac 用户通过 PyTorch 的 mps 后端利用 Apple Silicon GPU 加速训练和推理。
MPS 和 CUDA 有什么区别
CUDA 是 NVIDIA GPU 专用,生态成熟、算子完整;MPS 是 Apple GPU 专用,算子覆盖仍在追赶。Mac 用户本地跑模型只能用 MPS,大规模训练仍推荐 CUDA。
怎么在 PyTorch 中使用 MPS
确保 macOS 12.3+ 和 PyTorch 1.12+,然后使用 torch.device('mps') 将模型和数据移到 GPU:model.to('mps')。

与MPS相关的术语

CUDAApple SiliconPyTorchMetal