WebDNN

About MIL WebDNN

Fastest DNN Execution Framework on Web Browser

Run Trained DNN Model on Web Browser

近年、ディープニューラルネットワーク(Deep neural network, DNN)が様々なタスクで著しい成果をあげ注目されていますが、 計算負荷の高さがアプリケーション応用の際の問題となっています。 ハードウェアアクセラレーションによる解決方法では、煩雑な計算環境セットアップ手順やハードウェアの価格等が問題となり、 ユーザーエンド端末に同様の環境を構築することは非常に困難です。

WebDNNはこの問題を解決するために作られた、ウェブブラウザを利用したインストールフリーなDNN実行環境です。 WebDNNにより、ウェブブラウザ上での実行を前提とした積極的な最適化が学習済みモデルに行われるため、 パラメータデータの配信サイズを小さく抑え、高速な実行が可能となります。既存のライブラリと比較して最大200倍の高速化が達成できます。

Inference-phase-specialized Optimization

DNNモデル計算グラフの最適化は、高速実行において非常に重要です。DNNの実行は学習フェーズと推論フェーズという、 2種類のフェーズに分けられます。学習フェーズでは学習に必要な中間データを保持しておく必要がありますが、推論フェーズでは これらのデータを保持しておく必要はありません。このように、推論フェーズに特化することでDNNフレームワークはより積極的な 計算グラフ最適化が可能となります。

WebDNNはユーザーエンドデバイスでの推論フェーズ実行に特化しており、学習済みモデルの積極的な最適化をサポートしています。 また、この最適化パイプラインは既存の様々なDNN学習フレームワークに対応しており、 学習に使用したソースコードを一切変更すること無く利用することができます。

Next Generation JavaScript API

JavaScriptで高速演算を行う上で、インタプリタ実行に起因するオーバーヘッドは深刻な問題となります。 この問題を解決するために、WebDNNはWebAssemblyで実装されたCPU演算バックエンドを提供しています。 このバックエンドは従来のJavaScriptと比較し、非常に小さなオーバーヘッドで実行することができます。

また、DNNの高速実行のためにはGPUの汎用目的での利用(GPGPU)が一般的となっていますが、 現状のJavaScript用GPU APIであるWebGLは画像処理用途に特化しており、汎用演算には適していませんでした。 WebDNNでは次世代のGPU API仕様であるWebGPUを利用し、GPUを利用した高速演算が可能となっています。 WebGPUは、GPUの汎用計算目的での利用を前提に設計されており、WebGLと比較してオーバーヘッドの少ない処理実行が可能となります。

引用:MIL WebDNN URL: https://mil-tokyo.github.io/webdnn/ja/
© 東京大学 情報理工学系研究科 知能機械情報学専攻 原田・牛久研究室

Possibility of WebDNN

近年のAI・ディープラーニングブームはとどまるところを知らず、従来人間でなければ不可能と思われてきた様々な課題をコンピュータがこなせるようになってきました。「写真に写っている人が誰なのか識別する」「喫茶店で流れている音楽の曲名を当てる」「人間とおしゃべりする」など、既に日常の様々な場所でAIは利用されています。今後もAIの利用分野はますます広がっていくと考えられ、AI関連産業の市場規模は2030年には日本国内だけでも100兆円に迫る勢いであると予想されています。

AI・ディープラーニングブームを支える重要な技術が「深層ニューラルネットワーク(DNN)」です。AIの利用分野の拡大に伴い、DNNを実行する計算機資源の需要もますます高まるものと予想されます。現在は1台の計算機の計算能力を高めること、及び大量の計算機をデータセンタに用意することで計算機資源の需要はまかなわれています。しかし、このような計算機は非常に高価でメンテナンス方法も複雑なため、DNNを利用したサービスは開発が難しいという問題がありました。

WebDNNはこれらの問題を解決します。

スマートフォンやノートパソコンなど、ユーザーが持てあましている計算資源を活用するため、開発者は計算機を用意する必要がありません。大量の計算機を用意することができない個人開発者や小規模スタートアップでも簡単にDNNを利用したサービスを開発できます。

スマートフォンやノートパソコンなど様々な計算機でDNNを高速に実行するには熟練した技術者によるソフトウェア開発が欠かせませんがWebDNNなら大部分を自動でおこなってくれます。「アイデアは面白いけど複雜でソフトウェアの実装が難しすぎる」と諦める必要はありません。

WebDNNは、DNN利用拡大のブレーキとなるであろう計算資源の問題を解決し、DNNを利用したサービスを誰でも簡単に開発・世界中のユーザーへ提供することを可能にする次世代技術なのです。