我最近在搬新家,發(fā)現(xiàn)自己需要一把螺絲刀;五分鐘后,我又需要一把刀子打開信封;到搬家接近尾聲時,我發(fā)現(xiàn)我又需要一個開罐器。我意識到在每項操作時我一指都在使用非常專門的工具。我的朋友看到這種情況,送了我一把瑞士軍刀, 它提供了我需要的所有工具,而且還能滿足其它新的需求。這時候, 我想起公司的自適應計算加速平臺 (ACAP) ,面對當今的人工智能 (AI) 或者說更廣泛的應用領(lǐng)域, 它不就是一把瑞士軍刀嗎?
賽靈思的 ACAP - 面向 AI 推斷及更多應用領(lǐng)域的瑞士軍刀
應用于工業(yè)和醫(yī)療領(lǐng)域的基于 AI 的系統(tǒng),正越來越多地從研究項目和原型走向產(chǎn)品化階段。這也就帶來了專門針對邊緣器件的關(guān)鍵需求,例如在低價格、低功耗和低時延下提高算力和性能。此外,AI 科學家正在不斷創(chuàng)新,旨在開發(fā)出更新穎的算法和模型,這就需要對不同的硬件架構(gòu)進行優(yōu)化。
賽靈思自適應計算加速平臺 (ACAP) ,可用于為一系列應用中的核心工業(yè)功能和醫(yī)療功能加速,如電動機控制(控制算法)、機器人(運動規(guī)劃)、醫(yī)療成像(超聲波束成型)等,但我們這次重點介紹 AI。
賽靈思與當下AI發(fā)展
2018年收購深鑒科技 (Deephi), 加上Zynq® UltraScale+? MPSoC 的自適應計算特質(zhì),賽靈思一躍成為 AI 推斷領(lǐng)域的前沿廠商。Deephi 曾發(fā)表全球首篇有關(guān)壓縮和稀疏神經(jīng)網(wǎng)絡(luò)的論文文《深度壓縮》(Deep Compression)。深度壓縮這種方法能在不損失預測準確度的情況下成數(shù)量級地壓縮神經(jīng)網(wǎng)絡(luò)(模型經(jīng)深度壓縮后,能加快推斷速度 3-4 倍,提高能效 3-7 倍)。賽靈思 Zynq UltraScale+ MPSoC 的核心組件包括應用處理器 (Arm® Cortex-A53)、實時處理器 (ARM Cortex-R5) 和可編程邏輯 (PL)。這種平臺能將壓縮后的輸出神經(jīng)網(wǎng)絡(luò)部署在 PL 中實現(xiàn)的深度學習單元 (DPU) 上,為壓縮后的神經(jīng)網(wǎng)絡(luò)提速,使之發(fā)揮出更高性能。因為 DPU 實現(xiàn)在 PL 中,它的大小可以根據(jù)不同的并行化程度進行改變,并且還可以根據(jù)您選擇的平臺中可用的硬件資源,部署為單核、雙核或三核甚至更多。
2017 年,為進一步發(fā)揮自適應計算能力,賽靈思發(fā)布了 INT8 DPU,從浮點 (FP32) 變?yōu)檎麛?shù) (INT8),在保持良好精度的同時,大大節(jié)省了內(nèi)存、存儲空間和帶寬。
接下來,一個嚴重的問題出現(xiàn)了:在工作中使用大量深度學習框架(TensorFlow、Caffe、Darknet 等)的 AI 科學家希望在賽靈思產(chǎn)品組合中嘗試多種硬件平臺,為他們的用例找到最佳方案。此外,他們還希望在開發(fā)工作中使用他們最熟悉的語言。為此,2019 年,賽靈思推出了名為 Vitis AI? 的統(tǒng)一軟件平臺工具來滿足上述需求。開發(fā)者通過該平臺,可以使用常見的編程語言處理常見深度學習框架中的各種模型,而且能夠支持從邊緣到云任何器件的產(chǎn)品。此外,Vitis AI 自帶 50 多種預訓練、預優(yōu)化的開源 AI 模型(賽靈思 Model Zoo),可以用定制數(shù)據(jù)集進行再訓練,與其他從頭開始培訓和優(yōu)化模型的方案相比,Vitis AI有利于 AI 軟件開發(fā)者從一個更高的起點啟動設(shè)計。
賽靈思面向當今AI應用的“六把刀”:
· 減少資源的使用 – 較低精度 (INT8) 的壓縮神經(jīng)網(wǎng)絡(luò)能減少 DSP、查找表 (LUT) 的使用,并降低存儲器占用
· 降低功耗 – 資源使用量的減少自然有利于降低功耗
· 減小 BOM 成本 – 在成本不變的情況下使用更多的可用資源,含外部功能
· 支持深度學習框架 – 包括Caffe、PyTorch 和 TensorFlow
· 統(tǒng)一的開發(fā)工具 – 使用賽靈思 Vitis 和 Vitis AI,支持從邊緣到云端的任意器件開發(fā)
· 最大限度不更改AI 軟件開發(fā)者的基本工作流程
面向賽靈思硬件平臺AI 推斷開發(fā)的賽靈思 Vitis AI 開發(fā)平臺
賽靈思與未來的 AI
作為當今AI 領(lǐng)域扮演重要角色的技術(shù)提供商,賽靈思通過自己的硬件平臺提供自適應計算能力,持續(xù)為塑造 AI 的未來而不懈努力。其中兩項賽靈思正在開發(fā)的多種未來自適應計算方法包括:
· INT4 DPU
· FINN – 高速可擴展的量化神經(jīng)網(wǎng)絡(luò)推斷
注釋:本節(jié)中討論的方法目前還沒有被賽靈思產(chǎn)品化,在本文中討論的目的是展現(xiàn)賽靈思硬件平臺的自適應計算功能。
A. INT4 DPU
INT8 在 AI 推斷方面提供了比浮點運算顯著提高的性能。展望邊緣計算在未來的性能要求,我認為需要在降低或保持資源需求的前提下提高性能并降低時延,這樣一來 INT4 優(yōu)化將成為必然,屆時,硬件性能可以隨著時間的推移而不斷改進。從 INT8 DPU 升級到 INT4 DPU,已經(jīng)在現(xiàn)場完成部署的現(xiàn)有賽靈思器件,能在減少邏輯和片上存儲器占用同時,實現(xiàn)高達 77% 的性能提升。
在 INT4 DPU 上部署神經(jīng)網(wǎng)絡(luò)的第一步是實現(xiàn)整個量化過程的硬件友好。INT4 量化方法可以劃分為三類:
1. 量化機制
2. 量化設(shè)計硬件友好度
3. 量化感知訓練
賽靈思使用量化感知訓練 (QAT)。為有效改善低比特與全精度神經(jīng)網(wǎng)絡(luò)的精度差異提供了關(guān)鍵技術(shù)。QAT 選用的算法是逐層量化感知訓練。這種方法可以用于圖像分類、姿態(tài)估計、2D 與 3D 檢測、語義分割和多任務處理。
在其他開發(fā)流程保持不變的基礎(chǔ)上,用戶只需將導入訓練后的模型通過賽靈思 Vitis AI 運行,最終生成可為目標平臺部署的模型。除了已經(jīng)介紹過的更低比特推斷帶來的如降低資源占用、降低功耗、降低BOM成本,支持常見的深度學習框架和編程語言等優(yōu)勢外,相比于 INT8 ,INT4 DPU 還能帶來 2 倍到 15 倍的性能提升。
B. FINN
賽靈思研究實驗室在 2017 年發(fā)表了第一篇有關(guān) FINN 項目的論文,討論了第二代 FINN 框架(FINN-R),這種端到端工具提供設(shè)計空間探索,并支持在賽靈思硬件平臺上自動完成全定制推斷引擎的創(chuàng)建。
與 Vitis AI 相似,F(xiàn)INN-R 支持多種常見的深度學習框架 (Caffe、 TensorFlow、DarkNet) 并允許用戶以邊緣和云端的多種硬件平臺為開發(fā)目標(Ultra96、PYNQ-Z1 和 AWS F1 實例)。
FINN-R 有一個主要目標:針對給定的設(shè)計約束集和專門的神經(jīng)網(wǎng)絡(luò),找出可以實現(xiàn)的最佳硬件實現(xiàn)方案并自動完成此目標,以便用戶立即在他們的賽靈思硬件平臺上獲得由此帶來的優(yōu)勢。FINN-R 如何達成這個目標?方法是完整的推斷加速器架構(gòu)選擇和 FINN-R 工具鏈。用戶有兩種不同的架構(gòu)可供選擇:
一種是為用戶的神經(jīng)網(wǎng)絡(luò)量身定制的架構(gòu),稱作數(shù)據(jù)流架構(gòu) (DF);另一種則是數(shù)據(jù)流流水線架構(gòu) (MO),用于卸載相大部分的計算負載并通過流水線迭代。
FINN-R 工具鏈的構(gòu)成包括前端、中間表達和后端。它導入量化神經(jīng)網(wǎng)絡(luò) (QNN) 并為 DF 和 MO 架構(gòu)輸出部署包。如今的 FINN-R 能夠為 BinaryNet、Darknet、Tensorpack 提供前端,而且更重要的是,由于它的模塊性質(zhì),通過添加額外的前端它就能為新出現(xiàn)的 QNN 框架提供支持。用戶可以隨意選擇部署包,只要保證選擇的部署包在自己的設(shè)計約束下是最佳硬件實現(xiàn)方案。
FINN 和 INT4 DPU 的主要差別在于 FINN 可以為任何低比特神經(jīng)網(wǎng)絡(luò)生成定制化硬件實現(xiàn)方案,其中的權(quán)重、激活函數(shù)和層數(shù)可以有不同精度。此外,F(xiàn)INN 還豐富的定制空間,如層數(shù)和運算符。這對于在給定的硬性設(shè)計約束條件下優(yōu)化設(shè)計性能非常有價值。另一方面,就常見的深度學習框架而言,INT4 DPU 的模型推斷加速性能比今天的 INT8 DPU 高 77%,而且在硬件資源固定的條件下,能將模型部署到從邊緣到云端的任何器件上。這兩個流程進一步豐富了用戶運用賽靈思平臺加速推斷、打造 AI 未來 的大量應用選擇。
結(jié)論
AI 和機器學習的重要性毋庸置疑。固定架構(gòu)確實可以很好地滿足當今某些應用場景, 然而展望未來,機器學習的模型和它們的需求在不斷變化,新的、未知的需求也在不斷涌現(xiàn)。而無論如何變化,這些模型也將不斷基于需求變化。賽靈思的自適應計算加速平臺既能滿足了當今的 AI 需求,也能自適應不斷演進發(fā)展的 AI 未來需求。也就是說,借助計算平臺,可以支持AI 開發(fā)者立足當下開展設(shè)計,同時通過可以應對未來變化的嵌入式平臺為未來的 AI 布局做好準備?,F(xiàn)在我要拿出我的瑞士軍刀,開一罐豆子當晚餐。