百度推出端側(cè)推理引擎 Paddle Lite,支持華為 NPU 在線編譯
記者(公眾號(hào):記者)消息,近日,百度深度學(xué)習(xí)平臺(tái)飛槳(PaddlePaddle)推出端側(cè)推理引擎 Paddle Lite,旨在推動(dòng)人工智能應(yīng)用在端側(cè)更好落地。通過(guò)對(duì)底層架構(gòu)設(shè)計(jì)的改進(jìn),其拓展性和兼容性等方面實(shí)現(xiàn)顯著提升。不僅如此,該推理引擎在多硬件、多平臺(tái)以及硬件混合調(diào)度的支持上也更加完備。
目前,Paddle Lite 已經(jīng)支持了 ARM CPU,Mali GPU,Adreno GPU,華為 NPU 以及 FPGA 等諸多硬件平臺(tái),是目前首個(gè)支持華為 NPU 在線編譯的深度學(xué)習(xí)推理框架。
隨著技術(shù)進(jìn)步,手機(jī)等移動(dòng)設(shè)備已成為非常重要的本地深度學(xué)習(xí)載體,然而日趨異構(gòu)化的硬件平臺(tái)和復(fù)雜的終端側(cè)的使用狀況,讓端側(cè)推理引擎的架構(gòu)能力頗受挑戰(zhàn),端側(cè)模型的推理往往面臨著算力和內(nèi)存的限制。
為了能夠完整的支持眾多的硬件架構(gòu),并且實(shí)現(xiàn)在這些硬件之上人工智能應(yīng)用性能的性能優(yōu)化,百度飛槳發(fā)布了端側(cè)推理引擎 Paddle Lite。通過(guò)建模底層計(jì)算模式,加強(qiáng)了多種硬件、量化方法、Data Layout 混合調(diào)度執(zhí)行的能力,從而保障宏觀硬件的支持能力,滿足人工智能應(yīng)用落地移動(dòng)端的嚴(yán)苛要求。
Paddle Lite 在架構(gòu)上全新升級(jí),并重點(diǎn)增加了多種計(jì)算模式(硬件、量化方法、Data Layout)混合調(diào)度的完備性設(shè)計(jì),可以完整承擔(dān)深度學(xué)習(xí)模型在不同硬件平臺(tái)上的的推理部署需求,具備高性能、多硬件、多平臺(tái)、擴(kuò)展性強(qiáng)等優(yōu)勢(shì)。
不同于其它一些獨(dú)立的推理引擎,Paddle Lite 依托飛槳訓(xùn)練框架及其對(duì)應(yīng)的豐富完整的算子庫(kù),底層算子計(jì)算邏輯與訓(xùn)練嚴(yán)格一致,模型完全兼容無(wú)風(fēng)險(xiǎn),并可快速支持更多模型。它的架構(gòu)主要有四層次:
Model 層,直接接受 Paddle 訓(xùn)練的模型,通過(guò)模型優(yōu)化工具轉(zhuǎn)化為 NaiveBuffer 特殊格式,以便更好地適應(yīng)移動(dòng)端的部署場(chǎng)景;
Program 層是 Operator 序列構(gòu)成的執(zhí)行程序;
是一個(gè)完整的分析模塊,主要包括 TypeSystem、SSA Graph 和 Passes 等模塊;
執(zhí)行層,由 Kernel 序列構(gòu)成的 Runtime Program。
值得一提的是,端側(cè)推理引擎在人工智能應(yīng)用落地環(huán)節(jié)有著重要影響,直接關(guān)系到用戶的體驗(yàn)。由此,Paddle Lite 的推出對(duì)端側(cè)推理引擎性能進(jìn)行了大幅優(yōu)化提升,同時(shí)也推動(dòng)了 AI 應(yīng)用在端側(cè)的落地。