Accelerated PyTorch training on Mac

本文翻译整理自:Accelerated PyTorch training on Mac
https://developer.apple.com/metal/pytorch/


文章目录


Metal 加速

PyTorch使用新的 Metal Performance Shaders(MPS)后端进行GPU训练加速。

这个MPS后端扩展了PyTorch框架,提供了在Mac上设置和运行操作的脚本和功能。

MPS框架使用针对每个Metal GPU系列的独特特性进行微调的内核来优化计算性能。

新的mps设备将机器学习计算图和原语映射到MPS Graph框架和MPS提供的调优内核上。


要求

  • 配备Apple芯片或AMD GPU的Mac电脑
  • macOS 12.3或更高版本
  • Python 3.7或更高版本
  • Xcode命令行工具:xcode-select --install

开始

您可以使用Anaconda或pip。请注意,带有Apple芯片的Mac和带有Intel x86的Mac之间的环境设置会有所不同。

使用安装页面上的PyTorch安装选择器为MPS设备加速选择预览(夜间)。MPS后端支持是PyTorch 1.12官方版本的一部分。PyTorch的预览(夜间)版本将在您的设备上提供最新的mps支持。


1.Set up


Anaconda

Apple silicon

shell 复制代码
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh
sh Miniconda3-latest-MacOSX-arm64.sh

x86

shell 复制代码
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
sh Miniconda3-latest-MacOSX-x86_64.sh

pip

您可以使用macOS附带的预装pip3。或者,您可以从Python网站或Homebrew包管理器安装它。


2.安装


Anaconda
shell 复制代码
conda install pytorch torchvision torchaudio -c pytorch-nightly

pip
shell 复制代码
pip3 install --pre torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/nightly/cpu

从源代码构建

构建支持MPS的PyTorch需要Xcode13.3.1或更高版本,您可以在Mac App Store上下载最新的公开Xcode版本或在Mac App Store上下载最新的beta版本或在Apple Developer网站上下载最新的beta版本。
USE_MPS环境变量控制构建PyTorch并包含MPS支持。

要构建PyTorch,请按照PyTorch网站上提供的说明进行操作。


3.验证

您可以使用简单的Python脚本验证mps支持:

python 复制代码
import torch
if torch.backends.mps.is_available():
    mps_device = torch.device("mps")
    x = torch.ones(1, device=mps_device)
    print (x)
else:
    print ("MPS device not found.")

输出应显示:

shell 复制代码
tensor([1.], device='mps:0')

反馈意见

MPS后端处于测试阶段,我们正在积极解决问题并修复错误。要报告问题,请使用标签为"模块:MP"的GitHub问题跟踪器


资源

PyTorch安装页面
PyTorch留档在MPS后端
添加一个新的PyTorch操作到MPS后端
PyTorch性能分析使用MPS分析器

相关推荐
过期的秋刀鱼!2 分钟前
机器学习-正则化线性回归
人工智能·深度学习·机器学习·大模型·线性回归·过拟合和欠拟合·大模型调参
roman_日积跬步-终至千里6 分钟前
【AI for Energy】论文分析:ChatBattery——LLM引导的电池材料发现方法
人工智能
CoderJia程序员甲11 分钟前
GitHub 热榜项目 - 日榜(2026-01-18)
人工智能·ai·大模型·github·ai教程
DatGuy13 分钟前
Week 33: 量子深度学习入门:参数化量子电路与混合模型构建
人工智能·深度学习
啊阿狸不会拉杆13 分钟前
《数字图像处理》第 12 章 - 目标识别
图像处理·人工智能·算法·计算机视觉·数字图像处理
biyezuopinvip20 分钟前
基于深度学习的眼底图像分割方法研究与实现(论文)
人工智能·深度学习·毕业设计·论文·毕业论文·基于深度学习的·眼底图像分割方法研究与实现
老蒋每日coding23 分钟前
AI Agent 设计模式系列(九)——学习和适应模式
人工智能·学习·设计模式
Das124 分钟前
【机器学习】05_决策树
人工智能·决策树·机器学习
学习3人组25 分钟前
大模型轻量化调优(昇腾平台方向)岗位技术名词拆解
人工智能·python
知乎的哥廷根数学学派27 分钟前
基于物理引导和不确定性量化的轻量化神经网络机械退化预测算法(Python)
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习