Facebook AI ResearchがPyTorch 1.1のリリースを発表した。このオープンソースのディープラーニングフレームワークの最新版では、分散トレーニング、新API、TensorBoardのネイティブサポートを含む新たな視覚化ツール、などによってパフォーマンスが向上している。
先日のブログ記事で、Facebookの開発チームは、フレームワークの改良点をいくつか紹介した。そのリストの最初にあったのは、 TensorFlowフレームワークの一部としてGoogleが開発したディープラーニング視覚化ツールである、TensorBoardをサポートしたことだ。TensorFlowは現在、ディープラーニング開発者の間では、PyTorchよりも人気の高い選択肢である。Googleのプラットフォームのアドバンテージとなっているのが、TensorBoardによる視覚化機能だ。TensorBoardと新たに統合することで、その差を埋めることができる。
JITコンパイラと分散トレーニングの改善も挙げられている。分散トレーニングが改善されて、PyTorchモデルを複数のGPUに分割してトレーニングすることが可能になった。これによって開発者は、単一のGPUのメモリに収めるには大き過ぎるモデルを構築した場合でも、トレーニング時間を短縮するためにGPUを利用できるようになる。これもTensorFlowがリードしている分野のひとつだ。
JITコンパイラでは、ネイティブのC ++ライブラリを使用して、"モバイルやIoTなどのさまざまな運用環境"で実行可能な形式でPyTorchモデルをエクスポートすることが可能になった。JITコンパイラの改善には、新たなデータ型とユーザ定義クラスのサポートも含まれてる。これらによって開発者は、実行時のパフォーマンス向上を維持しながら、より複雑なモデルコードを作成することができる。
もうひとつの新機能は、 マルチヘッドアテンション(multi-headed attention)を実装したモジュールだ。これは、言語翻訳などの逐次学習タスクにおいて、リカレントニューラルネットワーク(Recurrent Neural Networks, RNN)に匹敵する結果を達成する、新しいディープニューラルネットワークアーキテクチャである。アテンションネットワークは再帰(recursion)を含まないので、短時間でのトレーニングが可能となる。
ユーザは特に注目しているのは、パフォーマンスの向上である。いくつかのPyTorchモジュールが書き直され、一部のケースについては、最大30倍のスピードアップを達成している。Hacker Newのコメンタのひとりが、次のように述べている。
`nn.BatchNorm`のCPU推論の高速化は、私たちにとってBig Deal™です。
新リリースには新しいツール以外に、"Googleなど業界リーダとの[Facebookの]パートナシップによるプロダクトやサービス"も含まれている。Googleとのそのようなコラボレーションのひとつが、Google Cloud PlatformでホストされているJupyterLabのサービスである、GoogleのAI Platform NotebooksにPyTorchの最新版が含まれたことだ。
新たに提供される2つのオープンソースツールであるAxとBoTorchは、マシンラーニングハイパーパラメータの最適化、インフラストラクチャの効率向上、ビデオ再生の最適化など、Facebook社内のさまざまなタスクで使用されているものだ。いずれのツールもMITライセンス下でリリースされているが、これは、従来のオープンソースライセンス戦略から一歩踏み出したものだ、とコメントされている。
PyTorch 1.1の完全なリリースノートとソースコードは、GitHubで公開されている。