錬金速度7倍!Mac を GPU で高速化して PyTorch トレーニングを行うこともできます

 
  

上の「 Xiaobai Learning Vision 」をクリックし、「スター」または「トップ」を追加することを選択します。

重磅干货,第一时间送达

ソース | Qubit (QbitAI)

編集 | 鳳世、オーフェイ寺院出身

長い間、Pytorch は Mac でのトレーニング用の CPU のみをサポートしていました。

たった今、Pytorch は、最新バージョン v1.12 がGPU アクセラレーションをサポートできることを正式に発表しました。

M1 シリーズチップを搭載したMacならどれでも使えます。

855b277f8e94e8586c0d3a23ec594cc5.png

これは、Mac 上で Pytorch を使用して「錬金術」を行う方がより便利になることも意味します。

トレーニング速度を約7倍に高めることが可能

この機能は、Apple の金属エンジニアリング チームと協力して Pytorch によって導入されました。

Apple のMetal Performance Shaders (MPS) を PyTorch のバックエンドとして使用し、GPU アクセラレーションによるトレーニングを可能にします。

コンピューティング パフォーマンスを最適化するために、MPS は Metal GPU ファミリの独自の特性に合わせて各コアも微調整します。

Metal は OpenGL に似たフレームワークですが、OpenGL はさまざまなプラットフォームでのモバイル GPU レンダリングとコンピューティングに適しており、Metal は iOS/MacOS プラットフォーム専用である点が異なりますが、パフォーマンスと使いやすさも考慮されています。

MPS は、Metal フレームワークに基づく一連のライブラリであり、グラフィックス処理と畳み込みニューラル ネットワークの構築に GPU の高性能を使用するために直接呼び出すことができます。

330be572549882091d4a79aaa6e2a5dc.png

Appleは、M1 Ultra、20コアCPU、64コアGPU、128GB RAM、2TB SSDを搭載したMac Studioで正式にテストしました。

(このラインナップはほとんど贅沢な構成と言えるでしょう)。

ResNet50 はバッチ サイズ 128 で、 HuggingFace BERT はバッチ サイズ 64 で、 VGG16 はバッチ サイズ = 64 でトレーニングされました

以下の図から、CPU アクセラレーションを使用する場合と比較して、GPU を使用するとモデルの学習速度が約 7 倍、評価速度が最大約 20 倍向上することがわかります。

bdf2cb301683c15db8a5f987645a887d.gif

これを見て、一部のネチズンは、Nvidia GPU を搭載したラップトップと比較してパフォーマンスがどうなのか疑問に思い始めました。

15d53a77cd7d58a5609c9cd0c6dacd20.png

M1 の現在の生のコンピューティング性能は Nvidia の製品ほど良くないが、消費電力は悪くないと言う人もいます。今後、Appleは徐々に業績を追い上げていくことになるだろう。

全体的に見て、Mac Studio は現時点では非常に優れているようです

彼はさらに次のように説明しました。

「結局のところ、これは128GB の GPU メモリを搭載し、4,800 ドルで購入できる最も安価なマシンです。現在、GPU アクセラレーションによる PyTorch のサポートにより、大規模なモデルのトレーニングや大規模なバッチ サイズの構成に使用できます。

私が行っている種類の DL 作業では、実際のコンピューティング能力よりもデータの読み込みがボトルネックになる可能性が高くなります。

3cdb4e333a62151bf270643b18e5178e.png

気にしていますか?

やってみよう?

macOS オペレーティング システムがバージョン 12.3 以降であり、arm64 ネイティブ Python がインストールされていることを確認してから、公式 Web サイトにアクセスして最新の Pytorch プレビュー バージョンをダウンロードしてください。

efd0dfac23c19ccf4f0d23d65fed8f0a.png

アドレス:
https://pytorch.org/blog/introducing-accelerated-pytorch-training-on-mac/

—終わり— _ _

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。


下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。


下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。


交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

おすすめ

転載: blog.csdn.net/qq_42722197/article/details/131238564