PyTorch 2.0が公開 – CPUとGPUのパフォーマンスが大幅に向上

masapoco
投稿日
2023年3月16日 10:25
pytorch

数ヶ月のプレビュー期間を経て、PyTorch 2.0がPyTorch Foundationにより一般公開された。

オープンソースのPyTorchプロジェクトは、機械学習(ML)トレーニングのために最も広く使用されている技術の1つだ。もともとはFacebook(現Meta)が始めたPyTorch 1.0は2018年に登場し、数年にわたる段階的な改良の恩恵を受けている。

2022年9月、よりオープンなガバナンスを可能にし、より多くのコラボレーションと貢献を促すために、PyTorch Foundationが設立された。この努力は実を結び、2022年12月にPyTorch 2.0のベータ版がプレビューされた

PyTorch 2.0では、何よりもパフォーマンスが重視されている。実際、主要な新機能の1つにAccelerated Transformers(以前はBetter Transformersとして知られていた)がある。これは現代の大規模言語モデル(LLM)や生成AIの中核をなすもので、モデルが異なる概念間の接続を行うことを可能にする。

PyTorch 2.0では、メインAPIとしてtorch/compileを採用し、NVIDIAとAMDのGPUを搭載したTorchInductorでは、深層学習コンパイラをOpenAI Tritonに依存し、バックエンドのMetal Performance Shadersは、GPUアクセラレーションによるpyTorch on macOS、AWS Graviton CPUでの推論性能向上とその他様々な新しい試作機能・技術が採用されている。また、CPUの高速化のために、GNNの推論とトレーニングのいくつかの「重要な」最適化、およびIntel oneDNN Graphの活用によるCPUパフォーマンスの高速化が行われている。

「我々は、この次世代PyTorchシリーズにおける大幅な性能強化に特に期待しており、PyTorchの未来を形作るために、より大きなイノベーションで開発者を支援します」と、PyTorch Foundationの執行役員、Ibrahim Haddad氏はVentureBeatに書面で声明を発表している。

主な更新内容は以下の通りだ。

  • torch.compile は PyTorch 2.0 のメイン API で、モデルをラップしてコンパイルしたモデルを返します。これは完全に付加的な(そしてオプションの)機能であり、それゆえ2.0は定義上100%後方互換性があります。
  • torch.compileの基盤技術として、NVIDIAとAMDのGPUを搭載したTorchInductorは、OpenAI Triton深層学習コンパイラに依存して、パフォーマンスの高いコードを生成し、低レベルのハードウェア詳細を隠蔽します。OpenAI Tritonが生成するカーネルは、手書きのカーネルやcublasなどの特殊なcudaライブラリと同等の性能を達成します。
  • Accelerated Transformersは、scaled dot product attention(SPDA)用のカスタムカーネルアーキテクチャを使用して、学習と推論のための高性能サポートを導入しています。このAPIはtorch.compile()に統合されており、モデル開発者は新しいscaled_dot_product_attention()演算子を呼び出して、スケールドドットプロダクトアテンションカーネルを直接使用することもできます。
  • Metal Performance Shaders (MPS)バックエンドは、MacプラットフォームでGPUアクセラレーションによるPyTorchトレーニングを提供し、最も使用されているトップ60のオペレーションのサポートを追加し、300以上のオペレーションのカバレッジを実現しました。
  • Amazon AWSは、AWS Graviton3ベースのC7gインスタンスにおけるPyTorchのCPU推論を最適化します。PyTorch 2.0では、Resnet50やBertの改良を含め、Gravitonでの推論性能が以前のリリースと比較して向上しています。
  • TensorParallel、DTensor、2D parallel、TorchDynamo、AOTAutograd、PrimTorch、TorchInductorにわたる新しいプロトタイプ機能および技術。

PyTorch 2.0はMLをどう加速させるか?

PyTorchプロジェクトの目標は、最先端のトランスフォーマーモデルのトレーニングや展開をより簡単かつ迅速に行うことだ。

トランスフォーマーは、GPT-3(および現在のGPT-4)などのOpenAIのモデルを含む、現代のジェネレーティブAIの時代を実現するのに貢献した基礎的な技術だ。PyTorch 2.0 accelerated transformersでは、scaled dot product attention (SPDA)として知られるアプローチのためのカスタムカーネルアーキテクチャを使用して、学習と推論のための高性能なサポートが得られる。

トランスフォーマーをサポートできるハードウェアの種類は複数あるため、PyTorch 2.0は複数のSDPAカスタムカーネルをサポートすることが出来る。さらに、PyTorchはカスタムカーネル選択ロジックを統合し、与えられたモデルやハードウェアタイプに対して最高性能のカーネルを選択することが可能だ。

この高速化によって、開発者は以前のPyTorchよりも高速にモデルを学習できるようになり、その影響は計り知れないものがあるだろう。

「たった1行のコードを追加するだけで、PyTorch 2.0はTransformersモデルのトレーニングに1.5xから2.xのスピードアップを与えてくれます。これは、混合精度トレーニングが導入されて以来、最もエキサイティングなことです!」と、HuggingFace transformersのプライマリメンテナ、Sylvain Gugger氏はプレスリリースで述べている。


Source



この記事が面白かったら是非シェアをお願いします!


  • mutiverse
    次の記事

    もし宇宙がいくつもあるならば、我々の宇宙と同じ宇宙が存在する可能性は極めて低い

    2023年3月16日 10:56
  • 前の記事

    Bingチャットが開放され、誰でも試せるようになった

    2023年3月16日 6:46
    bing chatgpt 1920x1080 Hero
この記事を書いた人
masapoco

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


おすすめ記事

  • openai

    OpenAI、15秒の音声サンプルから感情豊かで自然な音声を合成できる「Voice Engine」を発表

  • a04c35e8e555c1cc7ae1d6a5f3159856

    MicrosoftとOpenAI、1000億ドル以上をかけて超人的AI開発のためのスーパーコンピューター「Stargate」を開発する計画

  • Sam Altman TechCrunch SF 2019 Day 2 Oct 3 cropped cropped

    ベンチャーキャピタリスト、OpenAIのSam Altman氏を“誇大妄想的”と非難

  • google logo image

    Googleが非営利団体を対象に2000万ドルの資金を提供し生成AI活用を支援

  • Pixel 8 in Rose.max 936x936.format webp

    Google、方針を転換しPixel 8にもGemini NanoによるオンデバイスAI機能を搭載へ

今読まれている記事