AMD ROCmをサポートした「PyTorch 1.8」 が公開

 PyTorch開発チームは3月4日、オープンソースの機械学習フレームワークの最新版「PyTorch 1.8」公開を発表した。AMD ROCmのサポート、パイプライン並列処理のベータ導入などが加わっている。

 PyTorchは、GPUアクセラレーションを用いてTensor計算ができるPythonパッケージ。NumPy、SciPy、Cythonなどを再利用して拡張できる。米Facebookが開発し、2018年にオープンソースとして公開した。PyTorch 1.8は、2020年10月に公開されたバージョン1.7に続く最新の安定版。1.7公開以来、3000以上のコミットがあったという。

 torch.fxを使ったPython to Pythonの関数型変換をサポートした(ベータ扱い)。transform(input_module : nn.Module)からnn.Moduleへの変換を作成でき、nn.Module位インスタンスをコンシューム/生成することから、既存のPyTorchワークフローで使うことができるとしている。

 科学計算のサポートを強化する方針の下、FFT(高速フーリエ変換)のサポートを改善するtorch.fftを導入した。NumPyのnp.fftモジュールと同じ機能を実装すると同時に、ハードウェアのアクセラレーションとautograd(自動微分)のサポートを加えたものという。APIではこのほか、NumPyのnp.linalgモジュールを踏襲する線形代数関数のtorch.linalgのベータ導入なども加わっている。

 分散トレーニングも強化した。非同期のerror/timeout処理が安定扱いとなり、NCCLの信頼性を強化した。また、伝統的なDistributedDataParallel(DDP)の単一GPUという制限を克服するため、新たにパイプライン並列処理機能をベータ導入した。トレーニングループの一部としてPyTorch APIを使うことができるという。ハードウェア側では、AMD ROCmのサポートが加わった。

 PyTorch 1.8はプロジェクトのWebサイトより入手できる。

PyTorch
https://pytorch.org