分類
當鋪金融

阿里開源首個移動AI項目:淘寶同款推理引擎

淘寶上用的移動AI技術,你也可以用在自己的產品中了。

日前,阿里巴巴宣布,開源自家輕量級的深度神經網絡推理引擎MNN(Mobile Neural Network),用於在智能手機、IoT設備等端側加載深度神經網絡模型,進行推理預測。

這是阿里開源的首個移動AI項目,已經用於阿裏手機淘寶、手機天貓、優酷等20多個應用之中。覆蓋直播、短視頻、搜索推薦、商品圖像搜索、互動營銷、權益發放、安全風控等場景。在IoT等移動設備場景下,也有若干應用。

阿里表示,在iOS、Android的CPU、GPU性能上,MNN已經普遍領先業界。

他們選擇深度神經網絡模型MobileNet V2和SqueezeNet V1.1進行了測試。

Android方面以小米6為例,MobileNet V2上耗費時間約為27毫秒,SqueezeNet V1.1上耗費約為25毫秒,領先業界至少30%;

iOS方面以iPhone 7為例,MobileNet V2上耗費時間約為15毫秒,SqueezeNet V1.1上耗費約為14.8毫秒,領先業界至少15%。

淘寶端智能無線技術專家離青說,MNN開源之後,每隔兩個月都會進行一次更新,發布經過淘寶應用驗證的版本。

MNN的兩大功能與四大特點

基於淘寶和達摩院的研究成果,阿里巴巴在2017年10月正式組建了MNN團隊。

經過淘寶技術部、搜索工程團隊、達摩院團隊、優酷等各方力量的打磨,以及雙11和集五福等重大業務項目的考驗,在離青看來,MNN已經是一個成熟的推理引擎了。

現在,MNN可以提供模型轉換和計算推理兩部分功能。

模型轉換部分幫助開發者兼容不同的訓練框架。

當前,MNN已經支持Tensorflow(Lite)、Caffe和ONNX,PyTorch/MXNet的模型可先轉為ONNX模型再轉到MNN。而且,也能通過算子融合、算子替代、布局調整等方式優化圖。

計算推理部分致力於高效完成推理計算。

為了更好地完成對模型的加載、計算圖的調度,以及各計算設備下的內存分配、Op實現等任務。

他們在MNN中應用了多種優化方案,包括在卷積和反卷積中應用Winograd算法、在矩陣乘法中應用Strassen算法、低精度計算、多線程優化、內存復用、異構計算等。

△MNN架構設計

離青介紹稱,在這樣的架構設計下,MNN具備了以下的四大特點:

輕量性:針對端側設備特點深度定製和裁剪,無任何依賴,可以方便地部署到移動設備和各種嵌入式設備中。

通用性:支持Tensorflow、Caffe、ONNX等主流模型文件格式,支持CNN、RNN、GAN等常用網絡。

高性能:不依賴任何第三方計算庫,依靠大量手寫彙編實現核心運算,充分發揮ARM CPU的算力。比如,在iOS設備上,可以開啟GPU加速(Metal),常用模型上快於蘋果原生的CoreML。

易用性:有高效的圖像處理模塊,覆蓋常見的形變、轉換等需求,一般情況下,無需額外引入libyuv或opencv庫處理圖像。

MNN不僅支持回調機制,可以在網絡運行中插入回調,提取數據或者控制運行走向;還支持只運行網絡中的一部分,或者指定CPU和GPU間并行運行。

離青介紹,這一項目的核心目標,就是進一步降低開發工程師和算法工程師在移動環境中使用深度學習技術的門檻。

這樣的一個引擎,應用到實際中是什麼樣的情況呢?

這裡有一個淘寶的例子——

手機淘寶春節活動:掃年貨,集五福

2019年春節期間,淘寶通過掃年貨的方式加入到了阿里“集五福”活動之中。

具體的使用場景是,通過掃一掃商品識別能力,來識別紅色年貨,並分析照片中有年貨的概率,根據概率來發放相關權益。

首先,為了掃描年貨,淘寶在服務端用百萬張年貨圖片訓練出了一個可以鑒別年貨的深度神經網絡模型。

接下來,就需要MNN發揮作用了。

用戶通過相機掃描年貨時,淘寶會獲取相機中的照片數據。然後,對照片做預處理,包括圖片的縮放、顏色空間的轉換等。

離青說,掃年貨是一個基於相機的應用場景,使用雲端AI會消耗用戶大量的流量去傳輸逐幀照片、服務端的計算資源,同時響應速度也會取決於網絡狀況。

而MNN,可以通過端側AI,避免了網絡開銷,使整體體驗流暢、穩定。

它能夠結合訓練好的模型和經過處理的數據,快速做出相應的計算處理,分析出照片中有年貨的概率。

如果照片中有年貨的概率達到淘寶設定的標準,就可以認定用戶掃描到了年貨,進而發放相關的權益。

這隻是阿里將移動AI應用到自身業務之中的一個場景;MNN,也只是阿里眾多移動AI項目中的一個。

在離青看來,移動AI領域的應用、框架/引擎、硬件方面都有着很多的可能性。

接下來,他們將會在維持MNN輕量、通用、易用、高性能等方面特點的情況下,進一步加強在端側核心算法的投入,降低開發者使用門檻,探索如何在雲+端結合的情況下,發揮出更強的AI能力。

在這個項目中,阿里巴巴提供了使用說明文檔和基於圖片、視頻流的示例應用等等。

他們也發出呼籲,希望大家多多進行體驗、反饋,用MNN構建出不同的人工智能應用~

One more thing

今年3月份正式宣布加入阿里的框架大牛賈揚清,在MNN項目開源評審時也給出了自己的建議。

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

這和服務器端TensorRT等推理引擎的想法不謀而合。

離青說,這樣的轉變,讓MNN有了更切合使用場景的定位,對於其進一步發展,和為開發者服務,都有很大的幫助。

注:文/乾明,公眾號:量子位,本文為作者獨立觀點,不代表億邦動力網立場。

網站內容來源http://www.ebrun.com/

【借錢借款相關精選資訊】

什麼是刷卡換現金?手續費又該如何計算?

如何辦理信用卡換現金呢?懶人包流程詳細解說!

信用卡換現到底安不安全?理財專家現身分析說明!

有人試過刷卡換現金嗎?哪裡可刷卡?

阿里開源首個移動AI項目:淘寶同款推理引擎