阿里妹導讀:AI 技術已經從互聯網走向零售、汽車、銀行等傳統行業。受限於延時、成本、安全等多方面的限制,單一的雲解決方案每每不能知足場景需求。線下智能方案逐步成爲了智能化過程當中重要的一環,今天,咱們就一塊兒來了解這一環,但願這些內容可讓同窗瞭解線下智能的前景和其中待解決的技術點。算法
阿里巴巴機器智能實驗室線下智能團隊從16年末開始涉及線下智能領域,從算法、工程、產品化、業務落地多個方面入手,與合做夥伴們一塊兒取得了一些小小的成績。算法方面,咱們提出了自主研發的模型壓縮方法,新型模型結構和目標檢測框架;工程方面,咱們研發出一套非數據依賴的量化訓練工具,而且針對不一樣硬件平臺,研發了高效推理計算庫;同時咱們也和服務器研發團隊一塊兒抽象出了一套軟硬件產品化方案,以服務多樣的業務形式,並在真實業務場景中實驗落地。安全
在後面的篇幅中,咱們主要會從算法探索、訓練工具、推理框架、產品化和業務模式等方面對以前的工做作一個總結和分享。服務器
基於 ADMM 的低比特量化網絡
低比特量化是模型壓縮( ModelCompression )和推理加速( Inference Acceleration )中一個核心的問題,目的是將神經網絡中原有的浮點型參數量化成 1-8Bits 的定點參數,從而減少模型大小和計算資源消耗。爲了解決這個問題,咱們提出了基於 ADMM(Alternating Direction Method ofMultipliers)的低比特量化方案。在公開數據集 ImageNet 上,咱們在 Alexnet,ResNet-18,Resnet-50 等經典 CNN 網絡結構上作了實驗,不管是精度上仍是速度上均超過了目前已知的算法。咱們能夠在 3-bit 上面作到幾乎無損壓縮。目前該方法已經被普遍應用到各類端上目標檢測和圖像識別的實際項目中。相關成果已經在 AAAI 2018 上發表。架構
統一量化稀疏框架框架
量化技術能夠經過簡化計算單元(浮點計算單元->定點計算單元)提高推理速度。 稀疏化( Pruning ) 技術則是經過對神經網絡中的通路進行裁剪來減小真實計算量。咱們很天然的將這兩個技術融合到了一塊兒,來獲取極限的理論加速比。在剪枝過程當中,咱們採用了漸進式的訓練方法,並結合梯度信息決定網絡中路徑的重要程度。在 ResNet 結構上,咱們能夠作到90%稀疏度下的近似無損壓縮。運維
在稀疏化研究過程當中,咱們發現了一個問題,更細粒度的裁剪每每會得到更高的精度,可是代價是犧牲了硬件友好性,很難在實際應用中得到理論加速比。在後面的章節中,咱們會經過兩個角度來解決這個問題:工具
軟硬件協同網絡結構性能
經過量化和稀疏技術,咱們能夠得到一個理論計算量足夠低,所需計算單元足夠簡單的深度網絡模型。下一個要解決的問題就是咱們如何將其轉換成一個真實推理延時低的算法服務。爲了挑戰極限的推理加速效果,咱們和服務器研發團隊一塊兒,從軟硬件聯合設計出發解決該問題。在該項目中,咱們提出瞭如下幾個創新點,其中包括:學習
經過上述方案,咱們只須要 0.174ms 的 latency 就能夠完成 resnet-18 複雜程度的模型推理,達到業內最佳水平。該方案在對 latency 敏感的領域具備極大的優點。相關成果已經在 HotChips 30 上展出。
新型輕量級網絡
軟硬件協同設計是一個很是好的推理解決方案,可是改方案的開發成本和硬件成本都很高。某些特定的場景對於 latency 和 accuracy 的容忍度比較高(例如人臉抓拍)。爲了解決這類需求,咱們提出了一種多聯合複用網絡 (Multi-Layer Feature Federation Network, MuffNet) ,該結構同時具備3個特色:
咱們提出的新型網絡因爲每一個單元的計算比較密集,並不存在過多的碎片操做,是很是適合在通用硬件上運行的。在公開數據集 ImageNet 上,咱們在 40MFLops 計算量上相比目前業內最優的 shufflenetv2 結構,準確度絕對提高了2%。
端上目標檢測框架
相比圖像識別類任務,目標檢測類任務的適用場景更普遍。高效的目標檢測框架具備很高的研究價值。針對端上場景,咱們提出了一個 LRSSD 框架( light refine single short multiboxdetector ), 該框架包括如下幾個特色:
如上表所示,相同 backbone 網絡的狀況下,咱們提出的 LRSSD 在減小 SSD HEAD 計算量的同時,mAP 能夠穩定提高3%-4% 。從另外一個角度來看,在保證檢測精度不變的狀況下,咱們的方法能夠將模型複雜度減小到原來的50%左右。若是再考慮到量化帶來的速度加成,在相同精度下,相比原有全精度模型,咱們能夠得到總共約2-3倍的真實速度提高。
小結
上文給出了咱們近2年內在線下智能—模型壓縮領域所作的一些技術積累。概括起來以下:
在技術探索的同時,咱們也在積極的將上述技術應用到實際的業務中。在這一過程當中咱們發現了下列幾個問題:
在本文後半部分,咱們首先會針對上述的幾個問題介紹咱們已經作過的嘗試和沉澱出的解決方案。最後,咱們列出了一些實例,展現如何在具體的業務場景中應用線下智能技術,但願能夠給各位同窗一個更直觀的認識。
在實際業務推廣過程當中,咱們遇到的第一個問題是易用性問題:
爲了讓更多的場景均可以用上咱們的服務,得到 AI 的紅利,咱們提出了一套標準化的量化訓練工具。
如上圖所示,首先,咱們的工具輸入支持多種模型格式( TensorFlow,Caffe,Mxnet 等)。其次,咱們提供了兩種不一樣的模型量化方法,一種是支持不一樣任務(分類,檢測,分割等)的數據依賴型壓縮方法( Data Dependent Compression ) , 適用於對數據安全要求不是很高,但願追求精度最大化的業務;另外一種是數據非依賴壓縮方法( Data Independent Compression ),適用於對數據安全要求高,或者業務邏輯不是特別複雜的場景。
最後,在量化工做完成後,咱們的工具會自動完成推理圖的優化和模型加密,生成能夠實際部署的模型文件。配合對應的推理加速庫便可在端上運行。從易用性和數據安全性角度出發,咱們推薦使用數據非依賴性的壓縮方法。
目前,該套工具做爲MNN推薦的量化工具普遍應用在阿里集團內多個線下業務場景中。
實際中遇到的第二個問題就是真實推理速度問題,畢竟光有易用性是不夠的,實打實的業務效果纔是業務最想要的。這裏咱們使用阿里集團其餘的兄弟團隊提供的推理框架:
MNN
MNN 是一個輕量級的深度學習端側推理引擎,核心解決深度神經網絡模型在端側推理運行問題,涵蓋深度神經網絡模型的優化、轉換和推理。目前,MNN已經在手淘、手貓、優酷、聚划算、UC、飛豬、千牛等 20 多個 App 中使用。選用常見的深度神經網絡模型 MobileNet V2 和 SqueezeNet V1.1 做爲測試樣本:Android 方面,以小米6爲例,MNN 在 CPU 和 GPU 上領先業界至少30%;iOS 方面,以iPhone 7爲例,MNN 在 CPU 和 GPU 上領先業界至少15%。
FPGA
FPGA 上的推理框架由服務器研發團隊完成。ResNet18 網絡的推理時間只須要0.174ms,目前已知業內最佳性能。在邊緣計算產品 alibabaedge 上,基於硬件實現的高效算子,推理速度爲邊緣 GPU 的兩倍。在後面,咱們會結合產品形態總體的介紹這一方案。
GPU
falcon_conv 是機器智能技術團隊開發的一款由 CUDA C++編寫,在 Nvidia GPU 上運行的低精度卷積庫,它接受2份低精度( INT8 )張量做爲輸入,將卷積結果以float/int32 數據輸出,同時支持卷積後一些常規操做( scale,batchnorm,relu… )的合併。咱們在單張 Tesla P4 GPU 上,對 falcon_conv 的性能與 Nvidia 官方計算庫Cudnn v7.1 作了比較,如圖所示。幾乎全部狀況 falcon_conv 都優於 Cudnn ,個別用例有高至5倍的提高,用例選自 RESNET 和 VGG 中耗時較多的卷積參數。
在業務支持過程當中咱們遇到的第三個問題是集成化,產品化問題。除了手機類場景外,其餘線下業務均須要額外的硬件平臺做爲支撐。在早先時候,咱們更多的是依賴第三方提供的硬件設備,這時候成本,穩定性,可擴展性 成爲制約線下項目拓展的幾個主要問題。爲了解決這些問題,咱們根據以往的項目經驗,對硬件設備進行概括,沉澱出兩類比較通用的線下產品化方案:智能盒子和一體化相機。每類產品均包含不一樣型號,以適應不一樣需求的場景。
智能盒子
咱們提供的第一個方案爲智能盒子方案。咱們能夠簡單的把智能盒子看成一個適合於中小型場景的邊緣服務器。盒子自己提供了多種接口,能夠外接 usb/ip 相機,語音模塊等傳感器。直接本地部署,數據安全性高。咱們針對業務特色提供了高低兩個版本的智能盒子。其中,高端版本採用阿里巴巴自研的邊緣計算產品 Alibaba Edge 。除了完善的硬件設計和高效的推理框架,該盒子還包含完善的編譯器支持,具備很是好的易用性。 低端版本則爲純 ARM 的盒子。下面表格給出這兩種盒子在性能,成本和適用場景的一個對比。
在這裏咱們着重介紹一下阿里巴巴自研的邊緣計算產品 Alibaba Edge,該產品除了具備高達 3TGFlops 的AI計算能力外,相對邊緣 GPU 方案有大幅的價格優點,同時具備雲端一體化部署功能,產品平臺化,可快速上線,支持大規模運維。
在下面的表格中,咱們對比了 LRSSD300+MobileNetV2 的不一樣硬件設備上的運行時間,但願能夠給你們一個更直觀的認識。
一體化相機
咱們提供的另外一個集成方案爲一體化相機。一體化相機特別適合雲+端的部署模式:線下作相對比較簡單的處理功能,雲端則深度處理線下傳回的信息。達到節約帶寬,下降雲成本的做用。同時,一體化相機具備方便部署,批量化生產後成本優點高的特色。目前一體化相機已經做爲一個重要的載體形式被應用到咱們所承接的對集團外合做項目中。
在過去的2年間,咱們嘗試過多種不一樣的業務模式。在這裏咱們會列出主要幾個不一樣形式的實例。
菜鳥將來園區
在菜鳥將來園區項目中,咱們主要負責基礎視覺類算法的輸出,由菜鳥智慧園區團隊同窗負責業務算法和工程服務研發工做。通過半年的共同努力,咱們前後完成了離崗睡崗檢測,消防通道異常檢測,車位佔用檢測,行人越界檢測,入口計數檢測等多個功能。
在項目合做的過程當中,咱們發現計算單元成本高是制約算法大範圍推廣的一個主要緣由。爲了解決這個問題,咱們聯合了服務器研發團隊,開發出一版定製化軟硬件解決方案:該方案的硬件平臺爲咱們在上文中提到的邊緣計算產品 Alibaba Edge,同時配備特別定製的高效模型結構和自研的快速檢測算法。新版方案在檢測精度幾乎無損的狀況下,推理速度提高了4-5倍,成本相比邊緣 GPU 方案降低了1/2。
模型壓縮加速
咱們協助阿里集團不一樣業務同窗完成對已有算法模型的量化瘦身與加速工做。例如:手機端 OCR 識別、手機端物體檢測、手淘實人認證和刷臉登陸/驗證、菜鳥自提櫃、阿里體育賽事刷臉入場、神州鷹人臉識別雲相冊等。
通過近兩年的努力,機器智能技術實驗室線下智能團隊深耕線下智能領域。算法方面:咱們在低比特量化、稀疏化、軟硬件協同設計、輕量級網絡設計、端上目標檢測等多個方面取得了必定的積累,多項指標達到了業內最佳水平。工程方面:咱們積累出了一套 高靈活性,高數據安全性 的訓練工具 ; 並在合夥夥伴的幫助下,在ARM,FPGA,GPU 等多個平臺下達到了業內最佳的推理性能。產品化方面:咱們與合做夥伴一塊兒,研發出適合於不一樣業務場景的智能盒子與一體化相機。最後,咱們很幸運能夠在集團內外多個不一樣形式的業務場景內打磨咱們的技術。
原文連接 本文爲雲棲社區原創內容,未經容許不得轉載。