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