MicrosoftとFacebook、AIモデルの相互運用性を実現する共同プロジェクト「ONNX」を発表:ディープラーニングフレームワーク間で共通のモデル表現が可能に
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は、拡張可能な計算グラフモデルの定義と、ビルトインされた演算子および標準データ型の定義を提供する。当初は推論(評価)に必要な機能に重点が置かれる
- 各計算データフローグラフは、非巡回グラフを形成するノードのリストとして構造化される。ノードは1つ以上の入力と1つ以上の出力を持つ。各ノードは演算子の呼び出しである。またグラフは、目的や作成者などの文書化に役立つメタデータも持つ
- 演算子はグラフに対して外部的に実装されるが、ビルトイン演算子セットはフレームワーク間でポータブルである。ONNXをサポートするフレームワークは全て、適切なデータ型を扱うこれらの演算子の実装を提供する
ONNXは、コードとドキュメントの初期バージョンがGitHubで公開された。
今後はこれを出発点として、コミュニティーの参加を得て開発を進めていく計画。Microsoftは、Cognitive Toolkitの次リリースでONNXをサポートする他、Facebookと共同で参照実装、サンプル、ツール、モデルを開発し、提供していくという。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Caffeで画像解析を始めるための基礎知識とインストール、基本的な使い方
最近注目を浴びることが多くなった「Deep Learning」と、それを用いた画像に関する施策周りの実装・事例について、リクルートグループにおける実際の開発経験を基に解説していく連載。今回は、画像解析における物体認識、Convolutional Neural Netの概要に加え、Caffeの環境構築の仕方や基本的な使い方を解説する。 - 「TensorFlowより高性能」なディープラーニングツールキット「CNTK」
米マイクロソフトリサーチが深層学習(ディープラーニング)ツールキットをオープンソースで公開。グーグルのTensorFlowよりもGPU性能を引き出せるという。 - IBM POWER8対応ディープラーニング開発ツール群「IBM PowerAI」が「TensorFlow」フレームワークをサポート
IBMのディープラーニング開発ツール群「IBM PowerAI」がグーグルの「TensorFlow」フレームワークをサポートした。 - インテルとPFN、ディープラーニング向けOSSフレームワーク「Chainer」の開発で協業
米インテルとPreferred Networksは、ニューラルネットワーク向けフレームワーク「Chainer」の開発で協業する。インテルアーキテクチャ向けにChainerを最適化する。 - USBスティックでディープラーニングを実現 Intelが新製品「Movidius Neural Compute Stick」をリリース
Intelは、スティック型のディープラーニング推論キット兼AIアクセラレータ「Movidius Neural Compute Stick」をリリース。USB接続でディープニューラルネットワーク処理機能を追加できる。