AWSがAIのフォーマットONNXに参入。GluonとONNXの違いは?
AWSがONNXに参入した
MicrosoftとFacebookが開発したONNXというニューラルネットワークの共通フォーマットに、AWSがApache MXNetで対応したことを発表しました。
www.atmarkit.co.jp
公式サイトのリファレンス
ONNXとは
ONNXはニューラルネットワークを記述するフォーマット(書式)を、各フレームワークで共通化するために開発されたオープンソースの共通フォーマットです。
ニューラルネットワークのフレームワークの開発は、様々な企業やオープンソースのコミュニティで盛んですが、それぞれのフレームワークで共通のニューラルネットワークの表現方法が異なるため相互運用するためには、それぞれのフォーマットに書き直す必要がありました。
ONNXを使えば、書き直す手間を軽減することができ、相互運用によるフレームワークの比較をすることが容易になります。
ONNXとGluonの違い
少し前に僕は、AWSとMicrosoftが共同で、人工知能のAPIを作成したという記事を書きました。
『Gluon』MicrosoftとAWSが人工知能を共同開発 - zirconsoft’s blog
なのでどちらもMicrosoftとAWSが共同でというところで、既視感を感じました。
しかしONNXとGluonはかなり違うものみたいです。
ONNXはニューラルネットワークの記述方式の共通化のためのフォーマット。
Gluonはニューラルネットワークをフレームワークを超えて利用するためのAPI。
なので、ONNXでは実際に書くフレームワークは異なり、GluonだとGluonだけで済むという感じだと思います。
ONNXの方は広く浅く、Gluonの方は狭く深くという感じですかね。
Googleはどうするか
TensorFlowを開発したGoogleがどう出るかが気になりますね。
Microsoft、Facebookと組むのかそれとも独走するのか。
TensorFlowが正式に対応したらGluonにしてもONNXにしてもかなり広まる気がします。
ちなみにONNXは純粋な対応ではありませんが、TensorFlow用のコンバーターを公開してるみたいです。
おそらくGoogleもすでに水面下での協議はしてると思うので今後が楽しみです。