2021-2022 機器之心年度趨勢報告 | 趨勢解讀:軟硬協同設計挖掘效能提升空間

機器之心發表於2022-09-07

本文是《2021-2022 年度 AI 技術趨勢發展報告》中計算工程篇章關於軟硬協同設計挖掘效能提升空間的趨勢解讀,點選「機器之心2021-2022年度AI技術趨勢報告 」,獲取報告。


2021-2022 機器之心年度趨勢報告 | 趨勢解讀:軟硬協同設計挖掘效能提升空間

隨著 AI 應用的快速發展,如何在雲、邊、端等硬體場景高效的部署執行 AI 模型,成為 AI 落地的重要一環;純演算法層面的最佳化難以發揮不同硬體平臺的加速特性。軟硬協同最佳化,可以更加極致地挖掘不同硬體平臺的效能潛力。軟硬體協同設計的本質,是希望把軟體和硬體的設計及最佳化統一起來,從而在系統層面獲得高於單一最佳化的收益 [1]。而軟硬體協同的主要難點在於軟體層面語言、編譯模式的不同,導致演算法到架構的對映過程高度複雜。


平頭哥含光 800 軟硬協同設計,實現訓練效能突破

平頭哥是阿里巴巴集團的全資半導體晶片業務主體。平頭哥擁有端雲一體全棧產品系列,涵蓋資料中心人工智慧晶片、處理器IP授權等,實現晶片端到端設計鏈路全覆蓋。平頭哥接連推出了玄鐵、無劍、含光。其中,玄鐵解決指令集、演算法等架構問題;無劍是一個晶片開發平臺,它提供晶片開發的基礎設施;而含光800是平頭哥真正意義的第一款晶片,它是一款具有超級算力的AI晶片。

在2019年8月的雲棲大會上,阿里達摩院釋出了AI推理晶片含光800。在當時的MLPerf基準聯盟公佈首輪AI推理基準測試中,含光800在適用於影像分類任務的Resnet50 v1.5基準測試的四個場景中均都取得了單晶片第一的成績。

平頭哥含光是一顆高效能人工智慧推理晶片,基於 12nm 工藝, 整合 170 億電晶體,效能峰值算力達 820 TOPS。含光 800 採用平頭哥自研架構,透過軟硬體協同設計實現效能突破。平頭哥自主研發的人工智慧晶片軟體開發包,讓含光 800 晶片在開發深度學習應用時可以獲得高吞吐量和低延遲的高效能體驗。在業界標準的 ResNet-50 測試中,含光800推理效能達到78563IPS,比目前業界最好的AI晶片效能高4倍;能效比500IPS/W,是第二名的3.3倍。在杭州城市大腦的業務測試中,1顆含光800的算力相當於10顆GPU。本質上含光800是一款算力強勁的AI晶片,它的使用將解決很多交通、電商、支付等領域的重大計算難題,它今後還將透過阿里雲向外界提供算力服務。

2021-2022 機器之心年度趨勢報告 | 趨勢解讀:軟硬協同設計挖掘效能提升空間

含光800的產品特性具體包括:

  • 單晶片最高AI推理效能。含光NPU採用TSMC 12nm工藝製程,提供全球最高單晶片AI推理效能。在HGAI模型的推理應用中,含光NPU每秒鐘可處理高達78000 IPS的圖片,是同類處理器的數十倍效能。

  • 阿里雲自研神龍裸金屬虛擬化平臺。阿里NPU雲伺服器採用阿里雲自研神龍裸金屬虛擬化平臺,實現全Hypervisor解除安裝,為使用者提供功能無損,效能無損的AI計算加速服務,同時相容阿里雲整體產品生態,為客戶提供資料傳輸、計算、儲存等一系列完整解決方案。

  • 完善的自動化開發工具。阿里平頭哥HGAI自動化開發工具,支援主流開源框架TensorFlow、Caffe、MXNet和ONNX;支援離線量化、編譯以及圖最佳化;支援多模型動態部署以及多裝置管理;完善的裝置驅動除錯工具。

  • 針對業務場景深度最佳化。針對CNN及視覺類演算法,如ResNet-50,SSD/DSSD,Faster-RCNN,DeepLab等模型進行了深度最佳化。因有效最佳化了計算、儲存密度,可實現大網路模型在一顆NPU上完成計算。


