新聞中心

        EEPW首頁 > 智能計算 > 業界動態 > 阿里開源首個移動AI項目:淘寶同款推理引擎

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

        作者:乾明 時間:2019-07-24 來源:量子位 收藏

        本文經新媒體量子位(公眾號 ID: Qbit)授權轉載,轉載請聯系出處。

        本文引用地址:http://www.104case.com/article/201907/403022.htm

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

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

        1563928083179619.png

        這是的首個移動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%。

        1563928102811509.png

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

        MNN的兩大功能與四大特點

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

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

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

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

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

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

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

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

        1563928133546075.png

        △MNN架構設計

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

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

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

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

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

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

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

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

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

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

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

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

        1563928158871962.png

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

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

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

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

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

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

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

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

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

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

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

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

        One more thing

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

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

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

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



        關鍵詞: 阿里 AI 開源

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 铜川市| 那坡县| 新乡市| 资阳市| 长丰县| 宁远县| 绥化市| 承德市| 乡城县| 股票| 临洮县| 连江县| 阿图什市| 璧山县| 分宜县| 靖边县| 临海市| 望城县| 根河市| 石门县| 红桥区| 桦川县| 东明县| 疏勒县| 门头沟区| 江陵县| 宁远县| 辰溪县| 普格县| 余庆县| 秦安县| 裕民县| 东兴市| 望城县| 准格尔旗| 广南县| 金溪县| 子长县| 永康市| 丰原市| 星子县|