昇騰AI處理器晶片

本文來自“ZOMI”,參考自“國內AI晶片:昇騰AI處理器”,“國內AI晶片:昇騰AI計算模式”,“國內AI晶片:昇騰AI核心單元”和“《100+份AI晶片技術修煉合集》”,昇騰 AI 處理器是華為基於達芬奇架構專為AI計算加速而設計的處理器,它支援雲邊端一體化的全棧全場景解決方案,具有高能效比和強大的 3D Cube 矩陣計算單元,支援多種計算模式和混合精度計算。
昇騰 AI 處理器的架構包括了 AI Core、AI CPU、多層級片上快取/緩衝區和數字視覺預處理模組 DVPP,這些元件透過 CHI 協議的環形匯流排實現資料共享和一致性而組成的 SoC。此外,本節還將探討卷積加速原理,即昇騰 AI 處理器如何透過軟硬體最佳化實現高效的卷積計算加速,包括矩陣計算單元和資料緩衝區的高效組合以及靈活的資料通路設計,以滿足不同神經網路的計算要求。

昇騰 AI 處理器

華為公司針對 AI 領域專用計算量身打造了“達芬奇架構”,並於 2018 年推出了基於“達芬奇架構”的昇騰 AI 處理器,開啟了華為的AI之旅。
從基礎研究出發,立足於自然語言處理、機器視覺、自動駕駛等領域,昇騰 AI 處理器致力於打造面向雲邊端一體化的全棧全場景解決方案,同時為了配合其應用目標,打造了異構計算架構 CANN(Computer Architecture for Nerual Network),為昇騰 AI 處理器進行加速計算。全棧指技術方面,包括 IP、晶片、加速計算、AI 框架、應用使能等的全棧式設計方案。全場景包括公有云、私有云、各種邊緣計算、物聯網行業終端及消費者終端裝置。圍繞全棧全場景,華為正以昇騰 AI 處理器為核心,以算力為驅動,以工具為抓手,全力突破 AI 發展的極限。
自 2018 年伊始,如圖所示昇騰 AI 處理器的訓練和推理系列型號陸續推出。推理系列的處理器則是面向移動計算場景的強算力 AI 片上系統(SoC,System on Chip)。訓練系列的處理器主要應用於雲端,可以為深度學習的訓練演算法提供強大算力。
在設計上,昇騰 AI 處理器意圖突破目前 AI 晶片功耗、運算效能和效率的約束,目的是極大提升能效比。昇騰 AI 處理器採用了華為自研的達芬奇架構,專門針對神經網路運算特徵而量身定做,以高效能的 3D Cube 矩陣計算單元為基礎,實現針對張量計算的算力和能效比大幅度提升。每個矩陣計算單元可以由一條指令完成 4096 次乘加計算(如圖所示),並且處理器內部還支援多維計算模式,如標量、向量、矩陣等,打破了其它 AI 專用晶片的局現象,增加了計算的靈活度。同時支援多種類混合精度計算,在實現推理應用的同時也強力支援了訓練的資料精度要求。
達芬奇架構的統一性體現在多個應用場景的良好適配上,覆蓋高、中、低全場景,一次開發可支援多場景部署、遷移和協同。從架構上提升了軟體效率。功耗優勢也是該架構的一個顯著特點,統一的架構可以支援從幾十毫瓦到幾百瓦的晶片,可以進行多核靈活擴充套件,在不同應用場景下發揮出晶片的能耗優勢。

AI 處理器架構

昇騰 AI 處理器本質上是一個片上系統(System on Chip,SoC),主要可以應用在和影像、影片、語音、文字處理相關的應用場景。上圖是早期昇騰其處理器的邏輯架構,其主要的架構組成部件包括特製的計算單元、大容量的儲存單元和相應的控制單元。無論是訓練還是推理的晶片以及上層的硬體型號,基於基於 DaVinci AI 技術架構如圖所示。
該處理器大致可以劃為:晶片系統控制 CPU(Control CPU),AI 計算引擎(包括 AI Core 和 AI CPU),多層級的片上系統快取(Cache)或緩衝區(Buffer),數字視覺預處理模組(Digital Vision Pre-Processing,DVPP)等。晶片可以採用 LPDDR4 高速主存控制器介面,價格較低。目前主流 SoC 晶片的主存一般由 DDR(Double Data Rate)或 HBM(High Bandwidth Memory)構成,用來存放大量的資料。HBM 相對於 DDR 儲存頻寬較高,是行業的發展方向。其它通用的外設介面模組包括 USB、磁碟、網絡卡、GPIO、I2C 和電源管理介面等。

昇騰 910

