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

ブログ    

推薦する

悪意のあるハッカーが生成AIを武器化している

研究結果をブログのネタとして使うことに慣れていないのですが、次の点に注目しました。Vulcan Cy...

アダムとイブ: ディープラーニングの問題を解決するための強力なツール

[[242433]] [51CTO.com クイック翻訳] 近年、ディープラーニングの波がインターネ...

上位 10 の古典的なソート アルゴリズムの詳細な説明: シェル ソート、マージ ソート、クイック ソート

[[378304]]上位 10 の古典的なソート アルゴリズム - シェル ソート、マージ ソート、...

AIのジレンマをどう解決するか?

今日の大手企業が AI におけるいくつかの大きな課題をどのように克服しているか。概要:多くの企業はビ...

インテリジェント チャットボットを自分で開発するための完全ガイド (完全なソース コード付き)

1. はじめに人工知能の時代において、独自のインテリジェントな質問応答ロボットを開発することは、一...

人工知能は政治的安全保障と密接に関係している

習総書記は「人工知能の発展における潜在的リスクの評価と予防を強化し、国民の利益と国家の安全を守り、人...

「激怒」するビッグモデルがレコメンデーションシステムと衝突したとき

ChatGPTに代表される大規模モデル技術の急速な発展により、レコメンデーションシステムは革命的な変...

2020年のディープラーニングに必要なGPUは?48Gのビデオメモリが推奨

ご存知のとおり、現在業界で最も強力な (SOTA) ディープラーニング モデルは、膨大な量のビデオ ...

法律教育ロボット「ダニウ」が潼南で任務に就き、一般市民に無料の法律サービスを提供

[[373347]]最近、法律相談ロボット「ダニウ」が潼南区公共サービス法律センターで正式に運用され...

人工知能に関する10のよくある質問への回答

人工知能は今世紀の主要な話題の一つです。 AI の能力と無限の可能性は、多くの興味深い会話や議論を生...

IT リーダーが避けるべき 6 つの生成 AI の危険性

多くの場合、さまざまな組織がさまざまな方法で生成 AI テクノロジーを適用しますが、それがもたらす悪...

旅行を恥ずかしがる必要はありません。国内の観光地がAIを導入し、スマートな旅行の新たなシナリオを実現

旅行に出かけることは、祖国の美しい川や山を鑑賞し、「詩と遠い場所」を追求することです。 AIの助けに...

人間と機械のコラボレーションが顧客に力を与え、インテリジェントな顧客サービスが企業のマーケティング環境を一変させています。

「ロボットはアフターサービスにしか適していません。」 「ロボットはどのようにして人手によるマーケテ...