2020年3月,阿里雲飛天AI加速引擎AIACC與含光800的組合,打敗了Google,推理延遲最低,能效比達500IPS/W。AIACC是業界首次統一加速Tensorflow、PyTorch、MXNET、Caffe等主流開源框架的效能加速引擎,AIACC-Inference充分了揮發含光800超高的計算能力,這是阿里雲軟硬體一體化極致效能最佳化的又一典範。

2021-2022 機器之心年度趨勢報告 | 趨勢解讀:軟硬協同設計挖掘效能提升空間
2022年4月7日,全球權威AI基準測試MLPerf釋出最新榜單,在聚焦低功耗、高能效的IoT領域Tiny v0.7榜單中,在不使用加速器的情況下,阿里基於平頭哥玄鐵RISC-V C906處理器提交的軟硬體聯合最佳化結果,在滿足精度要求的同時,重新整理了全部4個benchmark指標的紀錄,創造了RISC-V架構在AI基準測試的最好成績。MLPerf是業界衡量機器學習軟硬體效能的通用基準。這意味著在AIoT領域,RISC-V架構能以極低的計算代價實現定製化AI功能。基於RISC-V架構的玄鐵處理器已服務各行業企業,例如人工智慧企業雲天勵飛、老牌晶片商炬芯科技等。

玄鐵C906這一成績的取得,主要是得益於阿里軟硬體協同創新最佳化的實力,包括了從硬體的處理器,到軟體的編譯框架、演算法、網路結構最佳化,再到應用的各個方面[4],最終是阿里雲AI團隊與平頭哥團隊協作的結果。

  • 首先,在硬體層面,玄鐵C906處理器是業界最早量產的向量擴充套件RISC-V指令集處理器。採用5~8級流水線設計,配備效能優異的單雙精度浮點和128位向量運算單元,支援INT8 / INT16 / INT32 / INT64 以及 BF16 / FP16 / FP32 / FP64多種格式的向量運算。同時,C906在資料預取上也做了最佳化,採用多通道多模式的資料預取技術,可大幅提升資料訪問頻寬。

  • 其次,在編譯層面,平頭哥進一步最佳化了針對玄鐵CPU平臺的神經網路模型部署工具集HHB(Heterogeneous Honey Badger) 及開源神經網路加速庫CSI-NN2,將AI運算元更好地與硬體適配,使得玄鐵CPU實現了AI效能升級。

  • 第三,在演算法層面,藉助阿里雲震旦異構計算加速平臺SinianML對各個benchmark的神經網路進行了壓縮、蒸餾、伸縮、網路結構搜尋等多方位的最佳化,在保證達到要求精度目標的情況下,得到遠高於標準模型的計算效率,同時整合阿里IoT、螞蟻IoT、達摩院語音實驗室等在各自領域的最佳化經驗和能力,進一步擴充細分領域的最佳化的效果。

  • 第四,在應用層面,玄鐵RISC-V處理器經過數年的發展,目前已覆蓋低功耗、高能效、高效能等各類場景,並支援了OpenXuantie的多作業系統(AliOS、FreeRTOS、RT-Thread、Linux、Android等),廣泛應用於智慧家電、車載、工業控制、邊緣計算等領域。這也使得玄鐵RISC-V處理器能夠針對各種不同應用端的需求進行持續最佳化。


阿里雲震旦異構加速平臺釋放異構晶片算力

阿里雲自研震旦異構計算加速平臺,適配 GPU、ASIC 等多種異構AI晶片,最佳化編譯程式碼,深挖和釋放異構晶片算力,支援 TensorFlow、Caffe、PAI 等多種深度學習框架,可實現 AI 框架及演算法的無縫遷移適配,支援雲變端多場景快速部署,大幅提升 AI 應用開發效率。

