您好,登錄后才能下訂單哦!
乾明 邊策 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
國產AI框架飛槳剛剛帶來新進化:Paddle Lite正式發布!
高擴展、高性能、輕量化,還是首個支持華為NPU在線編譯的深度學習端側推理框架,劍指加大力度攻占移動端側場景。
而且大環境如此,這樣的自主研發基礎框架進展,也有了更多的寄寓。
誠意和實力方面也值得稱道。針對更廣泛、更異構的AI硬件支持,是Paddle Lite的核心亮點之一。
此次升級發布,Paddle Lite的架構有了重大升級,在多硬件、多平臺以及硬件混合調度的支持上更加完備。
不僅涵蓋ARM CPU、Mali GPU、Adreno GPU、華為NPU等移動端芯片,也支持FPGA等邊緣設備常用硬件,并具備可兼容支持云端主流芯片的能力。
其中,Paddle Lite還成為了首個華為NPU在線編譯的深度學習推理框架。更早之前,百度和華為宣布在AI開發者大會上強強聯手。
值得一提的是,對標Google推出的TensorFlow Lite,升級發布的Paddle Lite更是直接圍繞前者不足進行了補強。
官方表示,不僅支持范圍更廣的AI硬件終端,增強了部署的普適性,并且具備明顯的性能優勢。
AI框架的競爭,愈加激烈,也進入全新階段。
何為Paddle Lite?
Paddle Lite,是Paddle Mobile的進化版,是一款主打端側高性能輕量化部署的推理引擎。
核心用途是將訓練出的模型在不同硬件平臺場景下快速部署,根據輸入數據,執行預測推理得到計算結果,支持實際的業務應用。
在AI技術落地中,推理階段與實際應用相關聯,直接關系到用戶的體驗,是非常具有挑戰性的一環。
而更具挑戰性的是,當前承載推理的硬件,正日趨異構化。云端、移動端和邊緣端對應著各種不同的硬件,底層的芯片架構差異很大。
如何能夠完整地支持如此眾多的硬件架構,并且實現這些硬件之上人工智能應用性能的優化,實現更快的速度?
Paddle Lite給出的解決方案是:
通過全新架構高擴展性和高靈活度地建模底層計算模式,加強了多種硬件、量化方法、Data Layout 混合調度執行的能力,從而保障了宏觀硬件的支持能力,并通過極致的底層優化,實現了領先的模型應用性能效果。
Paddle Lite五大特性
官方介紹,Paddle Lite一共有五大特性:高擴展性、訓練推理無縫銜接,通用性、高性能和輕量化。
1、高擴展性。
新架構對硬件抽象描述能力更強,可容易地在一套框架下對新硬件進行集成,具有非常好的擴展性。例如,對于FPGA的擴展支持變得非常簡單。
此外,參考了LLVM的Type System和MIR(Machine IR),可以模塊化地對硬件和模型進行更細致的分析和優化,可以更便捷高效地擴展優化策略,提供無限可能。
目前,Paddle Lite已經支持21種 Pass 優化策略,涵蓋硬件計算模式混合調度、INT8量化、算子融合、冗余計算裁剪等不同種類的優化。
2、訓練推理無縫銜接。
不同于其他一些獨立的推理引擎,Paddle Lite依托飛槳訓練框架及其對應的豐富完整的算子庫,底層算子的計算邏輯與訓練嚴格一致,模型完全兼容無風險,并可快速支持更多模型。
和飛槳的PaddleSlim模型壓縮工具打通,直接支持INT8量化訓練的模型,并可獲得比離線量化更佳的精度。
3、通用性。
官方發布18個模型的 benchmark,涵蓋圖像分類、檢測、分割及圖像文字識別等領域,對應80個算子Op+85個 Kernel,相關算子可以通用支持其他模型。
而且, 還兼容支持其他框架訓練的模型,對于 Caffe 和 TensorFlow訓練的模型,可以通過配套的X2Paddle工具轉換之后進行推理預測。
現在,Paddle Lite已經與飛槳的PaddleSlim模型壓縮工具打通,直接支持INT8量化訓練的模型,并可獲得比離線量化更佳的精度。
支持多硬件,目前已支持的包括ARM CPU, Mali GPU、Adreno GPU、華為NPU、FPGA等,正在優化支持的有寒武紀、比特大陸等AI芯片,未來還會支持其他更多的硬件。
此外,還提供Web前端開發接口,支持javascript調用GPU,可在網頁端快捷運行深度學習模型。
4、高性能。
在ARM CPU上,性能表現優異。針對不同微架構,進行了kernel的深度優化,在主流移動端模型上,展現出了速度優勢。
此外,Paddle Lite也支持INT8量化計算,通過框架層的優化設計和底層高效的量化計算實現,結合 PaddleSlim 模型壓縮工具 中 INT8量化訓練功能,可以提供高精度高性能的預測能力。
在華為NPU, FPGA上也有很好的性能表現。
5、輕量化。
針對端側設備特點進行深度定制及優化,無任何第三方依賴。
整個推理過程分為模型加載解析、計算圖的優化分析及設備上的高效運行。移動端可以直接部署經過優化分析的圖,執行預測。
Android 平臺上 ,ARMV7 動態庫只需要800k,ARMV8動態庫僅有1.3M,也可以根據需要,進行更深度的剪裁。
目前,Paddle Lite及其前身的相關技術,已經在百度App、百度地圖、百度網盤和自動駕駛等產品大規模使用。
比如百度App新近推出實時動態多目標識別功能,在Paddle Lite的支持下,把原來云端200多層的視覺算法模型優化到10幾層,實現100ms以內識別物體,8ms內做出物體位置追蹤更新。
相比之下,人類肉眼識別物體,一般需要170ms到400ms,追蹤物體刷新需要40ms左右,這意味著其識別速度已經超過了人眼。
而實現這一切,正是得益于Paddle Lite強大的端側推理能力,能夠完美承擔飛槳在多硬件平臺上的高效部署,并實現了模型應用的極致性能優化。
全新架構詳解
背靠百度,Paddle Lite的架構有一系列自主研發技術。
據介紹,Paddle Lite參考了百度內部多個預測庫架構實現,以及優勢能力整合,并重點增加了多種計算模式(硬件、量化方法、Data Layout)混合調度的完備性設計,新架構設計如下:
其中最上面一層是 模型層,直接接受Paddle訓練的模型,通過模型優化工具轉化為NaiveBuffer特殊格式,以便更好地適應移動端的部署場景。
第二層是 程序層,是operator序列構成的執行程序。
第三層是一個完整的 分析模塊,包括了 MIR(Machine IR) 相關模塊,能夠對原有的模型的計算圖針對具體的硬件列表進行算子融合、計算裁剪在內的多種優化。
不同于飛槳訓練過程中的IR (Internal Representation),硬件和執行信息也在這一層加入到分析中。
最底層是 執行層,也就是一個Kernel序列構成的Runtime Program。執行層的框架調度框架極低,只涉及到Kernel 的執行,且可以單獨部署,以支持極致的輕量級部署。
整體上來看,不僅著重考慮了對多硬件和平臺的支持,而且也強化了多個硬件在一個模型中混合執行的能力、多個層面的性能優化處理,以及對端側應用的輕量化設計。
國產深度學習框架崛起
飛槳(PaddlePaddle)的進化,不僅僅只是一個簡單的產品升級。
放在大趨勢與大環境中,意義正在變得不同。
一方面是大趨勢。
今年是AI在落地化重要的一年,國內在AI硬件,AI硬件研發,包括百度、阿里、華為等巨頭公司都在積極布局AI芯片的設計和制造。
硬件的快速發展并不能彌補軟件端的缺失,國外科技巨頭已經加快步伐,想要占領這一市場空白地帶。
今年的TensorFlow開發者大會上,谷歌已經將在邊緣部署AI應用的TensorFlow Lite作為重點,顯然這一框架目前并不能很好地適配國內公司開發的各種硬件。
國外科技公司也不會去花大量的精力在諸多不同廠商、不同架構的國產芯片上。于是飛槳看到機遇,并且初見成效。
據百度剛發布的Q2財報顯示,飛槳的開發者下載量在2019年第二季度環比增加了45%。
作為目前最流行的國產機器學習框架,飛槳推出Paddle Lite著實花了大量精力解決國內AI硬件應用范圍小、開發困難的局面。
另一方面,繞不開的大形勢話題。
相比以往,AI發展中的自主研發和無斷供之憂,也開始被屢屢談及。
除了專利、硬件,底層算法框架,在安卓斷供華為之后也被抬上桌面。
當前,兩大深度學習框架TensorFlow、PyTorch雖然是開源項目,但都在美國公司掌控之下,都可能要“遵守美國法律”。
所以也不是沒有“卡脖子”的風險。
之前,該如何發展這樣的底層核心技術的話題,各方專家談了又談,熱切呼吁,但真正變成行動,依然難上加難。
不僅需要時間、人才、資源等各方面的投入,也需要恰當的時機——至少沒到積重難返的時候。
于是Paddle Lite的升級,就顯得恰逢其時。一來已有積累,二來時機不晚,可以換道超車。
不過,說一千道一萬,最終還是上手試試最直接。
話不多說,我們看貨、驗貨:
傳送門
關于本次發布的Paddle Lite,重點功能升級匯總如下:
https://www.toutiao.com/i6727480978421318158/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。