- Advertisement -
首頁 標籤 HBM2

HBM2

- Advertisment -

AI異構運算工作負載有解 HBM/運算加速相得益彰

近年來,異構運算(Heterogeneous Computing)逐漸興起,進而拓展了後摩爾定律時代在加速運算密集型工作負載方面的創新。當前資料中心產業中,普遍採用異構運算進行加速的工作負載種類繁多,包括人工智慧、即時視訊轉碼和基因組分析,而這些僅僅是其中的一部分。FPGA元件則為現代資料中心工作負載提供了靈活應變能力和運算加速能力。 然而,在很長的一段時間內,DDR記憶體架構的演進並不足以跟上運算加速領域的創新步伐。在過去十年中,雖然平行記憶體介面的頻寬性能得到改善,但進展依然緩慢;現在的FPGA支援的最大DDR4資料速率仍然只有2008年DDR3的兩倍左右。相比之下,自2008年以來,FPGA的運算能力卻提高了近八倍,而且隨著配備AI運算單元的元件推出,預計未來兩年內還會有更大的成長空間(圖1)。因此,在資料中心領域,記憶體頻寬與容量將成為眾多運算和記憶體頻寬密集型工作負載發展的主要限制因素。 圖1 FPGA運算性能成長與DDR頻寬提升比較   HBM2提升AI運算效能 HBM(High Bandwidth Memory)是一種高速的系統級封裝(SiP)記憶體技術,它使用垂直互聯的DRAM晶片堆疊和一個寬(1024位元)介面,與採用傳統打線接合封裝的記憶體產品相比,可實現更大的儲存容量和更高的資料頻寬。聯合電子裝置工程委員會(Joint Electron Device Engineering Council, JEDEC)在2013年開始啟用初代HBM標準,2016年1月,第二代HBM2版本成為業界標準(圖2)。 圖2 HBM和2.5D結構 HBM2標準支援4個或8個8Gb DRAM裸晶逐個堆疊在一起,由一個2.5D矽中介層(Interposer)提供支援,該中介層可將記憶體堆疊與底層電路板連接起來。堆疊一些裸晶(通常是記憶體)而不是其他裸晶(通常是處理器)的多晶片封裝被稱為2.5D元件。 可以將多個堆疊整合在同一個封裝中。與傳統的多晶片DRAM產品相比,透過在一個電路板上堆疊多個裸晶並將其堆疊得更緊密,可以大大減少HBM記憶體封裝的占板面積。由於縮短了訊號在設備之間的傳輸距離,HBM技術還可以提高系統性能。此外,較短的傳輸距離可以減少傳輸定量資料所需的能量(圖3)。 圖3 HBM裸晶堆疊技術 HBM具備先進的矽穿孔(Through Silicon Via, TSV)技術、微尺度互聯和突破極限的I/O數量,可以增加記憶體頻寬,與競爭對手相比,在用於繪圖卡的圖形雙數據速率(GDDR)記憶體方面,HBM無疑能提供更高性能。在元件級別,單個三星HBM堆疊可以提供高達307GB/s的資料頻寬,實現比GDDR5晶片快近10倍的資料傳輸速度。而在系統級別,與使用於GDDR的解決方案相比,HBM則能提供近3倍的輸送量,並且能將功耗降低80%,同時還可以節省寶貴的電路空間(圖4)。 圖4 HBM與GDDR頻寬比較 支援HBM的Virtex UltraScale+ FPGA提高了記憶體頻寬,例如,兩個三星HBM2記憶體堆疊可提供高達460GB/s的速度。將一個或兩個HBM2堆疊與各種尺寸的FPGA邏輯和DSP進行配對,為使用者應用選擇較佳的運算能力與記憶體頻寬/容量組合。如賽靈思(Xilinx) Alveo U280網路加速卡基於16nm UltraScale+架構,採用8GB三星HBM2,可為資料庫搜索與分析、機器學習推論及其他記憶體限制應用提供較高等級的加速功能。本文以深度神經網路與資料庫加速方面的研究為例,展示了支援HBM的元件優勢。 加速語言翻譯準確性 各種雲端應用正在提供自動即時語言翻譯服務,這種服務可以使用基於神經網路的機器學習方法在兩種語言之間翻譯語句。編碼器-解碼器架構推動了當今的商業自動化翻譯服務。在使用機器執行翻譯任務時,兩種語言的單詞經由一個稱為單詞嵌入的過程,以高維向量的形式呈現;因此,單詞之間的關係可以通過向量進行量化建模和反映。遞迴神經網路(Recurrent Neural Networks, RNN)、卷積神經網路(Convolution Neural Network, CNN)和基於注意力的模型等結構通常用於執行編碼和解碼功能。 近期研究表明,在語言翻譯中,只有採用基於注意力的網路才能達到業界一流的準確性。研究論文中所描述的注意力機制,即縮放點積注意力,是由兩個矩陣乘法和其他函數(Scale、Mask和Softmax)構成的。多頭注意力結構通常由多個並行的縮放點積注意力與不同的輸入投影構成。該結構與前饋網路共同用於構建整個語言翻譯模型的解碼器和編碼器(圖5)。 圖5 基於注意力的神經網路語言翻譯模型 如圖5所示,基於注意力的語言翻譯模型的主要運算強度來自於對縮放點積注意力和前饋網路的點積計算。這些點積通常被組合到矩陣乘法計算,以實現更高效的運算。然而,與傳統在整個空間中大量重複使用權重參數以減少資料移動痕跡的卷積神經網路不同,這種基於注意力的模型幾乎不重複使用輸入空間參數,導致對矩陣乘法計算的記憶體頻寬要求要高得多。 透過建立一個轉換器分析模型,其是用於語言翻譯的注意力神經網路,並且已經完成了構建與映射以便在UltraScale+元件上實現。FPGA實現方案的架構採用DSP脈動陣列來執行矩陣乘法。中間的啟動資料儲存在晶片的URAM中,可以消除啟動造成處理器和晶片外記憶體之間的資料移動。HBM或DDR用於儲存所有嵌入字典的單詞嵌入與權重參數。 針對具有不同句子長度(L)和句子數量的英德翻譯任務,也稱為批次處理大小(B),對其進行分析就可以瞭解附加DDR的元件和支援HBM的元件的時間延遲(Time...
0

緩解資料移動/存取瓶頸 HBM大幅加速AI應用

本文將以賽靈思(Xilinx)旗下解決方案為例,透過深度學習和資料庫加速的案例,闡述一個均衡且支援三星HBM2的賽靈思運算加速器系統,如何提供具備最佳靈活性、效率和效能的高效運算加速解決方案。 近年異質運算逐漸興起,拓寬了後摩爾定律時代在加速運算密集型作業負載的創新。在當前資料中心產業中,普遍採用異質運算進行加速的作業負載種類繁多,包含人工智慧、即時視訊轉碼和基因組分析,而這些僅僅是其中的一小部分。 然而,長期以來,DDR記憶體架構的演進並不足以跟上運算加速領域的創新步伐。在過去十年裡,並行記憶體介面的頻寬效能雖有改善但進展緩慢;現今FPGA所支援的最大DDR4資料速率仍然只有2008年DDR3的2倍左右。相比之下,自2008年以來,FPGA的運算能力已提高了近8倍,且隨著配有AI核心的Versal元件推出後,預計未來兩年內還有更大的成長空間。因此,在資料中心領域,記憶體頻寬與容量將成為眾多運算和記憶體頻寬密集型作業負載發展的主要限制因素(圖1)。 圖1 運算容量的提升與DDR頻寬的改善比較 HBM效能/傳輸更高更快 HBM是一種高速的系統級封裝(SiP)記憶體技術,與採用傳統打線接合封裝(Wire Bonding-based Package)的記憶體產品相比,它使用垂直互聯的DRAM晶片堆疊和一個寬(1024位元)介面,來達到更大的儲存容量與更高的資料頻寬。聯合電子裝置技術協會(JEDEC)在2013年開始採用初代HBM標準,並在2016年1月批准第二代HBM2版本為業界標準。 HBM2標準支援4個或8個8Gb的DRAM晶粒逐個堆疊在一起,由一個2.5D矽「中介層」提供支援,該「中介層」可將記憶體堆疊與底層電路板連接起來。堆疊一些晶粒(通常是記憶體)而不是其他晶粒(通常是處理器)的多晶片封裝被稱為2.5D元件(圖2)。 圖2 HBM和2.5D架構 由於多個堆疊能被添加在同一個封裝中,因此與傳統的多晶片DRAM產品相比,當堆疊多個晶粒在一個電路板上並將其堆疊得更緊密時,可以大幅減少HBM記憶體封裝的水平占板面積。此外,HBM技術還縮短了訊號在元件之間的傳輸距離,因此可以提高系統效能,且較短的傳輸距離可以減少傳輸定量資料所需的能量(圖3)。 圖3 HBM晶粒堆疊技術 HBM具備先進的TSV技術、微尺度互連和突破極限的I/O數量,可以增加記憶體頻寬,與其最強勁的競爭對手,也就是用於繪圖卡的繪圖用雙倍資料傳輸率(GDDR)記憶體相比,HBM明顯能提供更高的效能。在元件級別,單個三星HBM立方體可以提供高達307GB/s的資料頻寬,比GDDR5晶片高出近10倍的資料傳輸率。而在系統級別,與採用GDDR的解決方案相比,HBM能提供近3倍的輸送量,並使用少於80%的功耗,同時還可以節省寶貴的電路空間(圖4)。 圖4 HBM與GDDR頻寬比較 FPGA元件助力 記憶體頻寬再上層樓 以下將以賽靈思旗下FPGA產品為例,該公司支援HBM的Virtex UltraScale+ FPGA大幅改善了記憶體頻寬,例如2個三星HBM2記憶體堆疊就可提供高達460GB/s的速率。當將1或2個HBM2堆疊與各種尺寸的FPGA邏輯(多達285萬個邏輯單元)和DSP(高達9,024個DSP48E2分割,可提供28.1峰值INT8 TOP)進行配對時,使用者就可以選擇搭配全新支援HBM的UltraScale+元件系列,為其應用選擇最佳的運算能力與記憶體頻寬/容量組合。 另一方面,除了支援HBM的Virtex UltraScale+FPGA,賽靈思還推出Alveo U280資料中心加速器卡,由16奈米UltraScale+架構所打造,採用8GB三星HBM2,可為資料庫搜尋與分析、機器學習推論及其他記憶體限制應用提供更高等級的加速功能;並涵蓋了CCIX支援,可以利用現有的伺服器互聯基礎設施和即將推出的CCIX處理器,提供高頻寬、低延遲的快取一致性共用記憶體存取。許多受限於記憶體的應用都能受益於支援HBM的UltraScale+元件,本文將以深度神經網路與資料庫加速方面的案例為例,展示支援HBM的UltraScale+元件之優勢。 強化記憶體頻寬提升AI語言翻譯效能 如今,各種雲端應用都有提供自動即時語言翻譯服務,其可透過採用神經網路的機器學習方法在兩種語言之間翻譯語句(稱為機器翻譯),編碼器-解碼器架構強化當今的商業自動化翻譯服務。 在使用機器執行翻譯任務時,兩種語言的單詞經由一個稱為單詞嵌入的過程,以高維向量的形式呈現;因此,單詞之間的關係可以透過向量進行量化建模和反映。遞迴神經網路、卷積神經網路和基於注意力的模型等架構通常用於執行編碼和解碼功能。 近期研究表示,在語言翻譯中,只有採用注意力的網路能達到最高的準確性。研究論文中所描述的注意力機制,即縮放點積注意力,是由兩個矩陣乘法和其他函數(Scale、Mask和Softmax)所構成的。多頭注意力結構通常由多個並行的縮放點積注意力與不同的輸入投影構成,該結構與前饋網路被共同用於建構整個語言翻譯模型的解碼器和編碼器(圖5)。 圖5 轉換器--基於注意力神經網路的語言翻譯模型 如圖5所示,基於注意力的語言翻譯模型的主要運算強度來自於對縮放點積注意力和前饋網路的點積運算。這些點積通常被組合到矩陣乘法運算,以達到更高效的運算。然而,與在整個空間中大量重複使用權重參數以減少資料移動痕跡的傳統卷積神經網路不同,這類基於注意力的模型幾乎不重複使用輸入空間參數,導致對矩陣乘法運算的記憶體頻寬要求要高出許多。 我們建置了一個用於語言翻譯且基於注意力的先進神經網路的轉換器分析模型,並將其映射在UltraScale+元件上運行。FPGA建置方案的架構採用DSP脈動陣列來執行矩陣乘法,中間的啟動資料儲存在晶載URAM中,可以消除啟動時所造成在處理器和外接記憶體之間頻繁進行的資料移動。HBM或DDR則用於儲存所有嵌入字典的單詞嵌入與權重參數。 針對具有不同句子長度(L)和句子數量的英德翻譯任務,也稱為批量大小(B),對其進行分析就可以瞭解附加DDR的UltraScale+元件和支援HBM的UltraScale+元件對於延遲和傳輸量之間的權衡。這一研究對於DDR與HBM的建置,假設使用具有256個16位元輸入和32個16位元輸出的脈動陣列,並將其運行在710MHZ的UltraScale+元件上。詳細的傳輸量與延遲關係圖請見圖6。 圖6 採用具有HBM和DDR4的UltraScale+元件進行語言翻譯效能分析。 長度為8的句子在4條通道上運行的最低延遲約為15.7ms,傳輸量為508符號/秒。一條DDR通道用於存取單詞嵌入資料,其餘三條DDR通道用於載入權重。對於支援HBM的元件而言,一個長度為8的句子之最小延遲為2.2ms,比DDR介面低7倍以上。DDR介面在兩種句子長度上都不能達到7ms以下的延遲,但是支援HBM的元件在傳輸量為10,419符號/秒,且句子長度為8的情況下可達到6.1ms的延遲,在輸送量為4,682符號/秒,且句子長度為16的情況下可達到6.8ms的延遲。 借助通用矩陣運算資料庫加速AI應用 與前面討論的機器翻譯案例一樣,幾乎所有現代深層神經網路(深度學習)的主要運算都是以矩陣乘法的形式來完成。除了機器翻譯以外,在資料中心廣泛部署的其他典型深度學習應用有影像/視訊分析、網路搜尋的搜尋排名系統、廣告投放的推薦系統、內容/來源推薦、語音辨識以及自然語言處理。 為了更佳地支援更多的深度學習應用,賽靈思開發了通用矩陣運算(GEMX)資料庫,用於加速元件上的矩陣運算,該元件由SDAccel開發環境提供支援。該資料庫包括三個組件:引擎庫、主機代碼編譯器與以應用或系統建構的環境,引擎庫則由一組具有BLAS函數介面的C++範本組成,可以在FPGA上進行矩陣運算。 主機代碼編譯器將主機代碼矩陣函式呼叫編譯成一系列指令,用於觸發FPGA上的矩陣運算,建構環境採用GNU make流將FPGA和主機代碼影像生成過程自動化。此外,該產品還支援使用者對系統的各個方面進行配置,例如,FPGA平台、FPGA影像中建置的引擎數量等。 雖然GEMX引擎的兩個輸入矩陣都來自DDR記憶體,但GEMX的傳輸量取決於DDR介面的頻寬。圖7的分析比較了使用DDR4連接UltraScale+元件的GEMX與使用支援HBM的UltraScale+元件的GEMX之效能。該分析模型充分利用了記憶體頻寬,並假設使用32×32×128的矩陣作為GEMX的輸入。結果如圖7所示,與使用4條DDR通道相比,支援HBM的元件可以將GEMX的效能提升約3.6倍。 圖7 GEMX效能 HBM讓記憶體存取/使用更有效 受益於HBM記憶體控制器中的靈活定址方式,支援HBM的UltraScale+元件具備的獨特優勢之一就是HBM通道的靈活並行使用。HBM通道的存取與使用,是能夠完全地被可重配置和重新編程,還可以通過FPGA邏輯輕鬆存取。 如圖8所示,使用者可以將原始資料庫檔案剝離到多個HBM通道中,並讓並行處理運算單元執行不同的資料庫操作,以獨立並行存取資料庫的不同部分而無需進行同步。這一特性有助於改善即時案例中的操作延遲並有效地使用HBM,因為所有運算單元都可以即時回應資料庫查詢,毋須批次處理或同步。在上述機器翻譯案例中,該特性還用於分離兩個通道進行單詞嵌入存取,而其餘通道則用於高頻寬權重參數傳輸。 圖8 靈活的並行記憶體通道存取 雖然三星HBM在AI和資料庫加速等案例中的重要性已得到證實,但還有很多其他的資料中心作業負載也可從HBM中顯著獲益。總而言之,在資料中心領域,隨著異質運算加速的發展趨勢以及運算設備技術的創新,迫切需要在運算單元附近附加像HBM這樣的高效能記憶體系統;而支援HBM的UltraScale+元件具有獨特的價值,以深度學習和資料庫加速為例,賽靈思支援HBM的UltraScale+元件就發揮出運算加速的新潛力,並將其引領至更高的水準。 (本文由賽靈思提供)
0
- Advertisement -
- Advertisement -

最新文章

- Advertisement -

熱門文章

- Advertisement -

編輯推薦

- Advertisement -