BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース PyTorch 1.1がリリース -パフォーマンスを改善し、新たなAPIとツールを提供

PyTorch 1.1がリリース -パフォーマンスを改善し、新たなAPIとツールを提供

ブックマーク

原文(投稿日:2019/05/07)へのリンク

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で公開されている。
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT