當前位置:
首頁 > 科技 > EasyDL端計算能力:支持十餘種晶元,多倍提速,一鍵部署

EasyDL端計算能力:支持十餘種晶元,多倍提速,一鍵部署

從科研、金融、零售到工業、農業等越來越多的行業與業務場景正在應用人工智慧提升效率,降低成本。人工智慧在產業升級、改善人類生活等方面發揮著越來越重要的作用。當在實際業務場景中部署AI模型時,會面臨一個部署方案設計的問題:不同的使用場景和業務問題中對模型的部署方式要求也有所差異。

AI模型有著多樣化的部署方式,常見的模型部署形態分為兩種:伺服器部署和嵌入式部署。伺服器部署指的是將模型部署在CPU/GPU上,形成可調用的API介面,根據需要可選擇雲伺服器部署和本地伺服器部署;嵌入式部署指的是將模型部署到邊緣側或端側的嵌入式設備中,進行單機離線運行。下表對比了這兩種部署方式的特性。當用戶的模型應用場景沒有網路覆蓋,或是業務數據較為機密,或是對預測延時要求較高時,往往會選擇嵌入式部署方式

嵌入式部署方式具有實時響應、網路開銷低、隱私保護、能耗比高等優勢;但同時,由於邊緣設備種類繁多,適配部署難度較高。

在一項百度和波士頓諮詢公司的聯合調研中,我們發現在有定製業務模型需求的客戶中,超過35%的場景有離線邊緣計算的需求。而如上文所述,端計算由於設備的多樣性,研發和部署成本相比雲部署更高,且往往實際業務場景對在端上運行的模型的時延和穩定性也會有極高的要求。因此,如何將定製好的模型部署適配到端設備,併兼顧識別效果、性能和內存消耗,是一個需要耗費大量研發工作的技術難題。

正式為了應對AI模型多樣化的部署需求,百度零門檻AI開發平台EasyDL提供了多種部署方式,包括公有雲部署、本地伺服器部署、設備端SDK和軟硬一體解決方案,適用於各類業務場景與運行環境,便於開發者根據需求靈活選擇。特別是在嵌入式部署方面,EasyDL的設備端SDK,支持的硬體類型也非常豐富,從最常見的x86、ARM、Nvidia-GPU,到NPU、FPGA,支持超過10類硬體。同時,依託於百度飛槳深度學習平台相關功能的支持,EasyDL具備強大的端計算部署能力,在生成端計算模型時,會經過一些列的優化、加速、壓縮功能。

對於這一系列能力的講解,可以從網路結構層面和晶元能力兩方面入手。

在網路結構層面,會進行op融合(如conv-add-relu,conv-bn等)、fp16/int8量化、模型裁剪等優化。

以近期上線的ARM定點量化為例,其優點包括低內存帶寬、低功耗、低計算資源佔用。在一些網路中,可以帶來4倍的模型壓縮、4倍的內存帶寬提升,以及更高效的cache利用。在很多場景中,定點量化不會對網路精度造成額外損失。量化主要分為兩大類:Post Training Quantization和Quantization Aware Training,前者是使用KL散度等方法確定量化參數且不需要重新訓練的定點量化方法,後者是對訓練好的模型做再訓練,建模來確定量化參數。在量化訓練過程中,前向傳播的工作流可以表示為如下方式:

基於模擬量化訓練前向過程的等價工作流

在訓練量化的過程中,會在原有網路運算元前後插入連續的量化op和反量化op,並改變相應的反向運算元的輸入,評估階段,將量化運算元參數變為量化後的值,最終通過PaddleLite的工具改變模型文件中的參數數據類型為int8的na?ve buffer形式。

在後續的版本升級中,EasyDL會繼續上線模型裁剪優化。基於敏感度選擇最優的裁剪率組合來進行部分的卷積和裁剪,可以達到一倍以上模型體積的減少和低於1%的精度損失的優化效果。結合定點量化以及後續的蒸餾策略,模型的體積和推理速度會得到更進一步的全面優化。

在晶元層面,EasyDL會根據具體的硬體類型進行特屬優化。比如在ARM64上如果晶元支持NEON,會充分利用其16個128位寄存器進行浮點數計算的優化;在英偉達GPU設備上,EasyDL會利用TensorRT庫進行子圖的計算和加速;在蘋果手機上,會利用CoreML引擎進行推理加速;在華為手機上,如果支持DDK,會調用華為HiAI引擎進行推理。此外,EasyDL還支持英特爾的 MKL OpenVino, 高通的SNPE等推理引擎。在一些平台上,能夠根據具體的深度學習網路、晶元類型進行合理的自動選擇,在保證精度的同時最大化利用晶元能力,極大地提升推理速度。經過網路、硬體等各層面的優化之後,模型在體積、內存佔用、推理速度上都會有更優的表現,部分模型的推理速度可以提升數倍以上。

近期EasyDL新上線了華為Atlas 200、Atlas300加速卡的支持,能夠支持最新DaVinci架構的昇騰310AI處理器,同時兼顧開發板及伺服器的場景。結合EasyDL現有的優化技術,在EasyDL的高性能模型上,可以達到6ms的性能。開啟多Batch優化後,單張300加速卡可以一秒處理高達1000張圖片。

在EasyDL平台上,模型加速優化的全過程都會在系統中自動完成,用戶只需根據自己的場景需要,選擇具體的硬體,即可自動生成適配對應硬體的端計算部署包。現在,在發布模型的時候,用戶只需要勾選「同時獲取加速版」,EasyDL後台便會自動為用戶生成具備量化、壓縮等優化能力的加速版SDK和模型,用戶可以直接下載使用,且使用的流程也基本一致。且部署包的使用十分快速簡便,用戶無需關注深度學習、具體硬體等底層邏輯,只需關注輸入圖片和輸出的識別結果即可。

EasyDL面向企業開發者提供零門檻AI開發平台,一站式支持智能標註、模型訓練、服務部署等全流程功能,內置豐富的預訓練模型,支持圖像分類、物體檢測、文本分類、音視頻分類等多類模型,支持公有雲/私有化/設備端等靈活部署方式。目前,已有數萬家企業根據具體業務場景,通過EasyDL平台僅用少量業務數據訓練高精度AI模型,並根據使用場景和運行環境選擇適配的部署方式。使用門檻低、方便快捷的加速版SDK具備的量化壓縮等能力,正在越來越多的業務場景中發揮作用,快速解決業務需求。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!


請您繼續閱讀更多來自 電子發燒友網 的精彩文章:

三大工程師聯袂解讀如何應對新能源應用設計挑戰