PyTorch 1.12 がリリース、Apple M1 チップ GPU アクセラレーションを正式にサポート、多くのバグを修正

PyTorch 1.12 がリリース、Apple M1 チップ GPU アクセラレーションを正式にサポート、多くのバグを修正

​PyTorch 1.12 が正式にリリースされました。まだアップデートしていない方は今すぐアップデートしてください。

PyTorch 1.11 のリリースからわずか数か月後、PyTorch 1.12 が登場しました。このバージョンは、バージョン 1.11 以降の 433 人の貢献者による 3124 件のコミットで構成されています。バージョン 1.12 では大幅な改善が行われ、多くのバグが修正されました。

新しいバージョンのリリースに伴い、最も話題になっているのは、PyTorch 1.12 が Apple M1 チップをサポートしているということかもしれません。​

実際、今年 5 月には、PyTorch の担当者は、Mac の M1 バージョンで GPU アクセラレーションによる PyTorch 機械学習モデルのトレーニングを正式にサポートすると発表していました。これまで、Mac での PyTorch トレーニングでは CPU しか利用できませんでしたが、PyTorch 1.12 のリリースにより、開発者や研究者は Apple GPU を使用してモデル トレーニングを大幅に高速化できるようになりました。

Mac での高速 PyTorch トレーニングの導入

PyTorch GPU トレーニング アクセラレーションは、バックエンドとして Apple Metal Performance Shaders (MPS) を使用して実現されます。 MPS バックエンドは PyTorch フレームワークを拡張し、Mac 上で操作を設定および実行するためのスクリプトと関数を提供します。 MPS は、各 Metal GPU ファミリの固有の特性に合わせて微調整されたカーネル機能を使用して、コンピューティング パフォーマンスを最適化します。新しいデバイスは、機械学習の計算グラフとプリミティブを MPS Graph フレームワークと MPS によって提供される調整されたカーネルにマッピングします。

Apple が独自に開発したチップを搭載したすべての Mac には統合メモリ アーキテクチャが搭載されており、GPU が完全なメモリ ストレージに直接アクセスできます。 PyTorch の担当者は、これにより Mac は機械学習に最適なプラットフォームとなり、ユーザーはより大きなネットワークやバッチ サイズをローカルでトレーニングできるようになると述べています。これにより、クラウドベースの開発に関連するコストや、追加のローカル GPU コンピューティング能力の必要性が削減されます。統合メモリ アーキテクチャにより、データ取得の待ち時間も短縮され、エンドツーエンドのパフォーマンスも向上します。

ご覧のとおり、GPU アクセラレーションにより、CPU ベースラインと比較してトレーニング パフォーマンスが数倍向上します。

GPUサポートにより、トレーニングと評価の速度がCPUを上回る

上の写真は、Apple M1 Ultra(20コアCPU、64コアGPU)、128GBのメモリ、2TBのSSDを搭載したMac Studioシステムを使用して、Appleが2022年4月に実施したテストの結果です。テスト対象モデルは、ResNet50 (バッチ サイズ = 128)、HuggingFace BERT (バッチ サイズ = 64)、VGG16 (バッチ サイズ = 64) です。パフォーマンス テストは特定のコンピュータ システムを使用して実施され、Mac Studio のおおよそのパフォーマンスを反映します。

PyTorch 1.12 のその他の新機能

フロントエンド API: TorchArrow

PyTorch は、ユーザーが試用できる新しいベータ版 TorchArrow を正式にリリースしました。バッチデータ処理を可能にする機械学習前処理ライブラリです。高いパフォーマンスと Pandas スタイルを組み合わせ、ユーザーの前処理ワークフローと開発を高速化する使いやすい API を備えています。

(ベータ) PyTorch の Complex32 と複素畳み込み

現在、PyTorch は、複素数、複素自動階乗、複素モジュール、および多数の複素演算 (線形代数と高速フーリエ変換) をネイティブにサポートしています。複素数は、torchaudio や ESPNet などの多くのライブラリですでに使用されており、PyTorch 1.12 では、複素畳み込みと、半精度 FFT 演算をサポートする実験的な complex32 データ型によって複素数機能がさらに拡張されています。 CUDA 11.3 パッケージのバグのため、複素数を使用する場合は、CUDA 11.6 パッケージを使用することが公式に推奨されています。

(ベータ) フォワードモード自動微分