阿里基於平頭哥玄鐵RISC-V C906處理器提交的MLPerf的軟硬體聯合最佳化結果就得益於阿里雲震旦異構計算加速平臺。具體到硬體層面阿里雲震旦異構加速平臺主要是依靠其穩定強大的軟硬體協同最佳化能力,基於搭載自研ARM架構處理器的磐久伺服器M系列,利用模型最佳化工具SinianML進行了針對影像分類的神經網路架構搜尋(Neural Architecture Search,NAS)和模型壓縮,並透過震旦運算元Autotune能力得到適配ARM架構處理器的最佳運算元實現,在保證達到基準測試精度目標同時,能得到遠高於標準ResNet50 v1.5的計算效率,在資料中心、邊緣計算和IoT領域的多項測試場景中獲得最高分。此外,震旦平臺進行了多層次運算元融合並對ARM架構處理器最佳化,從而大大提高了CPU算力利用率。阿里雲磐久伺服器M系列獲得CPU領域提交資料效能第一,且單顆晶片的總體效能在資料中心和邊緣側均是第一。

基於搭載自研ARM架構處理器的磐久伺服器M系列,阿里雲震旦異構計算加速平臺利用模型最佳化工具SinianML進行了針對影像分類的神經網路架構搜尋(Neural Architecture Search,NAS)和模型壓縮,並透過震旦運算元Autotune能力得到適配ARM架構處理器的最佳運算元實現,在保證達到基準測試精度目標同時,能得到遠高於標準ResNet50 v1.5的計算效率。

此外,震旦平臺進行了多層次運算元融合並對ARM架構處理器最佳化,從而大大提高了CPU算力利用率。依靠軟硬協同最佳化,阿里雲磐久伺服器M系列成為MLPerf有史以來首個獲得CPU Only推理效能第一的伺服器,且單顆晶片的總體效能在資料中心和邊緣側均是第一。

2021-2022 機器之心年度趨勢報告 | 趨勢解讀:軟硬協同設計挖掘效能提升空間
Tiny場景是MLPerf近年新增的效能測試分類,有別於Datacenter等大規模、高算力的情景,Tiny聚焦於低功耗、高價效比的IoT場景,聚焦於IoT智慧應用場景下的軟硬體效能和最佳化能力。在此次公佈的MLPerf Tiny 0.7效能資料榜單中,震旦異構計算加速平臺結合平頭哥自研RISC-V玄鐵C906處理器在MLPerf Tiny所有4項Benchmark上的CPU效能資料均是第一。硬體方面,平頭哥自研RISC-V玄鐵C906處理器和工具鏈提供了強大的硬實力;軟體層面,阿里雲震旦異構計算加速平臺SinianML對各個benchmark的神經網路進行了壓縮、蒸餾、伸縮、網路結構搜尋等多方位的最佳化,在滿足模型精度要求的同時,得到了遠高於標準模型的計算效率,同時整合阿里IoT、螞蟻IoT、達摩院語音實驗室在各自領域的最佳化經驗和能力,在細分領域進一步擴充最佳化。
2021-2022 機器之心年度趨勢報告 | 趨勢解讀:軟硬協同設計挖掘效能提升空間

百度飛槳與國內外晶片進行廣泛適配和深度融合最佳化

面對趨於多樣化的應用場景,AI 推理對軟硬體的效能和功耗正提出更嚴苛的要求,並對原始資料保護產生越來越高的訴求。對此,百度飛槳總架構師於佃海指出,飛槳團隊在模型壓縮最佳化的基礎上持續投入,同時在構建端邊雲全場景的推理引擎,希望在推理側做到較高的硬體覆蓋廣度和支援度,形成特色優勢。

