マイクロソフト、WebAssemblyとWebGLで推論エンジンを実装した「ONNX Runtime Web」(ORT Web)をオープンソースで公開
マイクロソフトは、WebAssemblyとWebGLで機械学習の推論エンジンを実装した「ONNX Runtime Web」(ORT Web)をオープンソースで公開しました。
INTRODUCING: #ONNXRuntime Web (ORT Web), a new feature in ONNX Runtime to enable JavaScript developers to run and deploy machine learning models in browsers https://t.co/Ey3tsNlkEe pic.twitter.com/9uGyK8Pra0
— onnxruntime (@onnxruntime) September 3, 2021
ONNX Runtimeの基になっている「ONNX Runtime」は、クロスプラットフォーム対応の推論エンジンです。TensorFlow、PyTorch、SciKit Learnなどをはじめとするさまざまな機械学習のモデルに対応し、これらで生成されたモデルによる推論処理をプラットフォームに依存せず実行するランタイムの役割を果たします。
今回発表されたORT WebはWebAssemblyとWebGLの特徴である高速な実行性能を活かし、Webブラウザ上で高速な推論処理を実行可能。これによりWebアプリケーション内に機械学習の推論処理を組み込みやすくなります。また、Node.jsでも実行可能です。
Webブラウザ対応のONNX RuntimeとしてはJavaScriptで実装されたonnx.jsがありますが、今回のORT Webはonnx.jsを置き換えるものとなり、onnx.jsはいずれ非推奨になる見通しと説明されています。
ORT WebはCPUとGPUの両方で高速化を実現
ORT Webは、CPUとGPUの両方で高速な処理を実現しています。下記は「ONNX Runtime Web—running your machine learning model in browser」から、その概要を説明した部分を引用しています。この記事の前半で紹介したツイート内の図と合わせてご覧下さい。
ORT Web accelerates model inference in the browser on both CPUs and GPUs, through WebAssembly (WASM) and WebGL backends separately. For CPU inference, ORT Web compiles the native ONNX Runtime CPU engine into the WASM backend by using Emscripten. WebGL is a popular standard for accessing GPU capabilities and adopted by ORT Web for achieving high performance on GPUs.
ORT Webは、WebAssembly(WASM)とWebGLバックエンドを通じて、CPUとGPUの両方でブラウザ内のモデル推論を個別に高速化しています。CPUでの推論では、ORT WebはEmscriptenを使用してネイティブのONNX Runtime CPUエンジンをWASMバックエンドにコンパイルします。WebGLはGPUにアクセスするための一般的な規格で、ORT WebではGPUでの高いパフォーマンスを実現するために採用しています。
ここで説明されているWebAssemblyによるCPUとGPUを用いたバックエンドの上に、アプリケーションとのインターフェイスとなるJavaScriptレイヤが載っています。
開発チームは今後さらなる高速化や機能追加を行っていくとのことです。
2024年3月追記:WebGPUをサポートしたONNIX Runtime Web登場
あわせて読みたい
ノーコード/ローコード開発ツールは情報シス部門とSIerの新たな関係を作り出す[PR]
≪前の記事
AWS、NetApp ONTAPのフルマネージドサービス「Amazon FSx for NetApp ONTAP」提供開始