マイクロソフト、WebAssemblyとWebGLで推論エンジンを実装した「ONNX Runtime Web」(ORT Web)をオープンソースで公開

2021年9月6日

マイクロソフトは、WebAssemblyとWebGLで機械学習の推論エンジンを実装した「ONNX Runtime Web」(ORT Web)をオープンソースで公開しました。

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レイヤが載っています。

開発チームは今後さらなる高速化や機能追加を行っていくとのことです。

このエントリーをはてなブックマークに追加
follow us in feedly




カテゴリ

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed


最新記事10本