昇騰 910 處理器的目標場景是雲端的推理和訓練,其架構如圖所示,包含 Davinci Core、DVPP、HBM、DDR4 等元件。
昇騰 910 處理器採用了芯粒(chiplet)技術,包含六個 die: 1 個計算芯粒(包含 32 個 Davinci Core、16 個 CPU Core 和 4 個 DVDP),1 個 IO 芯粒,和 4 個 HBM 芯粒(總計 1.2TB/s 頻寬)。針對雲端訓練和推理場景,昇騰 910 處理器做的最佳化包括:
  1. 高算力: 訓練場景通常使用的 Batch Size 較大,因此採用最高規格的 Ascend-Max,每個 Core 每個週期可以完成 161616=4096 次 FP16 乘累加。
  2. 高 Load/Store 頻寬: 訓練場景下計算反向 SGD 時,會有大量對 Last Level Cache 和片外快取的訪問,因此需要配備較高的 Load/Store 頻寬,因此昇騰 910 除了 DDR 還採用了 HBM 技術。
  3. 100G NIC: 隨著 DNN 的模型尺寸愈發龐大,單機單卡甚至單機多卡已經不能滿足雲端訓練的需求,為了支援多卡多機組成叢集,昇騰 910 集成了支援 ROCE V2 協議的 100G NIC 用於跨伺服器傳遞資料,使得可以使用昇騰 910 組成萬卡叢集。
  4. 高吞吐率的數字視覺與處理器(DVPP): DVPP 用於 JPEG、PNG 格式影像編解碼、影像預處理(對輸入影像上下采樣、裁剪、色調轉換等)、影片編解碼,為了適配雲端推理場景,DVPP 最高支援 128 路 1080P 影片解碼。

昇騰 310

昇騰 310 處理器的目標場景是邊緣推理,比如智慧城市、智慧新零售、機器人、工業製造等,其架構如上圖所示,主要包含 Davinci Core、DVPP、LPDDR4 等元件。
相比昇騰 910,昇騰 310 的定製化 IP 相對較少,但是提供了更多外設介面。
達芬奇架構針對通用卷積的計算特徵和資料流規律,採用功能高度定製化的設計,將儲存、計算和控制單元進行有效的結合,在每個模組完成獨立功能的同時實現了整體的最佳化設計。AI Core 高效組合了矩陣計算單元與資料緩衝區,縮短了儲存到計算的資料傳輸路徑,降低延時。
同時 AI Core 在片上集成了大容量的輸入緩衝區和輸出緩衝區,一次可以讀取並快取充足的資料,減少了對核外儲存系統的訪問頻次,提升了資料搬移的效率。同時各類緩衝區相對於核外儲存系統具有較高的訪問速度,大量片上緩衝區的使用也極大提升了計算中實際可獲得的資料頻寬。
同時針對神經網路的結構多樣性,AI Core 採用了靈活的資料通路,使得資料在片上緩衝區、核外儲存系統、儲存轉換單元以及計算單元之間可以快速流動和切換,從而滿足不同結構的神經網路的計算要求,使得 AI Core 對各種型別的計算具有一定的通用性。

小結與思考

  • 昇騰 AI 處理器的創新:華為推出的昇騰 AI 處理器基於達芬奇架構,專為 AI 領域設計,提供雲邊端一體化的全棧全場景解決方案,以高能效比和強大的 3D Cube 矩陣計算單元為特點,支援多種計算模式和混合精度計算。
  • 昇騰 AI 處理器架構:昇騰 AI 處理器是一個 SoC,集成了特製的計算單元、儲存單元和控制單元,包括 AI Core、AI CPU、多層級片上快取/緩衝區和數字視覺預處理模組 DVPP,透過 CHI 協議的環形匯流排實現模組間的資料共享和一致性。
  • 卷積加速原理:昇騰 AI 處理器針對卷積計算進行軟硬體最佳化,利用 AI Core 的矩陣計算單元和資料緩衝區,縮短資料傳輸路徑,降低延時,並透過靈活的資料通路滿足不同神經網路的計算要求,實現高效能的卷積計算加速。

請之前購買過全店打包架構師技術全店資料打包彙總(全)”的讀者,請憑藉購買記錄在微店留言免費獲取(PDF閱讀版本)。後續所有更新均免費發放目前46本資料)。

免責申明:本號聚焦相關技術分享,內容觀點不代表本號立場,可追溯內容均註明來源,釋出文章若存在版權等問題,請留言聯絡刪除,謝謝。
推薦閱讀
更多架構相關技術知識總結請參考“架構師全店鋪技術資料打包(全)”相關電子書(46本技術資料打包彙總詳情可透過“閱讀原文”獲取)。
溫馨提示:
掃描二維碼關注公眾號,點選閱讀原文連結獲取架構師技術全店資料打包彙總(全)電子書資料詳情


相關文章