飛漿在WAVE SUMMIT 2022 介紹,飛漿的路線是“聯合硬體生態夥伴,透過技術的聯合研發和生態共建,一起開拓出更多軟硬體協同的產品和功能,共創飛槳和硬體合作共贏的生態”。飛槳框架針對不同的硬體設計,提供了運算元接入、圖引擎接入和編譯器接入等多種方案,並與眾多硬體廠商共同進行了軟硬協同的深度最佳化,充分發揮了軟體和硬體的效能優勢。在框架層面,飛槳提供了便利的 Pass 二次開發能力,統一的 Kernel 開發介面” Kernel Primitive API”,並透過編譯器CINN提供更多自動融合及程式碼生成最佳化。

目前,Intel、NVIDIA、瑞芯微、Arm、Imagination、Graphcore、靈汐科技、崑崙芯、天數智芯、愛芯元智等硬體廠商夥伴已釋出或即將釋出基於飛槳開發的定製版框架、模型庫及培訓內容等[7]。在WAVE SUMMIT 2022 主論壇上,5家硬體夥伴代表分別介紹了當前共創計劃的合作進展。

  • Intel--“從2018年合作開始,百度飛槳和Intel不斷擴充了合作的深度和廣度。”Intel表示,雙方成立了聯合技術團隊,從硬體上積極適配英特爾全棧AI產品。在軟體層面,Intel的oneAPI也整合進了飛槳,並對大多數模型進行了效能最佳化;IntelAI推理工具套件OpenVINO 2022.1版本的升級釋出也正式直接支援飛槳模型,大大提升了模型在Intel異構硬體上的推理效能。

  • NVIDIA--NVIDIA亞太區資深產品經理鄭彬表示,針對使用者的多層次需求,NVIDIA與飛槳進行了軟硬體的深度整合和最佳化,2022年雙方攜手開發了三大主要產品,包含基於NVIDIA GPU定製最佳化的飛槳容器、易於訓練和部署的飛槳深度學習模型示例。

  • 瑞芯微--瑞芯微圖形計算器平臺中心總監熊偉表示,以更好踐行讓AI賦能更多應用場景為目標,瑞芯微在RKNN模型庫中與飛槳共同釋出飛槳模型部署示例,繼旗下RK1808等晶片適配飛槳輕量化推理引擎後,瑞芯微最新旗艦晶片RK3588也將相容適配飛槳模型,在軟硬一體的場景標杆打造、培訓共同客戶等方面與飛槳一同努力,幫助開發者更快、更好地落地AI應用。

  • Arm--Arm物聯網兼嵌入式事業部業務擴充副總裁Chloe Ma表示:“Arm將與飛槳持續共創深度學習軟硬體一體生態,將最新的Arm虛擬硬體與飛槳平臺深度結合,同時雙方還合作推出高效執行於Arm物聯網平臺的產業級模型庫Model Zoo。”

  • Imagination--Imagination計算產品副總裁Shreyas Derashri表示:“2021年,Imagination和百度飛槳在全球人工智慧(AI)生態系統方面開展合作,在算力和演算法方面優勢的深度融合,可為行業提供更最佳化的解決方案。”


崑崙XPU

崑崙芯科技是一家AI晶片公司,2021年4月完成了獨立融資,首輪估值約130億元。公司前身是百度智慧晶片及架構部,在實際業務場景中深耕AI加速領域已十餘年,是一家在體系結構、晶片實現、軟體系統和場景應用均有深厚積累的AI晶片企業崑崙芯1代在百度搜尋引擎、小度等業務中部署超過2萬片,是國內唯一一款經歷過網際網路大規模核心演算法考驗的雲端AI晶片產品。崑崙芯2代採用7nm製程,也已於2021年8月量產。更先進的崑崙芯3代、自動駕駛晶片等多個產品均已啟動研發[8]。

2021-2022 機器之心年度趨勢報告 | 趨勢解讀:軟硬協同設計挖掘效能提升空間

