阿里開源深度神經網路推理引擎 MNN

dicksonjyl560101發表於2019-05-09


  2019-05-09 11:25:34
[程式設計工具]阿里開源深度神經網路推理引擎 MNN

近日,阿里正式開源了輕量級深度學習端側推理引擎 “MNN”。

MNN 是一個 輕量級的深度學習端側推理引擎 ,核心解決深度神經網路模型在端側推理執行問題,涵蓋深度神經網路模型的最佳化、轉換和推理。

官方希望 MNN 能夠抹平 Android 和 iOS 的差異、碎片裝置之間的差異、不同訓練框架的差異,實現快速的在端側部署執行,並且能夠根據業務模型進行 OP 靈活新增和 CPU/GPU 等異構裝置深入效能最佳化。

[程式設計工具]阿里開源深度神經網路推理引擎 MNN

△ MNN 架構設計,分為 Converter 和 Interpreter 兩部分

具體來說,MNN 負責載入網路模型,推理預測返回相關結果。整個推理過程可以分為模型的載入解析、計算圖的排程、在異構後端上高效執行。MNN 具備四大特徵:

  • 通用性: 支援 Tensorflow、Caffe、ONNX 等主流模型檔案格式,支援 CNN、RNN、GAN 等常用網路;
  • 輕量性: 針對端側裝置特點深度定製和裁剪,無任何依賴,可以方便地部署到移動裝置和各種嵌入式裝置中。
  • 高效能: 不依賴任何第三方計算庫,依靠大量手寫彙編實現核心運算,充分發揮ARM CPU的算力。
  • 易用性: 具備完善的文件和例項,有高效的影像處理模組,覆蓋常見的形變、轉換等需求。支援回撥機制,方便提取資料或者控制執行走向。

關於 MNN 的優勢,已入職阿里的 AI 科學家賈揚清評價道:

與 Tensorflow、Caffe2 等同時覆蓋訓練和推理的通用框架相比,MNN 更注重在推理時的加速和最佳化,解決在模型部署的階段的效率問題,從而在移動端更高效地實現模型背後的業務。

這意味著 MNN 和伺服器端 TensorRT 等推理引擎的想法相符合。在大規模機器學習應用中,考慮到大規模的模型部署,機器學習的推理側計算量往往是訓練側計算量的十倍以上,所以推理側的最佳化尤其重要。

[程式設計工具]阿里開源深度神經網路推理引擎 MNN

△ MNN 與 Caffe2 等框架進行效能比較,有 20% 以上優勢

目前,MNN已經在手淘、手貓、優酷、聚划算、UC等 20 多個 App 中使用,覆蓋直播、短影片、搜尋推薦、商品影像搜尋等場景,每天穩定執行上億次。此外,IoT 等場景下也有若干應用。 官方計劃每兩個月釋出一個穩定版本。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2643792/,如需轉載,請註明出處,否則將追究法律責任。

相關文章