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

liftword5个月前 (01-14)技术文章64

丰色 发自 凹非寺

量子位 | 公众号 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

在Jupyter 中显示txt文件的内容:linux ---> !cat tmp.txtwindowx ---> !more tmp.txt安装 Anacondaconda --->...

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

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

安装python包时出现报错,报错代码File ""line 1

问题该错误属于SyntaxError错误,而引发SyntaxError错误的原因是,当系统的命令行在python解释器里面直接执行pip命令时,该命令会不被认为是有效的语法。(因为没有在python的...

AI成长之路python入门之递归函数1#学习

2024年12月6日AI成长之路Python入门,今天学习递归函数。同学们,这节课学习递归函数。递归函数是函数嵌套当中的一个特殊情况,就是在函数内调用自己的情况。所以递归函数有两个关键的因素,一个是函...

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

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

1万字详解 python logging日志模块

到日志,无论是写框架代码还是业务代码,都离不开日志的记录,他能给我们定位问题带来极大的帮助。记录日志最简单的方法就是在你想要记录的地方加上一句 print , 我相信无论是新手还是老鸟都经常这么干。在...