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