TOP > Software > Python用の機械学習フレームワーク「PyTorch」とは...
関連カテゴリー: Network
Python用の機械学習フレームワーク「PyTorch」とは?(前)
2022/05/31
本稿では、PyTorchの概略や、PyTorch 1.10の新機能、公式チュートリアルなどを取り上げる。

「PyTorch」はPython用のオープンソースの機械学習フレームワーク。調査研究用のプロトタイプ開発と本番環境用のどちらにも使われている。ソースコードリポジトリの説明文では、PyTorchの主な特徴として次の2つを挙げている。
- 強力なGPUアクセラレーションを活用したNumPy風のテンソル演算
- テープベースの自動微分システムを基盤とするディープニューラルネットワーク
PyTorchはもともと、スイスIdiap Research Institute、米ニューヨーク大学、米NEC Laboratories America、米Facebook、英Deepmind Technologiesで開発され、TorchとCaffe2の両プロジェクトを基にしていた。現在は活発なオープンソースコミュニティーに支えられている。2021年10月に登場したPyTorch 1.10には426人のコントリビューターからのコミットが反映され、リポジトリのスターの数は現在5万4000となっている。
PyTorchの進化
PyTorchが早い段階で学術関係者や研究者らから注目を集めた理由には、GPUを使用するモデルの開発がTensorFlowより扱いやすかった点がある。PyTorchは即時実行(Eager Execution)モードが標準で、計算グラフを動的に構築できる。後にTensorFlowも即時実行への対応を強化したが、学術関係者や研究者の間では引き続きPyTorchが広く使われている。
現在のPyTorchは本番環境での利用にも適しており、TorchScriptでのEagerモードとGraphモードの切り替えや、TorchServeを使ったデプロイの迅速化などを活用できる。torch.distributedでは、拡張性に優れた分散トレーニングやパフォーマンス最適化を研究環境や本番環境で実現できる。PyTorchはツールとライブラリーのエコシステムも充実しており、コンピュータービジョンや自然言語処理などの分野の開発にも対応する。
さらに、中国Alibaba GroupのAlibaba Cloudや米Amazon Web Services(AWS)、米GoogleのGoogle Cloud Platform(GCP)、米MicrosoftのAzureなど主要なクラウドプラットフォームもPyTorchをサポートしており、スムーズな開発やスケーリングを実現している。