當前位置:
首頁 > 科技 > 東京大學MIL提出web瀏覽器上運行最快的DNN框架

東京大學MIL提出web瀏覽器上運行最快的DNN框架

近日,東京大學機器智能實驗室(MIL)提出了web瀏覽器上運行最快的DNN框架。

在Web瀏覽器上運行經過訓練的DNN模型

現如今,深度神經網路(DNN)在許多應用中得到越來越多的關注。然而,它需要大量的計算資源,而且設置基於執行環境的硬體加速,如GPGPU,也是一項浩大的工程。因此,為終端用戶提供DNN應用是非常困難的。而WebDNN通過使用Web瀏覽器作為無安裝的DNN執行框架可以解決這個問題。該框架優化了經過訓練的DNN模型,從而壓縮模型數據和加快執行速度,並且它使用新穎的JavaScript API(諸如WebAssembly和WebGPU)來執行,以實現零開銷(zero-overhead)執行。而實證評估也顯示,這種方法是可行的,其實現了超過200倍的加速。

特定推理階段優化

為了實現更快的執行這一目標,優化DNN模型的計算圖就顯得非常重要了。DNN的執行由訓練階段和推理階段兩個階段組成。訓練階段使用反向傳播技術更新參數。推理階段對實際任務進行預測(僅僅是正向傳播)。如果框架僅關注推理階段,那它就可以更積極地優化計算圖。

WebDNN僅關注終端用戶設備上推理階段的執行,並支持積極的優化。這種優化渠道可以應用於使用各種DNN框架進行訓練的模型,而不需要編輯訓練代碼。

下一代JavaScript API

JavaScript是由解釋器執行的。 因此,它需要計算開銷,除此之外,它還不能完全利用CPU的容量。在GPU中也是如此。現代Web瀏覽器是支持WebGL的,WebGL是一個使用GPU的JavaScript API。但是,該API專為圖形處理而設計的,並不適用於通用計算。此外,使用WebGL進行通用計算會產生間接成本。

而WebDNN使用下一代JavaScript API,用於GPU執行的WebGPU和用於CPU執行的WebAssembly。所有這些API都有助於顯示GPU和CPU的全部性能。

瀏覽器兼容性

WebDNN支持3個執行後端實現:WebGPU,WebAssembly和Fallback純JavaScript實現。通過使用這3個後端實現,WebDNN可以適用於所有主要的瀏覽器。

WebGPU後端

通過WebGPU API在GPU上進行計算。這個後端是3個後端中最快的,但目前WebGPU API僅支持於Safari Technology Preview中。

WebAssembly後端

通過WebAssembly API在CPU上進行計算。這個後端要比Keras.js的GPU模式快得多。通過與asm.js一起使用,這個後端可以適用於大多數現代瀏覽器。

Fallback後端

通過ECMAScript3在CPU進行計算。這個後端只是為了向後兼容,所以運行速度並不是那麼快。

瀏覽器兼容性表

示例:在Safari技術預覽中,默認情況下禁用WebGPUAPI。 要啟用API,請參閱菜單欄中的「Develop」>「ExperimentalFeatures」>「WebGPU」。

基準測試

我們測量了VGG16和ResNet50的執行時間。下圖顯示了與Keras.js進行對比的結果。每個圖像的計算時間以垂直軸顯示為對數刻度。所有的測試都是2015年初在Mac Book Pro運行的,其配置為:英特爾內核 i5 2.7 GHz CPU、16 GB內存、Intel Iris Graphics 6100 GPU、網路瀏覽器是SafariTechnology Preview 30。

神經風格遷移

這個示例運行神經風格遷移模型。神經風格遷移模型給出2個輸入圖像,一個是內容圖像,另一個是風格圖像。然後,該模型基於風格圖像的風格和內容圖像中的內容生成圖像。

我們使用的是A(https://github.com/yusuketomoto/chainer-fast-neuralstyle)中提供的chainer(https://github.com/pfnet/chainer)實現和B(https://github.com/gafr/chainer-fast-neuralstyle-models)中提供的預訓練模型。預訓練模型由GraphTranspiler轉換成圖形描述符,然後由DescriptorRunner執行。所有計算都是通過Web瀏覽器完成的,而不是由伺服器完成的。

ResNet50圖像分類

在這個例子中,你可以運行經ImageNet訓練後的ResNet50分類模型。這裡(https://github.com/KaimingHe/deep-residual-networks)提供了原始的預訓練模型。同樣,所有計算都是通過Web瀏覽器完成的,而不是由伺服器完成。

了解更多信息,請點擊https://mil-tokyo.github.io/webdnn/docs/

來源:MIL WebDNN


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器人圈 的精彩文章:

OpenAI:當AlphaGo應用於機器人領域是否戰無不勝?
照片著色還是個難題?基於貝葉斯優化的順序線搜索技術可輕鬆搞定
什麼是激活函數?有哪些類型?哪個更好用?別急,你要的都在這!
兒童節 那些時間穿梭機帶你去到童年的某一天
AI和Chatbots的這6種應用正在改變教育行業

TAG:機器人圈 |

您可能感興趣

微軟 Azure推出支持運行AI、HPC工作負載的NVIDIA GPU
首款運行在安卓手機上的SWITCH模擬器MONONX
ARM改進CPU和GPU:新晶元運行Windows更快
Google推出AI晶元Edge TPU,可在邊緣運行TensorFlow Lite機器學習模型
NASA公布OSIRIS-REx探測器圍繞Bennu運行拍到的新短片
TEAM-XECUTER推出運行盜版遊戲的SWITCH配件
重大突破!Switch模擬器「RyujiNX」已經可以運行遊戲
IHS Markit:蘋果或推出可摺疊iPad,運行iPad OS
首個在Loom Network上運行的DApp鏈
ARM改進CPU和GPU:Windows運行更快 能耗更低
在 Linux 中怎麼運行 MS-DOS 遊戲和程序
Debian riscv64版本進展迅速,九成軟體包可運行在RISC-V硬體上
外媒演示華為Mate X摺疊屏手機運行《PUBG Mobile》
ARM改進CPU和GPU:新晶元運行Windows更快 能耗更低
iPhone X和三星Note7官翻版運行速度大比拼
在Kubernetes上運行高可用的WordPress和MySQL
Lumia手機運行Windows RT達到新的里程碑
Ooui:在瀏覽器中運行.NET應用
混合雲利器:VMware 上可運行 AWS RDS 資料庫
「圖」採用Nokia N9造型 運行KaiOS的諾基亞新機即將上線