MicrosoftとFacebookが、AIモデルの相互運用性を実現するオープンソースプロジェクト「ONNX(Open Neural Network Exchange)」を共同開発したと発表。GitHubで公開した。
MicrosoftとFacebookは2017年9月7日(米国時間)、異なるディープラーニングフレームワーク間でAI(Artificial Intelligence:人工知能)モデルの相互運用性を実現する共同プロジェクト「ONNX(Open Neural Network Exchange)」を発表した。
ONNXは、Microsoftのディープラーニングツールキット「Cognitive Toolkit(旧称CNTK)」をはじめ、オープンソースのディープラーニングフレームワークである「Caffe2」「PyTorch」などをサポートする。
ディープラーニングフレームワークは、ニューラルネットワークを表現する計算グラフの作成、実行を容易にするインタフェースを開発者に提供する。それぞれのフレームワークはその点で機能的には似ている。しかし、それぞれ固有のフォーマットでこうしたグラフを表現することからAIモデルに互換性はなく、異なるフレームワークで使うにはAIモデルの変換処理などが必要だった。
Microsoftは、ONNXには以下2点の大きなメリットがあると説明している。
開発者は使用するフレームワークを簡単に切り替えられ、当面のタスクに最適なツールを選べるようになる。
各フレームワークには独自の特性がある。例えば、高速に訓練できる、柔軟なネットワークアーキテクチャをサポートしている、モバイルデバイスでの推論に適しているなどだ。
しかし多くの場合、研究開発段階と本番環境で「最も重要」とする特性は異なる。最適なフレームワークを使わない(使えない)ことは、効率の悪化につながる。別のフレームワークを使うためのAIモデルの変換処理にもかなりの時間を要する。
この点、ONNXで実現するフレームワークならば、AIモデルを相互に簡単に切り替えられる。アジリティ(俊敏性)の向上に大きく寄与するはずだ。
ニューラルネットワークのパフォーマンスを高めるために最適化を行うハードウェアベンダーも多い。最適化は大抵の場合、個々のニューラルネットワークごとに行う必要があり、そのために時間もかかるが、ONNXをターゲットにすれば、一度に複数のフレームワークを対象にして最適化できるようになる。
Microsoftは、こうしたメリットを持つONNXの技術的な仕組みを次のように解説している。
ONNXは、コードとドキュメントの初期バージョンがGitHubで公開された。
今後はこれを出発点として、コミュニティーの参加を得て開発を進めていく計画。Microsoftは、Cognitive Toolkitの次リリースでONNXをサポートする他、Facebookと共同で参照実装、サンプル、ツール、モデルを開発し、提供していくという。
Copyright © ITmedia, Inc. All Rights Reserved.