zirconsoft’s blog

Microsoft関係について取り上げます。

AWSがAIのフォーマットONNXに参入。GluonとONNXの違いは?

AWSがONNXに参入した

MicrosoftFacebookが開発したONNXというニューラルネットワークの共通フォーマットに、AWSApache MXNetで対応したことを発表しました。
www.atmarkit.co.jp

ONNXに対応するAIツール一覧

(2017年11月21日)

公式サイトのリファレンス

ONNX - Supported Tools

ONNXとは

ONNXはニューラルネットワークを記述するフォーマット(書式)を、各フレームワークで共通化するために開発されたオープンソースの共通フォーマットです。
ニューラルネットワークフレームワークの開発は、様々な企業やオープンソースのコミュニティで盛んですが、それぞれのフレームワークで共通のニューラルネットワークの表現方法が異なるため相互運用するためには、それぞれのフォーマットに書き直す必要がありました。
ONNXを使えば、書き直す手間を軽減することができ、相互運用によるフレームワークの比較をすることが容易になります。

ONNXとGluonの違い

少し前に僕は、AWSMicrosoftが共同で、人工知能APIを作成したという記事を書きました。
『Gluon』MicrosoftとAWSが人工知能を共同開発 - zirconsoft’s blog
なのでどちらもMicrosoftAWSが共同でというところで、既視感を感じました。
しかしONNXとGluonはかなり違うものみたいです。
ONNXはニューラルネットワークの記述方式の共通化のためのフォーマット。
Gluonはニューラルネットワークフレームワークを超えて利用するためのAPI
なので、ONNXでは実際に書くフレームワークは異なり、GluonだとGluonだけで済むという感じだと思います。
ONNXの方は広く浅く、Gluonの方は狭く深くという感じですかね。

Googleはどうするか

TensorFlowを開発したGoogleがどう出るかが気になりますね。
MicrosoftFacebookと組むのかそれとも独走するのか。
TensorFlowが正式に対応したらGluonにしてもONNXにしてもかなり広まる気がします。
ちなみにONNXは純粋な対応ではありませんが、TensorFlow用のコンバーターを公開してるみたいです。
おそらくGoogleもすでに水面下での協議はしてると思うので今後が楽しみです。

Note

人工知能についてまた取り上げましたが、僕自身は人工知能の仕組みについてはあまり詳しくないので、詳しい友人にも意見を聞いてみたいと思います。