小米開源自研移動端深度學習框架MACE
6 月 28 日,小米人工智能與云平臺副總裁崔寶秋博士在開源中國開源世界高峰論壇上發表《小米 AI 時代的開源》演講,并在會上宣布,開源小米自研的移動端深度學習框架 Mobile AI Compute Engine (MACE)。
地址:https://github.com/XiaoMi/mace
近年來,隨著移動互聯網的深入發展和 IoT 智能設備的普及,以及用戶對智能性,低延遲和隱私保護的訴求變得越來越高,移動設備上的離線深度學習應用變得越來越普遍。
據雷鋒網了解,MACE 是專門為移動設備優化的深度學習模型預測框架,MACE 從設計之初,便針對移動設備的特點進行了專門的優化:
-
速度:對于放在移動端進行計算的模型,一般對整體的預測延遲有著非常高的要求。在框架底層,針對 ARM CPU 進行了 NEON 指令級優化,針對移動端 GPU,實現了高效的 OpenCL 內核代碼。針對高通 DSP,集成了 nnlib 計算庫進行 HVX 加速。同時在算法層面,采用 Winograd 算法對卷積進行加速。
-
功耗:移動端對功耗非常敏感,框架針對 ARM 處理器的 big.LITTLE 架構,提供了高性能,低功耗等多種組合配置。針對 Adreno GPU,提供了不同的功耗性能選項,使得開發者能夠對性能和功耗進行靈活的調整。
-
系統響應:對于 GPU 計算模式,框架底層對 OpenCL 內核自適應的進行分拆調度,保證 GPU 渲染任務能夠更好的進行搶占調度,從而保證系統的流暢度。
-
初始化延遲:在實際項目中,初始化時間對用戶體驗至關重要,框架對此進行了針對性的優化。
-
內存占用:通過對模型的算子進行依賴分析,引入內存復用技術,大大減少了內存的占用。
-
模型保護:對于移動端模型,知識產權的保護往往非常重要,MACE 支持將模型轉換成 C++ 代碼,大大提高了逆向工程的難度。
此外,據了解,MACE 支持 TensorFlow 和 Caffe 模型,提供轉換工具,可以將訓練好的模型轉換成專有的模型數據文件,同時還可以選擇將模型轉換成 C++ 代碼,支持生成動態庫或者靜態庫,提高模型保密性。
目前 MACE 已經在小米手機上的多個應用場景得到了應用,其中包括相機的人像模式,場景識別,圖像超分辨率,離線翻譯(即將實現)等。
此外,隨著 MACE 一起開源的還有 MACE Model Zoo 項目,目前包含物體識別,場景語義分割,圖像風格化等多個公開模型。后續會增加更多模型。
上方是用 MACE Model Zoo 中的 fast style transfer(快速風格遷移)模型在手機端生成的風格化圖片。
據雷鋒網了解,此前小米曾參與多個國際重大的開源項目,比如 Hadoop,HBase,Spark,TensorFlow 等,同時,小米也積極參與自研、具有通用性的軟件系統。過去幾年,小米相繼推出了 Linden(分布式實時搜索系統),Open-Falcon(互聯網企業級監控系統)、Pegasus(分布式 KV 存儲系統)等一系列開源項目。
在 AI 方面,小米開源了自研的針對移動端設備優化的深度學習框架 MACE,目前已經支持內部的多個業務。
另外,6 月 29 日至 7 月 2 日雷鋒網將在深圳舉辦 CCF-GAIR 大會,小米***架構師、小米人工智能與云平臺副總裁崔寶秋將作為嘉賓出席并發表演講。
全球人工智能與機器人峰會(CCF-GAIR) 由中國計算機學會(CCF)主辦,雷鋒網、香港中文大學(深圳)承辦,得到了深圳市政府的大力指導,是國內人工智能和機器人學術界、工業界及投資界三大領域的***交流盛會,旨在打造國內人工智能領域***實力的跨界交流合作平臺。
CCF-GAIR 2018 延續前兩屆的“***”陣容,提供 1 個主會場和 11 個專場(仿生機器人專場,機器人行業應用專場,計算機視覺專場,智能安全專場,金融科技專場,智能駕駛專場,NLP 專場,AI+ 專場,AI 芯片專場,IoT 專場,投資人專場)的豐富平臺,意欲給三界參會者從產學研多個維度,呈現出更富前瞻性與落地性相結合的會議內容與現場體驗。