FacebookとMicrosoftが今朝(米国時間9/7)、互いのブログ記事で、ONNX、すなわちOpen Neural Network Exchangeというものを発表した。機械学習のデベロッパーはこのツールを使って、PyTorchとCaffe2のあいだでモデルを互いに変換し、研究開発や実装に要する時間を節約できる。
Facebookは前から、機械学習に関してFAIRとAMLという二つのグループを区別している。Facebook AI ResearchすなわちFAIRは最先端の研究開発を担当し、Applied Machine Learning, AMLはさまざまなプロダクトにインテリジェンスを実装する。
この両者は、使用するディープラーニングフレームワークも異なる。FAIRはPyTorchを使い慣れているが、こちらはリソースの制約がないコンピューティング環境でもっとも高度な研究開発の成果を追究する。
しかしユーザーのスマートフォンやコンピューターには能力の制約が当然あるから、実装役のAMLは、リソースを有効利用できるよう最適化されているCaffe2を使う。とくにその実装系のCaffe2Goは、非力なモバイルデバイスの上で機械学習のモデルを使えるよう、最適化されているCaffe2だ。
FacebookとMicrosoftが今日発表したツールを使うと、PyTorchのモデルとCaffe2のモデルを互いに容易に変換できる。二つのフレームワークを容易に行き来できることにより、 研究の伝播を広く早くし、また商用化の過程もスピードアップできる。
しかしながら、すべての企業がPyTorch/Caffe2のペアを使っているわけではない。TensorFLowベースの研究はきわめて多いし、そのほかの重要なフレームワークも使われている。また機械学習の商用化のレベルでは、モデルを特定のデバイスに最適化されたフォーマットに容易に変換するための研究開発も行われている。
たとえばAppleのCoreMLは、ごく限られた数のモデルを変換できる。しかし現時点でCoreMLはTensorFlowすらサポートしていないし、コンバーターの自作はかなり難しそうだ。GoogleやAppleが、特定のハードウェア向けの、機械学習フレームワークの最適化をもっとサポートするようになると、今度はそれらの相互運用性が課題になってくる。
Open Neural Network Exchangeは、Githubのここでリリースされている。