PyTorch Foundationは5月13日(現地時間)、機械学習フレームワーク「PyTorch 2.12」をリリースした。
「PyTorch」は、Python向けのオープンソース機械学習フレームワーク。深層学習モデルの研究開発から本番環境での学習・推論などに利用されている。
「PyTorch 2.12」では、CUDAにおけるバッチ固有値分解の高速化、アクセラレータ横断のグラフAPI、量子化モデルのエクスポート対応、ROCm関連機能の強化などが行われている。
「PyTorch 2.12」のハイライトは次の通り。
〇CUDAにおけるバッチ固有値分解(linalg.eigh)を最大100倍高速化
〇アクセラレータ横断のグラフキャプチャ/リプレイAPI「torch.accelerator.Graph」を追加
〇torch.export.saveでMicroscaling(MX)量子化形式をサポート
〇Adagradで「fused=True」をサポート
〇torch.condによる制御フローをCUDA Graph内でキャプチャ可能に
〇ROCmでexpandable memory segments、rocSHMEM、FlexAttentionパイプライン化などに対応
〇Apple MPS向けにMetal 4の事前コンパイル済みシェーダを搭載
など。
CUDAにおけるバッチ固有値分解では、バックエンド選択が見直され、従来のMAGMAからcuSolverを利用する方式へ変更された。これにより、バッチ化された対称行列・エルミート行列の固有値問題で最大100倍の高速化が得られるという。
また、「torch.accelerator.Graph」は、CUDA、XPU、外部バックエンドにまたがるグラフキャプチャとリプレイを統一的に扱うための新しいAPI。バックエンド固有の実装を抽象化し、複数のアクセラレータ環境で一貫したAPIを提供する。
「PyTorch 2.12」は、公式サイトから入手できる。
リリースアナウンス
「PyTorch」は、Python向けのオープンソース機械学習フレームワーク。深層学習モデルの研究開発から本番環境での学習・推論などに利用されている。
「PyTorch 2.12」では、CUDAにおけるバッチ固有値分解の高速化、アクセラレータ横断のグラフAPI、量子化モデルのエクスポート対応、ROCm関連機能の強化などが行われている。
「PyTorch 2.12」のハイライトは次の通り。
〇CUDAにおけるバッチ固有値分解(linalg.eigh)を最大100倍高速化
〇アクセラレータ横断のグラフキャプチャ/リプレイAPI「torch.accelerator.Graph」を追加
〇torch.export.saveでMicroscaling(MX)量子化形式をサポート
〇Adagradで「fused=True」をサポート
〇torch.condによる制御フローをCUDA Graph内でキャプチャ可能に
〇ROCmでexpandable memory segments、rocSHMEM、FlexAttentionパイプライン化などに対応
〇Apple MPS向けにMetal 4の事前コンパイル済みシェーダを搭載
など。
CUDAにおけるバッチ固有値分解では、バックエンド選択が見直され、従来のMAGMAからcuSolverを利用する方式へ変更された。これにより、バッチ化された対称行列・エルミート行列の固有値問題で最大100倍の高速化が得られるという。
また、「torch.accelerator.Graph」は、CUDA、XPU、外部バックエンドにまたがるグラフキャプチャとリプレイを統一的に扱うための新しいAPI。バックエンド固有の実装を抽象化し、複数のアクセラレータ環境で一貫したAPIを提供する。
「PyTorch 2.12」は、公式サイトから入手できる。
(川原 龍人/びぎねっと)
[関連リンク]リリースアナウンス
