Python向けの機械学習ライブラリであるPyTorchの開発チームは、最新バージョンである「PyTorch 2.4」を7月24日(現地時間)にリリースした。
PyTorch 2.4におけるベータ版としては、torch.compile()におけるPython 3.12を使用したモデル最適化への対応や、CPUでAOTInductorを使用する際にフリーズフラグをオンにできるようになり、AOTInductorでInductor CPPバックエンドと同じオペレーションシナリオセットをカバーして、同等のパフォーマンスの実現を可能にする機能が追加されている。
あわせて、Pythonの組み込み演算子のように動作するカスタム演算子を使用して、PyTorchを拡張することが容易になる高レベルPythonカスタム演算子APIの追加や、初期化時間を大幅に短縮してスケーラビリティを向上する、TCPStore用の新たなデフォルトサーババックエンドとなるlibuvの導入が行われた。
プロトタイプ機能としては、dim-0パラメータごとのシャーディングを使用してFSDP1のフラットパラメータシャーディングの課題を解決するFSDP2、および一般的なモデルでパイプライン並列処理を簡単に実装できるtorch.distributed.pipeliningが追加されたほか、Linux上で動作しているPyTorchにおいて、Intel GPUがIntel Data Center GPU Maxシリーズの基本機能である、Eager Modeとtorch.compileを提供するようになっている。
パフォーマンスの改善につながる修正としては、AWS Graviton(aarch64-linux)プロセッサ向けのPyTorch torch.compile機能の最適化、TorchInductorにおけるBF16シンボリックシェイプの最適化、CPUデバイスを活用したSegment Anything FastおよびDiffusion Fastプロジェクトのパフォーマンス最適化が行われた。
- 関連リンク
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です