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