異なるディープラーニングフレームワーク間でモデルの相互運用を図る「ONNX(Open Neural Network Exchange Format) 」プロジェクトですが、この度ブラウザ、JavaScriptで動かせるONNX.jsが誕生しました。
ONNX(Open Neural Network Exchange Format) とは?
これまでは、各フレームワークで使われるAIが学習したデータ形式(学習済みモデル)が異なるため、同じAIを使いまわしたい場合もフレームワークごとにデータを変換する必要がありました。それを解決しようというのがONNXプロジェクト。
ONNXプロジェクトは、MicrosoftとFacebookによる共同プロジェクトとして発足。その後日本のPreferrd Networksのフレームワーク「Chainer」もジョインするなど、注目を集めました。
何がすごいのか?
これまで、AIをブラウザで動かせる方法としては、Tensorflowが「Tensorflow.js」といった形で個別に対応しているぐらいでした。今回、ONNXがJSで動かせるようになったということは……
- Facebook「PyTorch」
- Preferred Networks「Chainer」
- Microsoft「Cognitive Toolkit」
- Microsoft 「Azure Custom Vision」で作成したモデル
- SONYの「Neural Network Libraries」「Neural Network Console」
- Google「Tensorflow」
といった、あらゆるフレームワークやサービスで開発したAIが、まとめてブラウザで動かせるようになったということ。Webサービスにディープラーニングを組み込むことが劇的に容易になったといえます。このインパクトはかなり大きいのではないでしょうか。
ONNX.jsはgithubで公開されています。ぜひ試してみてください。