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、新たなアリババとテンセント

インターネット時代の恩恵が徐々に薄れていくにつれ、プレイヤーは次の発展のトレンドを求めて模索と実践を...

ダブル12の「ショッピングシーズン」、これらの家庭用ロボットはあなたが「ひっくり返す」のを待っています

11 月 11 日が過ぎ、12 月 12 日の「ショッピング シーズン」が再び到来しました。 202...

...

IoTの未来が機械学習に依存する理由

モノのインターネットは膨大な量のデータを生成します。そのデータは、都市が事故や犯罪を予測するのに役立...

...

ロボット介護は人間に比べて高齢者にとって負担が少ない?

最近、浙江省金華市のある家族の監視ビデオがインターネット上で話題になった。動画の全長は3分15秒。こ...

...

映画はヒットできるでしょうか?機械学習を使用して正確な予測を行う

映画データベース (TMDB) は映画データ用の API を提供し、ユーザーはこのデータベースからデ...

Facebook の科学者: アルゴリズム モデルにジャンク データを入力するのはやめてください...

「人は食べたものでできている。私たちはモデルにジャンクフードを与えている」とフェイスブックのAI研...

ルカン氏は再び冷や水を浴びせる: 本を読むことしかできない言語モデルが「人間のような知性」を達成することは決してないだろう

昨年のChatGPTのリリース以来、業界内外で大規模言語モデルへの熱狂が巻き起こり、Googleの社...

...

Googleがこれまでで最も強力なAIモデル「Gemini」を発表

グーグルは水曜日、AIを収益化する方法に対する回答を求める圧力が高まる中、同社がこれまでで最も強力だ...

ベクトルデータベースは AI をどのように改善するのでしょうか?

翻訳者 |ブガッティレビュー | Chonglou事前トレーニング済みのAIモデルがすぐに利用できる...

Google、イスラエルの交差点にAI信号機を設置

2021年最後の法定休日に別れを告げ、皆が仕事に戻り、仕事帰りの通勤のリズムが戻りました。北京、上海...