一直以来,Pytorch 在 Mac 上仅支持使用 CPU 进行训练。就在刚刚,Pytorch 官方宣布,其最新版 v1.12 可以支持 GPU 加速了。只要是搭载了 M1 系列芯片的 Mac 都行。
这也就意味着在 Mac 本机用 Pytorch“炼丹”会更方便了!
训练速度可提升约 7 倍
此功能由 Pytorch 与 Apple 的 Metal 工程团队合作推出。它使用 Apple 的 Metal Performance Shaders (MPS) 作为 PyTorch 的后端来启用 GPU 加速训练。
为了优化计算性能,MPS 还针对 Metal GPU 系列的独特特性对每个内核进行了微调。
Metal 是一个类似 OpenGL 的框架,只不过 OpenGL 适用于各平台的移动端 GPU 渲染和计算,Metal 专用于 iOS / MacOS 平台,不过也兼顾了性能和易用性。
MPS 就是一套基于 Metal 框架的库,直接调用即可使用 GPU 的高性能进行图形处理、构建卷积神经网络等工作。
苹果官方在搭载了 M1 Ultra、20 核 CPU、64 核 GPU、128GB RAM 和 2TB SSD 的 Mac Studio 上进行了测试。(这阵容差不多能算是豪华配置了)。
他们分别训练了 batch size 为 128 的 ResNet50、batch size 为 64 的 HuggingFace BERT,以及 batch size=64 的 VGG16。
从下图中我们可以发现,相比使用 CPU 加速,使用 GPU 可将模型训练速度提高约 7 倍,评估(evaluation)速度则最高能提约 20 倍。
看到这儿,有网友开始好奇它与搭载了 Nvidia GPU 的 laptop 相比性能如何。
有人表示,虽说目前 M1 的原始计算性能比不上英伟达的产品,但功耗方面还不错。未来苹果很有可能慢慢追上性能。总的来说,Mac Studio 现在看起来实在太香了。
他进一步解释道:“毕竟它是你花 4800 美元就能买到的最便宜、包含 128GB GPU 内存的机器。现在有了基于 GPU 加速的 PyTorch 支持,完全可以用来训练大模型、配置大的 batch size。对于我所做的那种 DL 工作,数据加载比实际的原始计算能力更容易成为瓶颈。”
你心动了吗?现在就试试?
只需保证你的 macOS 操作系统在 12.3 版本及以上,且安装了 arm64 原生 Python,然后去官网下载最新的 Pytorch 预览版就可以了。
地址:
https://pytorch.org/blog/introducing-accelerated-pytorch-training-on-mac/
本文由LinkNemo爬虫[Echo]采集自[https://www.ithome.com/0/619/279.htm]