AI是如何影響計算機內存系統的?
從 20 世紀 80 年代至 20 世紀 90 年代早期,由于相對較低的 CPU 性能,計算機系統達到了一個瓶頸期,因此也限制了應用的功能。受摩爾定律的影響,在這些年間,晶體管的數量有了極大的增長,因此提升了計算機系統的表現,也為激動人心的新型應用提供了可能。
雖然計算能力在這些年間已經有了極大的提升,但這些瓶頸已經轉移到了計算機系統的其他部分上。簡單來說,雖然摩爾定律已經解決了處理能力的需要,同時也使新的計算模式成為了可能,但現在工業界仍然有一系列的挑戰需要去面對。
進化的裝置與計算模型
1990 年至 2000 年這段時期的特點是圍繞著桌面和工作站進行的中心化計算。2000 年至 2010 年間,由于連接性與處理能力的提升,移動計算、智能手機、云計算逐漸興起。然而在 2010 之后,物聯網設備與傳感器的興起帶動了向霧計算 / 邊緣計算的轉型。后者使處理過程更加貼近于數據,有效地改進了延遲、帶寬與能耗問題。
現在有許多重大的應用正在推動著計算的發展,比如機器學習與神經網絡,高級車輛駕駛輔助系統與自動駕駛技術,高性能計算與區塊鏈和加密貨幣的挖掘技術。
人工智能驅動芯片和系統架構開發的具體例子包括英特爾的 Nervana 神經網絡處理器,利用 FPGA 的微軟 BrainWave 平臺和谷歌的張量處理單元(TPU)。除此以外的例子包括 Wava Computing 的數據流處理單元,Graphcore's 的 IPU,Cambricon 的深度學習智能處理器,AMD 的 Radeon Vega 10 以及 nVidia 的 Tesla V100。
內存帶寬的重要性:房頂線模型
人工智能應用如何隨著硬件的發展而演?一個著名的分析工具就是房頂線模型,它可以顯示應用程序將底層硬件的內存帶寬以及處理能力發揮到了何種地步。
房頂線會隨著不同的系統架構而不同。在上面的圖像中,Y 軸代表每秒的操作表現,X 軸代表了操作強度或者說每個字節的操作的次數。兩個像建筑頂部的限制用綠色的線來表示。***條是一條斜線,展現了由內存帶寬施加的限制。第二條線是一條水平線,展現了由硬件計算性能施加的限制。這兩條線一起形成了一個房頂線的形狀,這個模型的名字也是由此得來的。
運行在內存帶寬不足或者每字節數據執行很少操作的體系結構上的應用程序通常會落在房頂線傾斜部分或以下。具有足夠內存帶寬或具有較高操作強度的應用程序通常會落在房頂線的水平部分或以下。 在這個例子中,運算強度 = 10 的應用程序受內存限制,而運算強度 = 10000 的應用程序受計算限制。
該圖表來自 Google 關于***代 TPU 的論文,并比較了 TPU 與較舊的、更加通用的硬件(如:Haswell,K80)在各種類型的基于神經網絡的推斷任務上的性能。 雖然這些應用通常在這些架構上表現良好,但像 Google TPU 這樣的新型專用芯片往往會受內存帶寬的限制,有些應用會落在房頂線傾斜部分或附近。 較新的芯片和平臺正寄希望于采用高帶寬內存系統的方案解決 AI 芯片和系統對帶寬的需求。
常見的用于 AI 應用的內存系統
這里有大量的適合 AI 應用的存儲選擇,包括片上存儲器(具有***帶寬跟功率效率),HBM(非常高的帶寬與密度)還有 GDDR(其在帶寬、功率效率、花費與可靠性之間達到了很好的平衡)。
首先,讓我們仔細看看片上存儲器,它在微軟的 BrainWave 與 Graphcore 的 IPU 中使用。其優勢包括極高的帶寬與效率,低延遲,高利用率,同時不需要批量配置。另一方面,雖然可以重復計算數據以節省空間,但相比于 DRAM,片上存儲器會受到較低存儲容量的限制。除此之外,可擴展性主要需要通過多個連接的卡和芯片實現。
同時,HBM 可以在英特爾的 Nervana,Nvidia 的 Tesla V100 和 Google 的 TPU v2 中找到。 其優點包括極高的帶寬(每 HBM2 DRAM 達到 256GB / s)和高功率效率,并且由短的內部互連和寬帶低速接口推動 1024b@2Gbps 提供加速。然而,HBM 確實帶來了許多工程難題,例如巨大的 IO 數量,高額成本,設計復雜性,額外的內插器組件以及更加困難的系統集成。
***,與 HBM 相比,GDDR 提供高帶寬和高容量的配置,以及更加容易的集成和系統工程。 然而,由于 IO 的高數據速率,其保持良好的信號完整性比其他外部存儲器更困難。 簡而言之,GDDR 在帶寬、容量、功率效率、成本、可靠性和設計復雜性之間提供了折中權衡。
結論
總而言之,人工智能應用正在推動新的芯片和系統架構的發展。 內存帶寬是人工智能應用的重要資源,內存選項的多樣性可以適應不同的人工智能應用程序需求。 這些包括片上存儲器,HBM 和 GDDR。 他們提供的權衡范圍將使未來能夠構建起各種 AI 芯片和系統。