溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

國產(chǎn)AI框架進(jìn)化!百度Paddle Lite發(fā)布:率先支持華為NPU在線編譯

發(fā)布時間:2020-08-11 12:23:05 來源:ITPUB博客 閱讀:160 作者:AIBigbull2050 欄目:互聯(lián)網(wǎng)科技

乾明 邊策 發(fā)自 凹非寺

量子位 報道 | 公眾號 QbitAI

國產(chǎn)AI框架飛槳剛剛帶來新進(jìn)化:Paddle Lite正式發(fā)布!

高擴(kuò)展、高性能、輕量化,還是首個支持華為NPU在線編譯的深度學(xué)習(xí)端側(cè)推理框架,劍指加大力度攻占移動端側(cè)場景。

而且大環(huán)境如此,這樣的自主研發(fā)基礎(chǔ)框架進(jìn)展,也有了更多的寄寓。

誠意和實力方面也值得稱道。針對更廣泛、更異構(gòu)的AI硬件支持,是Paddle Lite的核心亮點之一。


國產(chǎn)AI框架進(jìn)化!百度Paddle Lite發(fā)布:率先支持華為NPU在線編譯


此次升級發(fā)布,Paddle Lite的架構(gòu)有了重大升級,在多硬件、多平臺以及硬件混合調(diào)度的支持上更加完備。

不僅涵蓋ARM CPU、Mali GPU、Adreno GPU、華為NPU等移動端芯片,也支持FPGA等邊緣設(shè)備常用硬件,并具備可兼容支持云端主流芯片的能力。

其中,Paddle Lite還成為了首個華為NPU在線編譯的深度學(xué)習(xí)推理框架。更早之前,百度和華為宣布在AI開發(fā)者大會上強(qiáng)強(qiáng)聯(lián)手。

國產(chǎn)AI框架進(jìn)化!百度Paddle Lite發(fā)布:率先支持華為NPU在線編譯

值得一提的是,對標(biāo)Google推出的TensorFlow Lite,升級發(fā)布的Paddle Lite更是直接圍繞前者不足進(jìn)行了補(bǔ)強(qiáng)。

官方表示,不僅支持范圍更廣的AI硬件終端,增強(qiáng)了部署的普適性,并且具備明顯的性能優(yōu)勢。

AI框架的競爭,愈加激烈,也進(jìn)入全新階段。

何為Paddle Lite?

Paddle Lite,是Paddle Mobile的進(jìn)化版,是一款主打端側(cè)高性能輕量化部署的推理引擎。

核心用途是將訓(xùn)練出的模型在不同硬件平臺場景下快速部署,根據(jù)輸入數(shù)據(jù),執(zhí)行預(yù)測推理得到計算結(jié)果,支持實際的業(yè)務(wù)應(yīng)用。

在AI技術(shù)落地中,推理階段與實際應(yīng)用相關(guān)聯(lián),直接關(guān)系到用戶的體驗,是非常具有挑戰(zhàn)性的一環(huán)。


國產(chǎn)AI框架進(jìn)化!百度Paddle Lite發(fā)布:率先支持華為NPU在線編譯


而更具挑戰(zhàn)性的是,當(dāng)前承載推理的硬件,正日趨異構(gòu)化。云端、移動端和邊緣端對應(yīng)著各種不同的硬件,底層的芯片架構(gòu)差異很大。

如何能夠完整地支持如此眾多的硬件架構(gòu),并且實現(xiàn)這些硬件之上人工智能應(yīng)用性能的優(yōu)化,實現(xiàn)更快的速度?

Paddle Lite給出的解決方案是:

通過全新架構(gòu)高擴(kuò)展性和高靈活度地建模底層計算模式,加強(qiáng)了多種硬件、量化方法、Data Layout 混合調(diào)度執(zhí)行的能力,從而保障了宏觀硬件的支持能力,并通過極致的底層優(yōu)化,實現(xiàn)了領(lǐng)先的模型應(yīng)用性能效果。

Paddle Lite五大特性

官方介紹,Paddle Lite一共有五大特性:高擴(kuò)展性、訓(xùn)練推理無縫銜接,通用性、高性能和輕量化。

1、高擴(kuò)展性。

新架構(gòu)對硬件抽象描述能力更強(qiáng),可容易地在一套框架下對新硬件進(jìn)行集成,具有非常好的擴(kuò)展性。例如,對于FPGA的擴(kuò)展支持變得非常簡單。

此外,參考了LLVM的Type System和MIR(Machine IR),可以模塊化地對硬件和模型進(jìn)行更細(xì)致的分析和優(yōu)化,可以更便捷高效地擴(kuò)展優(yōu)化策略,提供無限可能。

目前,Paddle Lite已經(jīng)支持21種 Pass 優(yōu)化策略,涵蓋硬件計算模式混合調(diào)度、INT8量化、算子融合、冗余計算裁剪等不同種類的優(yōu)化。

2、訓(xùn)練推理無縫銜接。

不同于其他一些獨立的推理引擎,Paddle Lite依托飛槳訓(xùn)練框架及其對應(yīng)的豐富完整的算子庫,底層算子的計算邏輯與訓(xùn)練嚴(yán)格一致,模型完全兼容無風(fēng)險,并可快速支持更多模型。

和飛槳的PaddleSlim模型壓縮工具打通,直接支持INT8量化訓(xùn)練的模型,并可獲得比離線量化更佳的精度。

3、通用性。

官方發(fā)布18個模型的 benchmark,涵蓋圖像分類、檢測、分割及圖像文字識別等領(lǐng)域,對應(yīng)80個算子Op+85個 Kernel,相關(guān)算子可以通用支持其他模型。


國產(chǎn)AI框架進(jìn)化!百度Paddle Lite發(fā)布:率先支持華為NPU在線編譯


而且, 還兼容支持其他框架訓(xùn)練的模型,對于 Caffe 和 TensorFlow訓(xùn)練的模型,可以通過配套的X2Paddle工具轉(zhuǎn)換之后進(jìn)行推理預(yù)測。

現(xiàn)在,Paddle Lite已經(jīng)與飛槳的PaddleSlim模型壓縮工具打通,直接支持INT8量化訓(xùn)練的模型,并可獲得比離線量化更佳的精度。

支持多硬件,目前已支持的包括ARM CPU, Mali GPU、Adreno GPU、華為NPU、FPGA等,正在優(yōu)化支持的有寒武紀(jì)、比特大陸等AI芯片,未來還會支持其他更多的硬件。

此外,還提供Web前端開發(fā)接口,支持javascript調(diào)用GPU,可在網(wǎng)頁端快捷運行深度學(xué)習(xí)模型。

4、高性能。

在ARM CPU上,性能表現(xiàn)優(yōu)異。針對不同微架構(gòu),進(jìn)行了kernel的深度優(yōu)化,在主流移動端模型上,展現(xiàn)出了速度優(yōu)勢。


國產(chǎn)AI框架進(jìn)化!百度Paddle Lite發(fā)布:率先支持華為NPU在線編譯


此外,Paddle Lite也支持INT8量化計算,通過框架層的優(yōu)化設(shè)計和底層高效的量化計算實現(xiàn),結(jié)合 PaddleSlim 模型壓縮工具 中 INT8量化訓(xùn)練功能,可以提供高精度高性能的預(yù)測能力。


國產(chǎn)AI框架進(jìn)化!百度Paddle Lite發(fā)布:率先支持華為NPU在線編譯


在華為NPU, FPGA上也有很好的性能表現(xiàn)。


國產(chǎn)AI框架進(jìn)化!百度Paddle Lite發(fā)布:率先支持華為NPU在線編譯


5、輕量化。

針對端側(cè)設(shè)備特點進(jìn)行深度定制及優(yōu)化,無任何第三方依賴。

整個推理過程分為模型加載解析、計算圖的優(yōu)化分析及設(shè)備上的高效運行。移動端可以直接部署經(jīng)過優(yōu)化分析的圖,執(zhí)行預(yù)測。

Android 平臺上 ,ARMV7 動態(tài)庫只需要800k,ARMV8動態(tài)庫僅有1.3M,也可以根據(jù)需要,進(jìn)行更深度的剪裁。

目前,Paddle Lite及其前身的相關(guān)技術(shù),已經(jīng)在百度App、百度地圖、百度網(wǎng)盤和自動駕駛等產(chǎn)品大規(guī)模使用。

比如百度App新近推出實時動態(tài)多目標(biāo)識別功能,在Paddle Lite的支持下,把原來云端200多層的視覺算法模型優(yōu)化到10幾層,實現(xiàn)100ms以內(nèi)識別物體,8ms內(nèi)做出物體位置追蹤更新。

國產(chǎn)AI框架進(jìn)化!百度Paddle Lite發(fā)布:率先支持華為NPU在線編譯

相比之下,人類肉眼識別物體,一般需要170ms到400ms,追蹤物體刷新需要40ms左右,這意味著其識別速度已經(jīng)超過了人眼。

而實現(xiàn)這一切,正是得益于Paddle Lite強(qiáng)大的端側(cè)推理能力,能夠完美承擔(dān)飛槳在多硬件平臺上的高效部署,并實現(xiàn)了模型應(yīng)用的極致性能優(yōu)化。

全新架構(gòu)詳解

背靠百度,Paddle Lite的架構(gòu)有一系列自主研發(fā)技術(shù)。

據(jù)介紹,Paddle Lite參考了百度內(nèi)部多個預(yù)測庫架構(gòu)實現(xiàn),以及優(yōu)勢能力整合,并重點增加了多種計算模式(硬件、量化方法、Data Layout)混合調(diào)度的完備性設(shè)計,新架構(gòu)設(shè)計如下:


國產(chǎn)AI框架進(jìn)化!百度Paddle Lite發(fā)布:率先支持華為NPU在線編譯


其中最上面一層是 模型層,直接接受Paddle訓(xùn)練的模型,通過模型優(yōu)化工具轉(zhuǎn)化為NaiveBuffer特殊格式,以便更好地適應(yīng)移動端的部署場景。

第二層是 程序?qū)?/span>,是operator序列構(gòu)成的執(zhí)行程序。

