深度学习系列50:苹果m1芯片加速pytorch(代码片段)

IE06 IE06     2022-10-27     535

关键词:

1. 介绍

Apple的Metal Performance Shaders(MPS)作为PyTorch的后端来加速GPU训练。MPS后端扩展了PyTorch框架,提供了在Mac上设置和运行操作的脚本和功能。MPS通过针对每个Metal GPU系列的独特特性进行微调的内核来优化计算性能。新设备将机器学习计算图和原语映射到MPS提供的MPS Graph框架和优化内核上。
目前pytorch加速版本还是preview状态,安装命令如下:

conda install pytorch torchvision torchaudio -c pytorch-nightly

使用方式很简单,to(‘mps:0’)即可转入MPS进行计算。
下面使用m1 pro 16-core gpu进行测试。

2. pytorch测试1

import torch
img = torch.randn(64, 10, 64, 64)
dev = 'mps:0'
img_dev = img.to(dev)
conv = torch.nn.Conv2d(10,10,3).to(dev)
%timeit conv(img_dev)

dev = 'cpu'
conv = torch.nn.Conv2d(10,10,3).to(dev)
%timeit conv(img)

结果:

439 µs ± 1.15 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)
10.6 ms ± 43.4 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

m1的性能是cpu的20倍左右。

3. pytorch测试2

参考
https://github.com/rasbt/machine-learning-notes/tree/main/benchmark/pytorch-m1-gpu

lenet-mnist:

# cpu
Time / epoch without evaluation: 0.19 min
Epoch: 001/001 | Train: 97.32% | Validation: 97.77% | Best Validation (Ep. 001): 97.77%
Time elapsed: 0.27 min
Total Training Time: 0.27 min
Test accuracy 97.41%
Total Time: 0.29 min

# m1
Time / epoch without evaluation: 0.12 min
Epoch: 001/001 | Train: 97.32% | Validation: 97.77% | Best Validation (Ep. 001): 97.77%
Time elapsed: 0.18 min
Total Training Time: 0.18 min
Test accuracy 97.40%
Total Time: 0.20 min

mlp-minst:

# cpu
Epoch: 001/001 | Train: 91.43% | Validation: 93.38% | Best Validation (Ep. 001): 93.38%
Time elapsed: 0.10 min
Total Training Time: 0.10 min
Test accuracy 91.99%
Total Time: 0.12 min

# m1
Time / epoch without evaluation: 0.06 min
Epoch: 001/001 | Train: 91.67% | Validation: 93.42% | Best Validation (Ep. 001): 93.42%
Time elapsed: 0.11 min
Total Training Time: 0.11 min
Test accuracy 92.20%
Total Time: 0.13 min

vgg16-cifar10

# cpu
Epoch: 001/001 | Batch 0000/1406 | Loss: 2.5735
2022-08-29 18:48:19
Epoch: 001/001 | Batch 0100/1406 | Loss: 2.2132
2022-08-29 19:01:51
Epoch: 001/001 | Batch 0200/1406 | Loss: 2.0938
2022-08-29 19:15:27
Epoch: 001/001 | Batch 0300/1406 | Loss: 2.0561
2022-08-29 19:29:19

# m1
Epoch: 001/001 | Batch 0000/1406 | Loss: 2.6674
2022-08-29 17:58:05
Epoch: 001/001 | Batch 0100/1406 | Loss: 3.2263
2022-08-29 18:00:52
Epoch: 001/001 | Batch 0200/1406 | Loss: 2.2019
2022-08-29 18:03:29
Epoch: 001/001 | Batch 0300/1406 | Loss: 2.2948
2022-08-29 18:06:07

300个batch,cpu用时41min,mps用时8min

深度学习系列50:苹果m1芯片加速pytorch(代码片段)

1.介绍Apple的MetalPerformanceShaders(MPS)作为PyTorch的后端来加速GPU训练。MPS后端扩展了PyTorch框架,提供了在Mac上设置和运行操作的脚本和功能。MPS通过针对每个MetalGPU系列的独特特性进行微调的内核来优化计算性能。新... 查看详情

pytorch1.12发布,正式支持苹果m1芯片gpu加速,修复众多bug

...Python学习,选择加星标精彩内容不迷路机器之心报道PyTorch1.12正式发布,还没有更新的小伙伴可以更新了。距离PyTorch1.11推出没几个月,PyTorch1.12就来了!此版本由1.11版本以来的3124多次commits组成,由433位贡献... 查看详情

pytorch1.12发布,正式支持苹果m1芯片gpu加速,修复众多bug

...Python学习,选择加星标精彩内容不迷路机器之心报道PyTorch1.12正式发布,还没有更新的小伙伴可以更新了。距离PyTorch1.11推出没几个月,PyTorch1.12就来了!此版本由1.11版本以来的3124多次commits组成,由433位贡献... 查看详情

pytorch实现苹果m1芯片gpu加速:训练速度提升7倍,性能最高提升21倍

...编|张红月出品|CSDN(ID:CSDNnews)5月18日,PyTorch官网宣布,通过与Apple的Metal工程团队合作,目前已可以支持在搭载M1芯片的Mac上使用GPU加速PyTorch训练。而在此之前,在Mac上进行PyTorch训练仅能利用CPU。但... 查看详情

pytorch宣布支持苹果m1芯片gpu加速!训练快6倍,推理提升21倍!(代码片段)

点击上方“迈微AI研习社”,选择“星标★”公众号重磅干货,第一时间送达转载自:机器之心|编辑:泽南、蛋酱对于Mac用户来说,这是令人激动的一天。今年3月,苹果发布了其自研M1芯片的最终型号M1Ultr... 查看详情

深度学习-pytorch框架实战系列

深度学习-PyTorch框架实战系列PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch。它是一个基于Python的可续计算包,提供两个高级功能... 查看详情

『开发技巧』macbookm1芯片深度学习环境配置最全教程:简明安装开发tensorflow与pytorch(代码片段)

文章开始书写时间:2022-03/19-14:300x00​:引子最近云哥@吃货本货问小宋(笔者)如何在Apple的M1芯片进行深度学习开发,恰逢最近M1开发生态都趋于稳定,就把安装步骤梳理下分享出来。​0x01:分析... 查看详情

『开发技巧』macbookm1芯片深度学习环境配置最全教程:简明安装开发tensorflow与pytorch(代码片段)

文章开始书写时间:2022-03/19-14:300x00​:引子最近云哥@吃货本货问小宋(笔者)如何在Apple的M1芯片进行深度学习开发,恰逢最近M1开发生态都趋于稳定,就把安装步骤梳理下分享出来。​0x01:分析... 查看详情

『开发技巧』macbookm1芯片深度学习环境配置最全教程:简明安装开发tensorflow与pytorch(代码片段)

...0c;最新深度学习框架依赖。深度学习框架:TensorFlow与PyTorch,这里安装两个最流行的框架,读者们按照自己需求安装就好。配置环境其实有点像打游戏,需要不断通过升级。下面就需要针对这几个因素逐个击破ÿ... 查看详情

提升5-7倍速,使用macm1芯片加速pytorch完全指南(代码片段)

2022年5月,PyTorch官方宣布已正式支持在M1芯片版本的Mac上进行模型加速。官方对比数据显示,和CPU相比,M1上炼丹速度平均可加速7倍。哇哦,不用单独配个GPU也能加速这么多,我迫不及待地搞到一个M1芯片的MacB... 查看详情

配置pytorch(gpu)分析环境(代码片段)

Pytorch是目前最火的深度学习框架之一,另一个是TensorFlow。不过我之前一直用到是CPU版本,几个月前买了一台3070Ti的笔记本(是的,我在40系显卡出来的时候,买了30系,这确实一言难尽),同时我... 查看详情

pytorch深度学习50篇·······第一篇:认识深度学习

上一篇文章已经交给大家深度学习中的卷积是如何卷的,我的总结就是对应位置相乘在相加,最后加上bias。如果说怎么卷是小学三年级的知识,那我们今天就来说点小学六年级的知识,今天主要还是对上次那个动... 查看详情

pytorch深度学习60分钟快速入门part0:系列介绍

 说明:本系列教程翻译自PyTorch官方教程《DeepLearningwithPyTorch:A60MinuteBlitz》 教程目标在高层次上理解PyTorch的Tensor库和神经网络训练一个小型的神经网络来分类图像前提条件假设读者熟悉基础的NumPy库确保已经安装了torch和t... 查看详情

pytorch2如何通过算子融合和cpu/gpu代码生成加速深度学习(代码片段)

动动发财的小手,点个赞吧!PyTorch中用于图形捕获、中间表示、运算符融合以及优化的C++动动发财的小手,点个赞吧!PyTorch中用于图形捕获、中间表示、运算符融合以及优化的C++和GPU代码生成的深度学习编译器技术入门计算机... 查看详情

pytorch深度学习项目实战100例——基于lenet5实现交通标志分类任务|第50例

前言大家好,我是阿光。本专栏整理了《PyTorch深度学习项目实战100例》,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集。正在更新中~✨ 查看详情

苹果发布新款m1芯片,安卓阵营被碾压,只能无奈哀叹

苹果发布了新款M系列芯片,性能较M1最高提升70%,已超越Intel的处理器,对安卓处理器更是碾压,可谓地球最强的PC处理器。苹果这次发布了两款芯片,分别是M1Pro和M1max,均由台积电以5nm工艺生产,M1Pro... 查看详情

pytorch学习笔记3.深度学习基础(代码片段)

...多分类22.全连接层23.激活函数与GPU加速24.测试根据龙良曲Pytorch学习视频整理,视频链接:【计算机-AI】PyTorch学这个就够了!(好课推荐)深度学习与PyTorch入门实战——主讲人龙 查看详情

pytorch深度学习50篇·······第二篇:人脸识别

人脸识别预告!!!!!!!!各位亲爱的朋友们,今天这篇文章只是一个预告,为人脸识别做一点铺垫,包括提供需要安装的包和两个权重文件。这次我们人脸识别之旅分为两个阶段... 查看详情