崑崙 XPU 基於 Kernel Primitive API,不僅複用了大部分原有運算元實現,還透過對 Kernel Primitive API 的統一最佳化使運算元在 XPU 上達到最佳效能。Graphcore IPU 透過自定義 Pass,充分發揮了飛槳框架在 IPU 上的訓練和推理效能,達到了與 Graphcore 原生圖引擎一致的效能。編譯器 CINN使用更加通用的“基礎運算元”組合實現複雜運算元,並透過豐富的自動融合技術和程式碼生成技術進
行最佳化,在 GPU 上達到了與手工最佳化一致的效能。

崑崙芯XPU架構如下圖所示,其中,核心張量計算單元SDNN(軟體定義神經網路引擎)用於加速卷積和矩陣乘法;Cluster為通用計算部件;支援GDDR6;Shared Memory片上共享記憶體,有力保證了計算單元的高併發、低時延訪問;提供高達200GB/s的片間互聯頻寬,有效提升了大規模分散式訓練中的資料傳輸效率,減少通訊延時;支援PCIe第四代介面,雙向頻寬可達到64GB/s。

2021-2022 機器之心年度趨勢報告 | 趨勢解讀:軟硬協同設計挖掘效能提升空間

華為·昇騰 CANN 5.0 透過軟硬協同最佳化,實現訓練效能再翻倍

CANN (Compute Architecture for Neural Networks)是華為公司針對AI場景推出的異構計算架構,透過提供多層次的程式設計介面,支援使用者快速構建基於昇騰平臺的AI應用和業務。它對上支援業界主流前端框架,向下對使用者遮蔽系列化晶片的硬體差異,以豐富的軟體棧功能滿足使用者全場景的人工智慧應用訴求。

2018年9月,華為釋出CANN 1.0 昇騰AI使能平臺。2020年8月,CANN 3.0版本釋出,CANN3.0的三大使能特點包括:

  • 使能全場景:透過支援業界主流AI框架,支援14+種主流作業系統,實現一次開發,全場景各種硬體形態和執行環境的靈活部署。CANN透過Plugin適配層,能輕鬆承接基於不同框架開發的AI模型,將不同框架定義的模型轉換成標準化的Ascend IR(Intermediate Representation)表達的圖格式,遮蔽框架差異,大大方便了開發者切換平臺的工作。

  • 使能極簡開發:透過統一程式設計介面AscendCL(Ascend Computing Language),為開發者遮蔽底層處理器的差異,支援開發者只需要掌握一套API,就可以全面應用於昇騰全系列晶片+推理、訓練全場景。AscendCL是昇騰硬體的統一程式設計介面,包含了程式設計模型、硬體資源抽象、AI任務及核心管理、記憶體管理、模型和運算元呼叫、媒體預處理介面、加速庫呼叫等一系列功能,充分釋放昇騰系統多樣化算力,使能開發者快速開發AI應用。

  • 使能極致效能:透過軟硬協同最佳化,親和昇騰的圖編譯技術,以及超過1200個高效能運算元,來釋放昇騰晶片的澎湃算力。內建TBE運算元開發工具:預置豐富API介面,支援使用者自定義運算元開發和自動化調優,縮短工期,節省人力。基於昇騰處理器,深度協同最佳化的高效能運算元庫。圖編譯器將具有較高抽象度的計算圖,根據昇騰AI處理器的硬體結構特點,進行自動運算元融合、Buffer融合等編譯最佳化,從而能夠高效執行。當計算圖中含有多型別的計算任務時,CANN充分利用昇騰AI處理器豐富的異構計算資源,在滿足圖中依賴關係的前提下,將計算任務分配給不同的計算資源,實現平行計算,提升各計算單元的資源利用率,最終提升計算任務的整體效率。引入自動混合精度,實現模型加速執行。整合HCCL(Huawei Collective Communication Library,華為集合通訊庫),為昇騰AI處理器多機多卡訓練提供了資料並行/模型並行的高效能集合通訊方案。


2021年12月,CANN釋出5.0版本,利用圖計算的原理,來分析叢集訓練的流水線分佈、記憶體分配,針對不同機器的特點進行了架構上的設計,合理分配各個節點中的記憶體和通訊時間,來提高機器整體的計算效率。CANN 5.0相比於3.0版本,在典型推理場景,效能可實現30%到140%的提升;大規模叢集訓練及常用模型訓練,更可達到效能翻番。具體來說,包括下述四個自研技術:

  • 自動流水--CANN 5.0 將計算指令和資料載入實現多流水並行,該最佳化允許使用者對載入資料進行分段,當載入資料滿足分段資料量時即刻啟動後續計算邏輯,同時後續資料持續載入,當後續分段資料載入完成且流水空閒時,依次再啟動後續計算,充分發揮昇騰AI處理器多流水並行能力,實現無縫多流水銜接。

  • 運算元融合--CANN 5.0 在 3.0 基礎上識別了更多的融合場景,透過多運算元自動融合減少計算節點數,有效減少記憶體複製;並且透過靈活可定製的融合規則讓計算圖中的運算元得以最大程度融合,為開發者贏得了更多的計算效能收益。

  • 自適應梯度切分--CANN 5.0 透過智慧梯度切分演算法,自動搜尋出最優梯度引數切分方式,為梯度傳輸選擇合適的通訊時機和通訊量,最大限度讓計算和通訊並行執行,將通訊拖尾時間降至最低,可促使叢集訓練達到最優效能。

  • AutoTune 智慧計算調優--CANN 5.0 透過智慧化資料切分技術,為網路量身定製一個最優的切分策略,實現單個計算單元滿載計算,充分利用硬體資源,而帶來可觀的效能收益。

CANN作為AI領域的異構計算架構,不僅能極大程度釋放硬體效能,為AI應用提供強大的算力支援,還藉助“基於AI Core切分的算力虛擬化技術”,最高可支援切分成32個分片,充分提升了硬體的資源利用率。下圖為CANN 5.0 的算力虛擬化框架,基於該框架,可支援虛擬機器、容器的單一或混合部署,並能支援不同型別算力單元的劃分,實現算力、記憶體、頻寬的靈活切分、隔離。

2021-2022 機器之心年度趨勢報告 | 趨勢解讀:軟硬協同設計挖掘效能提升空間

參考資料
[1] 陳瑤,郝聰,邊緣 AI 軟硬體協同設計的機遇與挑戰,中國計算機學會通訊,2021年第3期
https://dl.ccf.org.cn/article/articleDetail.html?type=xhtx_thesis&_ack=1&id=5354023236405248[2]https://ishare.ifeng.com/c/s/v002Gx6x8UPKrDg7ujnydYArv4VjR5vWdpV8f-_cCKyloVuM__[3]https://www.aliyun.com/daily-act/ecs/npu_sales spm=a2ouz.23251504.0.0.181810adKTF7G7[4] https://www.sohu.com/a/538158149_128469
[5] https://mp.weixin.qq.com/s/m5dDtIRGIJvE0S00kVN2UQ
[6] https://zhidx.com/p/331354.html
[7] https://blog.csdn.net/PaddlePaddle/article/details/125108854
[8] https://www.kunlunxin.com.cn/93.html
[9] https://e.huawei.com/cn/products/cloud-computing-dc/atlas/cann
[10]https://bbs.huaweicloud.com/blogs/301096?utm_source=zhihu&utm_medium=bbs-ex&utm_campaign=other&utm_content=content



點選「機器之心2021-2022年度AI技術趨勢報告 」,獲取報告。已獲得「機器之心Pro 會員」全功能賬號許可權的使用者可直接下載檢視。如您還沒有「機器之心Pro會員」,掃描下方二維碼關注「機器之心Pro」服務號(id:almosthuman2014pro),進入服務號主頁,點選對話方塊,編輯傳送「機器之心Pro會員」諮詢,客服值班時間為工作日的10:00 - 19:00。


2021-2022 機器之心年度趨勢報告 | 趨勢解讀:軟硬協同設計挖掘效能提升空間

相關文章