第三層是一個完整的 分析模塊,包括了 MIR(Machine IR) 相關(guān)模塊,能夠?qū)υ械哪P偷挠嬎銏D針對具體的硬件列表進(jìn)行算子融合、計算裁剪在內(nèi)的多種優(yōu)化。

不同于飛槳訓(xùn)練過程中的IR (Internal Representation),硬件和執(zhí)行信息也在這一層加入到分析中。

最底層是 執(zhí)行層,也就是一個Kernel序列構(gòu)成的Runtime Program。執(zhí)行層的框架調(diào)度框架極低,只涉及到Kernel 的執(zhí)行,且可以單獨部署,以支持極致的輕量級部署。

整體上來看,不僅著重考慮了對多硬件和平臺的支持,而且也強(qiáng)化了多個硬件在一個模型中混合執(zhí)行的能力、多個層面的性能優(yōu)化處理,以及對端側(cè)應(yīng)用的輕量化設(shè)計。

國產(chǎn)深度學(xué)習(xí)框架崛起

飛槳(PaddlePaddle)的進(jìn)化,不僅僅只是一個簡單的產(chǎn)品升級。

放在大趨勢與大環(huán)境中,意義正在變得不同。

一方面是大趨勢。

今年是AI在落地化重要的一年,國內(nèi)在AI硬件,AI硬件研發(fā),包括百度、阿里、華為等巨頭公司都在積極布局AI芯片的設(shè)計和制造。

硬件的快速發(fā)展并不能彌補(bǔ)軟件端的缺失,國外科技巨頭已經(jīng)加快步伐,想要占領(lǐng)這一市場空白地帶。

今年的TensorFlow開發(fā)者大會上,谷歌已經(jīng)將在邊緣部署AI應(yīng)用的TensorFlow Lite作為重點,顯然這一框架目前并不能很好地適配國內(nèi)公司開發(fā)的各種硬件。

國外科技公司也不會去花大量的精力在諸多不同廠商、不同架構(gòu)的國產(chǎn)芯片上。于是飛槳看到機(jī)遇,并且初見成效。

據(jù)百度剛發(fā)布的Q2財報顯示,飛槳的開發(fā)者下載量在2019年第二季度環(huán)比增加了45%。

作為目前最流行的國產(chǎn)機(jī)器學(xué)習(xí)框架,飛槳推出Paddle Lite著實花了大量精力解決國內(nèi)AI硬件應(yīng)用范圍小、開發(fā)困難的局面。

另一方面,繞不開的大形勢話題。

相比以往,AI發(fā)展中的自主研發(fā)和無斷供之憂,也開始被屢屢談及。

除了專利、硬件,底層算法框架,在安卓斷供華為之后也被抬上桌面。

當(dāng)前,兩大深度學(xué)習(xí)框架TensorFlow、PyTorch雖然是開源項目,但都在美國公司掌控之下,都可能要“遵守美國法律”。


國產(chǎn)AI框架進(jìn)化!百度Paddle Lite發(fā)布:率先支持華為NPU在線編譯


所以也不是沒有“卡脖子”的風(fēng)險。

之前,該如何發(fā)展這樣的底層核心技術(shù)的話題,各方專家談了又談,熱切呼吁,但真正變成行動,依然難上加難。

不僅需要時間、人才、資源等各方面的投入,也需要恰當(dāng)?shù)臅r機(jī)——至少沒到積重難返的時候。

于是Paddle Lite的升級,就顯得恰逢其時。一來已有積累,二來時機(jī)不晚,可以換道超車。

不過,說一千道一萬,最終還是上手試試最直接。

話不多說,我們看貨、驗貨:

傳送門

關(guān)于本次發(fā)布的Paddle Lite,重點功能升級匯總?cè)缦拢?/span>

  • 1、架構(gòu)重大升級,通過添加Machine IR、Type system、輕量級 Operator 和 Kernel 等,增加了通用多平臺和多硬件支持,多 precision 和 data layout 混合調(diào)度執(zhí)行,動態(tài)優(yōu)化,輕量級部署等重要特性。
  • 2、完善了Java API,與 C++ API 一一對應(yīng)。
  • 3、新增NaiveBuffer 模型存儲格式,移動端部署與protobuf解耦,使預(yù)測庫尺寸更小。
  • 4、通過X2Paddle 支持 Caffe 和 TensorFlow 模型的預(yù)測,目前官方驗證6種模型轉(zhuǎn)化支持。
  • 5、新增對華為海思 NPU 的深度支持,成為首個支持華為NPU在線編譯的框架,已驗證
  • 6、支持FPGA ,已驗證 ResNet50 模型。
  • 7、對于Mali GPU 和 Adreno GPU,支持 OpenCL 和 ARM CPU Kernel混合調(diào)度,已驗證了在MobileNetV1、MobileNetV2、ResNet-50等模型上的效果。
  • 8、對于ARM架構(gòu)的CPU,Paddle Lite增加了對vgg-16、EfficientNet-b0、ResNet-18等常見模型的支持驗證。
  • 9、新增各類硬件 Kernel 70種。

https://www.toutiao.com/i6727480978421318158/

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI