炼丹速度×7!你的Mac电脑也能在PyTorch训练中用GPU加速了

liftword6个月前 (01-14)技术文章86

丰色 发自 凹非寺

量子位 | 公众号 QbitAI

一直以来,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/

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

相关文章

Python教程:第1篇 Python语言零基础从入门到高阶教程综述

目录前言本教程适合您吗?版权声明教程预告前言您好!欢迎您阅读本系列教程的第一篇文章。本教程是笔者准备写的系统化的、深入浅出的Python零基础从入门到高阶教程。零基础是指您可以没有任何编程经验,高阶是...

Python编程第1课,认识IDLE,编写保存运行第1个程序

你为什么想学Python呢?简单?易学?还是为了跟风?大陈学它,起初完全是跟风,说实在话,写这篇文章的时候,我还没找到充足的理由告诉你,为什么不去学C、C++、VB、Java等,而一定要学Python...

AI成长之路python入门之内置函数1#每天学习一点点

2024年12月14日,AI成长之路Python入门,今天学习内置函数。同学们,这节课开始学习内置函数。Python的内置函数就是指Python自带的函数。·比如举两个例子,一个是绝对值函数ABS-5...

设计模式:Python实现笔记1

基本语法Python是一种动态语言,定义变量时不需要在前面加类型说明,而且不同类型之间可以方便地相互转换。Python有五个标准的数据类型:(1)Numbers(数字) (2)String(字符串)(...

Python常用算法(1)(原理+代码)——最全总结

算法就是为了解决某一个问题而采取的具体有效的操作步骤算法的复杂度,表示代码的运行效率,用一个大写的O加括号来表示,比如O(1),O(n)认为算法的复杂度是渐进的,即对于一个大小为n的输入,如果他的运算...

是时候学习Web开发了,1小时用Python开发一个博客系统

来源:麦叔编程作者:麦2叔开发一个包含数据库的简单网站系统是Web开发入门的最好方式。Flask是Python最热门的两个Web框架之一,是最简单易用,容易上手的框架。本系列使用Python的Flas...