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万枚以上の古い写真を識別できる顔認識プログラムを開発

推薦する

XLNet の作者と AMiner のコア開発者が協力し、AI でエンタープライズ セールスを強化

[元記事は51CTO.comより] 近年、多くのインターネット企業がデータ、テクノロジー、AI、組織...

スマートな薬箱が登場したが、その背後にあるAIの能力を過小評価してはならない

薬を買うとき、自動販売機のように、セルフサービス機で直接注文して、必要なときにすぐに受け取ることはで...

...

...

トランスフォーマーの簡易版がここにあります、ネットユーザー:今年の論文

Transformer アーキテクチャは、ディープラーニング分野における最近の多くの成功の原動力であ...

人工知能の実用化を加速させるには

人工知能と機械学習ソリューションは、今日、さまざまな業界の組織で一般的になりつつあります。組織が A...

...

...

ヘルスケアにおけるAIの加速

[[407769]]ヘルスケア業界における人工知能の活用AI技術が進歩するにつれて、その応用も拡大し...

...

AI主導のサイバーセキュリティチームが人間の能力拡張に取り組む

サイバー脅威の範囲は、企業資産や選挙から健康データや物理インフラまで拡大しており、新興技術の予期せぬ...

2019 年の AI、セキュリティ、IT 運用、IoT に関する主な予測

次の技術変化が始まる前に、将来の発展の方向を予測・判断し、技術変化に伴う可能性のある困難を軽減する必...

世界中のロボットが1つの脳を共有する、Google DeepMindが第一歩を踏み出した

過去 1 年間、生成型人工知能の開発におけるキーワードは「ビッグ」でした。強化学習の先駆者であるリッ...

上場企業上位500社を調査し、人工知能の7つの主要トレンドをまとめました。

近年、人工知能技術の研究が継続的に進歩するにつれて、資本は熱い傾向を示し、さまざまな業界が人工知能に...

未来のあなたは「透明」です!コンピューターは人間の脳信号から思考を予測し、最大83%の精度で人間の脳画像を復元します。

最近、ヘルシンキ大学の研究者らは、脳信号を監視することでコンピューターが視覚知覚をシミュレートできる...