フォワードモード AD では、フォワードパスで方向微分 (または同等のヤコビアン ベクトル積) を計算できます。 PyTorch 1.12 では、フォワードモード AD の範囲が大幅に改善されました。

より良いトランスフォーマー

PyTorch は、複数の CPU および GPU 高速パス実装 (BetterTransformer)、つまり、TransformerEncoder、TransformerEncoderLayer、および MultiHeadAttention (MHA) 実装を含む Transformer エンコーダー モジュールをサポートするようになりました。新しいバージョンの BetterTransformer では、モデルと入力機能に応じて、多くの一般的なシナリオで最大 2 倍の速度を実現しました。新しい API は、以前の PyTorch Transformer API との互換性をサポートしており、高速パス実行要件を満たしている場合は既存のモデルを高速化し、以前のバージョンの PyTorch でトレーニングされたモデルを読み取ります。 さらに、新しいバージョンにはいくつかの更新が含まれています。

  • モジュール: モジュラー コンピューティングの新しいベータ機能は、機能 API です。この新しい functional_call() API により、ユーザーはモジュール計算で使用されるパラメータを完全に制御できるようになります。
  • TorchData: DataPipe は DataLoader との互換性が向上しました。 PyTorch は AWS SDK に基づく DataPipes をサポートするようになりました。 DataLoader2 は、DataPipes と他の API およびバックエンド間の相互作用を管理する方法として導入されました。
  • nvFuser: nvFuser は、CUDA デバイスにコンパイルするための新しい、より高速なデフォルトのフューザーです。
  • 行列乗算の精度: デフォルトでは、float32 データ型の行列乗算は完全精度モードで動作するようになりました。これは速度は遅くなりますが、より一貫した結果を生成します。
  • Bfloat16: 精度の低いデータ型の計算時間を短縮するため、1.12 では Bfloat16 データ型に新たな改善が加えられました。
  • FSDP API: バージョン 1.11 でプロトタイプとしてリリースされた FSDP API は、バージョン 1.12 のリリースでベータ版となり、いくつかの改善が加えられました。

詳細については、https://pytorch.org/blog/pytorch-1.12-released/ をご覧ください。

<<:  マイクロソフト、物議を醸す顔認識機能を廃止へ

>>:  虐殺後に行方不明になった親族をAIで探す! Googleのエンジニアが第二次世界大戦の70万枚以上の古い写真を識別できる顔認識プログラムを開発

ブログ    
ブログ    

推薦する

Baidu Apollo がインテリジェント時代のモバイル空間「Apollo II」を正式に開始

2021年8月5日、百度アポロの新世代自動運転ミニバス「アポロII」が広州市黄埔で正式に公開されまし...

効果はGen-2を超えます! Byte の最新ビデオ生成モデルは、一文でハルクに VR メガネをかけさせます

一言で言えば、ハルクに VR メガネをかけさせるのです。 4K品質。パンダのファンタジーの旅これは、...

機械学習による分類とその応用を理解するための図

機械学習は主に教師あり学習、教師なし学習、強化学習に分けられます。ただし、各手法の適用分野はそれぞれ...

NetEase Cloud Musicのリアルタイムデータウェアハウスガバナンス最適化の実践

1. 現状と問題点1. 現状と問題点Cloud Music データ ウェアハウス プラットフォームは...

インテリジェントな仮想アシスタントが2022年に生産性を2倍にする方法

翻訳者 | 張野貴校正 | 孫淑娟 良策インテリジェント仮想アシスタント市場の洞察インテリジェント ...

...

生成AIビッグモデルが人類の進化に与える影響

日々の仕事は ChatGPT などの言語生成モデルと切り離せないものだと思いますか? Midjour...

...

2021 年の人工知能の最新動向を示す 15 のグラフ

2021年AIインデックスレポートは、スタンフォード大学の人間中心AI研究所と、ハーバード大学、経済...

AI アルゴリズムがハードウェアを置き換えることは可能でしょうか?

Googleは2021年末にPixel 6シリーズの携帯電話をリリースした際、携帯電話に心拍数モニ...

「AI+医療」の強力な発展の勢いが医療革命を引き起こしている

「AI+ヘルスケア」は現在最も注目されている人工知能の応用シナリオの1つであり、人工知能技術は医療・...

人工知能に特化したAIハッカーが近々登場すると予想

最近、ある問題を発見しました:映画でも現実でも、人工知能AIは人間を圧倒するような形で世間の前に現れ...

...