加速文档

在 Mac 上加速 PyTorch 训练

Hugging Face's logo
加入 Hugging Face 社区

并获得增强型文档体验

开始

在 Mac 上加速 PyTorch 训练

随着 PyTorch v1.12 版本的发布,开发者和研究人员可以利用苹果硅 GPU 来显著加速模型训练。这使得能够在 Mac 上本地执行机器学习工作流程,例如原型设计和微调。苹果的 Metal Performance Shaders (MPS) 作为 PyTorch 的后端支持了这一点,可以通过新的 "mps" 设备使用。这将把计算图和原语映射到 MPS 图框架和 MPS 提供的优化内核上。有关更多信息,请参考官方文档 在 Mac 上介绍加速 PyTorch 训练MPS 后端

使用苹果硅芯片进行训练和推理的优势

  1. 使用户能够在本地训练更大的网络或批次大小
  2. 减少数据检索延迟,并由于统一内存架构,为 GPU 提供对完整内存存储的直接访问。因此,提高了端到端性能。
  3. 降低与基于云的开发相关的成本或对额外本地 GPU 的需求。

先决条件:要安装支持 mps 的 torch,请遵循这篇不错的 Medium 文章 GPU 加速来到 M1 Mac 上的 PyTorch

开箱即用的工作原理

它在具有启用 MPS 的苹果硅 GPU 的 MacOs 机器上默认启用。要禁用它,请将 --cpu 标志传递给 accelerate launch 命令,或在回答 accelerate config 问卷时回答相应的问题。

您可以在启用 MPS 的苹果硅机器上直接运行以下脚本进行测试

accelerate launch /examples/cv_example.py --data_dir images

需要注意的一些注意事项

  1. 我们强烈建议您在您的 MacOS 机器上安装 PyTorch >= 1.13(撰写本文时为夜间版本)。它包含与模型正确性和基于 Transformer 的模型的性能改进相关的重大修复。有关更多详细信息,请参考 https://github.com/pytorch/pytorch/issues/82707
  2. 分布式设置 gloonccl 不适用于 mps 设备。这意味着目前只能使用 mps 设备类型的单个 GPU。

最后,请记住,Accelerate 仅集成 MPS 后端,因此如果您在 MPS 后端使用方面遇到任何问题或疑问,请向 PyTorch GitHub 提交问题。

< > 在 GitHub 上更新