BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース PyTorch 2.0コンパイラによるモデル学習速度の向上

PyTorch 2.0コンパイラによるモデル学習速度の向上

PyTorch Foundationは100%後方互換のアップデートであるPyTorch version 2.0をリリースした。今回のリリースの目玉、ディープラーニングモデルのコンパイル機能ではトレーニングのスピードアップを実現しており、163個のオープンソースAIプロジェクトにおけるベンチマークではトレーニング中のモデルの動作が平均43%高速化されたことが示された。

2.0リリースの計画は、2022年12月のPyTorch Conferenceで発表された。このリリースには、新しいコンパイル機能の他にも、scaled dot product attention (SDPA) 関数の導入による、LLMやdiffusionなどのTransformerベースのモデルの性能向上も含まれている。Appleシリコン上でのトレーニングは、改良されたMetal Performance Shaders (MPS)によって加速され、現在では300個の演算がMPSで実装されている。コアリリースに加えTorchAudio、TorchVision、TorchTextなどの個別ライブラリが新しいベータ機能で更新された。本リリースには1.13.1リリース以降から数えると、428人の開発者から4,500以上のコミットによる貢献を経ている。

PyTorch Foundationブログは次のように発信している。

2022/12/2のPyTorch Conferenceで紹介したPyTorch®2.0のリリースを発表できることを嬉しく思います!PyTorch 2.0は、Eager-Modeによる開発とユーザー体験はそのままに、PyTorchのコンパイラレベルでの動作を根本的に変え、高速化し、Dynamic ShapesとDistributedをサポートするようになりました。

PyTorchの共同開発者であるSoumith Chintala氏は、PyTorch Conference 2022の基調講演で、GPU計算能力の向上により、既存のPyTorchワークロードの多くがメモリ帯域幅やPyTorchフレームのオーバーヘッドによって制約を受けていると指摘した。PyTorchチームはこれまで、コアコンポーネントの一部をC++で記述することでパフォーマンスの問題に対処してきた。Chintala氏はPyTorchを「基本的にC++コードベース」と表現し、C++コンポーネントへの貢献は「嫌い」であると述べている。

新しいコンパイル機能は、Python製の4つのコンポーネントに基づいている。

  • TorchDynamo : ディープラーニングモデルを表すPythonコードを計算グラフのブロックに書き換えることでグラフ取得を実行。
  • AOTAutograd : バックプロップステップのための差分先読みを自動実行。
  • PrimTorch : 2000個以上のPyTorchの演算子を約250個のプリミティブな演算子に正規化。
  • TorchInductor : アクセラレータのハードウェアに特化したバックエンドコードを高速に生成。

コンパイル機能の性能向上と使いやすさを実証するために、PyTorchチームはベンチマークとして163個のオープンソースのディープラーニングプロジェクトを定めた。これらのプロジェクトは、コンピュータビジョン、自然言語処理、強化学習など、さまざまな用途を目的としている。チームはコンパイル関数を呼び出す1行だけのコード変更を加えた。そしてこのたった1行の変更が93%のプロジェクトで機能し、コンパイルされたモデルは、NVIDIA A100 GPUで43%速く動作したのである。

Hacker Newsのリリースに関する議論で、とあるユーザーがこう述べている。

PyTorchと他のフレームワークの比較から学んだ大きな教訓は、生産性は性能の向上より優先されるということだ。CaffeもMXNetも高速であることを売りにしていたが、どうやらここが何%速くても、それほど重要ではないことがわかった。一方、一度システムを成功させ、それを普及させれば、競合他社が期待するよりも早く、コミュニティが性能差を縮めてくれるであろうということ。もう1つの教訓は、古くさいかもしれないが、何度も言うに値する。つまりオープンソースプロジェクトには、投資と専門的なブラッシュアップが[重要]ってことだ。

PyTorchのコードバージョン2.0リリースノートは、GitHubに公開されている。

作者について

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT