《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 人工智能 > 業(yè)界動(dòng)態(tài) > 什么是CPU在人工智能時(shí)代的獨(dú)特優(yōu)勢(shì)

什么是CPU在人工智能時(shí)代的獨(dú)特優(yōu)勢(shì)

2021-04-09
來(lái)源:EETOP
關(guān)鍵詞: CPU 人工智能

  在過(guò)去的數(shù)年間,,人工智能技術(shù)實(shí)現(xiàn)了前所未有的爆發(fā)式成長(zhǎng),。這主要?dú)w功于萬(wàn)物互聯(lián)的浪潮帶來(lái)的海量數(shù)據(jù)、芯片技術(shù)革新帶來(lái)的算力飛躍,,以及計(jì)算機(jī)和數(shù)據(jù)科學(xué)領(lǐng)域?qū)λ惴ǖ牟粩鄡?yōu)化。這也是我們常說(shuō)的驅(qū)動(dòng)AI技術(shù)發(fā)展的三大要素:數(shù)據(jù),、算力和算法,,而且這三大要素是相互促進(jìn)、缺一不可的。

  作為芯片來(lái)說(shuō),,它是承載這三大要素最重要的力量,。除了人工智能專(zhuān)用芯片之外,其實(shí)很多通用的芯片類(lèi)型,,比如GPU,、FPGA,還有中央處理器CPU,,都在人工智能時(shí)代針對(duì)性的進(jìn)行了架構(gòu)優(yōu)化,,并且再次煥發(fā)新生。

  在這篇文章里,,我們就以英特爾的至強(qiáng)可擴(kuò)展處理器為例,,一起來(lái)看一下在云計(jì)算和數(shù)據(jù)中心領(lǐng)域,CPU在人工智能應(yīng)用里的獨(dú)特優(yōu)勢(shì),。

  至強(qiáng)可擴(kuò)展處理器的技術(shù)特點(diǎn)

  2020年6月,,英特爾正式發(fā)布了第三代至強(qiáng)可擴(kuò)展處理器(Xeon Scalable Processor),代號(hào)為Cooper Lake,。

  和前一代產(chǎn)品Cascade Lake相比,,Cooper Lake單芯片集成了最高28個(gè)處理器核心,每個(gè)8路服務(wù)器平臺(tái)最高可以支持224個(gè)處理器核心,。每個(gè)核心的基礎(chǔ)頻率可達(dá)3.1GHz,,單核最高頻率可達(dá)4.3GHz。此外它還集成了一些其他的架構(gòu)升級(jí),,比如增強(qiáng)了對(duì)傳統(tǒng)DDR4內(nèi)存帶寬和容量的支持,,并且將英特爾UPI(超級(jí)通道互聯(lián))的通道數(shù)量增加到了6個(gè),將CPU之間的通信帶寬和吞吐量提升了一倍,,達(dá)到20.8GT/s,;此外也提升了對(duì)硬件安全性、虛擬化,、網(wǎng)絡(luò)連接等等這些數(shù)據(jù)中心常用技術(shù)的硬件支持,。

  2.png

  至強(qiáng)可擴(kuò)展處理器的UPI通道示意圖

  值得注意的是,這個(gè)Cooper Lake是特別針對(duì)4路或者8路的服務(wù)器產(chǎn)品進(jìn)行打造的第三代至強(qiáng)可擴(kuò)展處理器,。對(duì)于更加常見(jiàn)的單路和雙路服務(wù)器,,英特爾也即將推出代號(hào)為Ice Lake的處理器,它將基于英特爾最新的10納米工藝進(jìn)行制造,,內(nèi)核采用了Sunny Cove微架構(gòu),。

  3.png

  在去年的HotChips大會(huì)上,英特爾就對(duì)Ice Lake和Sunny Cove微架構(gòu)做了比較詳細(xì)的介紹,。關(guān)于這部分內(nèi)容,,會(huì)在今后的文章里繼續(xù)解讀,,敬請(qǐng)關(guān)注。

  4.png

  Cooper Lake作為英特爾第三代至強(qiáng)可擴(kuò)展處理器,,針對(duì)人工智能應(yīng)用做了特別的架構(gòu)優(yōu)化和設(shè)計(jì),。一個(gè)就是在上一代產(chǎn)品的基礎(chǔ)上,進(jìn)一步優(yōu)化了英特爾的深度學(xué)習(xí)加速技術(shù)DL-Boost,,首次引入了對(duì)BF16指令集的支持,。另外一個(gè)就是增加了對(duì)第二代英特爾傲騰持久內(nèi)存、也就是Optane Persistent Memory的支持,。接下來(lái)我們就具體來(lái)看一下為什么這兩點(diǎn)提升對(duì)于AI應(yīng)用來(lái)說(shuō)特別的重要,。

  英特爾深度學(xué)習(xí)加速技術(shù)

  首先來(lái)看DL-Boost,也就是英特爾的深度學(xué)習(xí)加速技術(shù),。從第二代至強(qiáng)開(kāi)始,,英特爾就在這個(gè)CPU里加入了深度學(xué)習(xí)加速技術(shù),它的核心就是擴(kuò)展了AVX-512矢量神經(jīng)網(wǎng)絡(luò)指令的用途,,進(jìn)一步提升了對(duì)AI應(yīng)用的加速,。

  AVX-512是一個(gè)算力上的加速指令集,它是通過(guò)增加數(shù)據(jù)位寬來(lái)處理更多數(shù)據(jù)的,,通過(guò)支持512位寬度的數(shù)據(jù)寄存器,,它能在每個(gè)時(shí)鐘周期內(nèi)進(jìn)行32次雙精度和64次單精度浮點(diǎn)數(shù)運(yùn)算、或者8個(gè)64位和16個(gè)32位的整數(shù)運(yùn)算,。這樣的能力本身就可以在CPU上為AI應(yīng)用提供更好的性能支持,,而DL-Boost對(duì)它的擴(kuò)展,目的就是要通過(guò)降低數(shù)據(jù)精度的方式來(lái)進(jìn)一步加速AI應(yīng)用,。

  5.png

  簡(jiǎn)單來(lái)說(shuō),,DL-Boost的本質(zhì)有兩點(diǎn),一個(gè)是低精度的數(shù)據(jù)表示不會(huì)對(duì)深度學(xué)習(xí)的推理結(jié)果和精度造成太大影響,,但是會(huì)極大的提升硬件性能和效率,。第二個(gè)就是可以為某些類(lèi)型的AI應(yīng)用、比如這里說(shuō)的推理應(yīng)用,,專(zhuān)門(mén)設(shè)計(jì)更有效的指令集和硬件,,來(lái)支持這些應(yīng)用的高效運(yùn)行。

  在深度神經(jīng)網(wǎng)絡(luò)應(yīng)用里使用低精度的數(shù)據(jù)表示,,已經(jīng)是一個(gè)研究比較成熟的領(lǐng)域了,。相比使用32位浮點(diǎn)數(shù)進(jìn)行運(yùn)算,我們可以采用更低的數(shù)據(jù)精度,,甚至也可以采用整形數(shù)來(lái)進(jìn)行運(yùn)算,。

  有很多研究表明,當(dāng)使用16位乘法器與32位累加器進(jìn)行訓(xùn)練和推理時(shí),,對(duì)準(zhǔn)確性幾乎沒(méi)有影響,。當(dāng)使用8位乘法器與32位累加器進(jìn)行推理計(jì)算時(shí),對(duì)準(zhǔn)確性的影響也非常小,。比如對(duì)于很多應(yīng)用來(lái)說(shuō),、特別是涉及我們?nèi)祟?lèi)感官的應(yīng)用,比如看一個(gè)圖片或者聽(tīng)一段聲音等等,,由于我們?nèi)祟?lèi)的感知能力并沒(méi)有那么精確,,所以推理精確度的稍許差別并沒(méi)有太大關(guān)系。

  但是降低數(shù)據(jù)精度會(huì)對(duì)AI芯片的設(shè)計(jì)和性能帶來(lái)很多的好處,,比如可以在芯片面積不變的情況下,,大幅提升運(yùn)算單元的數(shù)量,或者在性能要求不變的情況下,,采用更少的芯片面積,,從而降低功耗。此外這樣也會(huì)減少數(shù)據(jù)傳輸?shù)臄?shù)據(jù)量,,節(jié)約了帶寬,,提升了吞吐量。

  基于這個(gè)理論,,也衍生出了很多非常有趣的AI芯片架構(gòu)設(shè)計(jì),,比如一sa些AI專(zhuān)用芯片,還有之前介紹過(guò)的英特爾Stratix10 NX FPGA等等,,都加入了對(duì)不同的數(shù)據(jù)精度的硬件支持,,對(duì)于至強(qiáng)可擴(kuò)展處理器來(lái)說(shuō)也是如此。在第二代至強(qiáng)可擴(kuò)展處理器里,,深度學(xué)習(xí)加速技術(shù)第一次出現(xiàn),,主打INT8的加速,主攻的是推理加速,。從第三代至強(qiáng)可擴(kuò)展處理器開(kāi)始,,英特爾又在DL-Boost技術(shù)里引入了對(duì)BF16的硬件支持,兼顧推理和訓(xùn)練的加速,。

  和8位整形數(shù)相比,,BF16的精度更高,而且有著大得多的動(dòng)態(tài)范圍,。和32位浮點(diǎn)數(shù)相比,,BF16雖然精度有所損失,但損失并不多,,動(dòng)態(tài)范圍類(lèi)似,,但所需數(shù)據(jù)位寬要小很多??梢哉f(shuō)BF16這種數(shù)據(jù)表示,,可以在精度,、面積、性能等衡量標(biāo)準(zhǔn)里取得非常好的折中,,這也是為什么要在第三代至強(qiáng)可擴(kuò)展處理器里支持這種數(shù)據(jù)表示的主要原因,。

  6.png

  BF16和浮點(diǎn)數(shù)數(shù)據(jù)格式的對(duì)比

  和前一代CPU搭配32位浮點(diǎn)數(shù)的組合相比,第三代至強(qiáng)可擴(kuò)展處理器加上BF16加速后的AI推理性能可提升到它的1.9倍,,訓(xùn)練性能可提升到它的1.93倍,。

  7.png

  當(dāng)然了,業(yè)界已經(jīng)有很多公司在使用和部署第三代至強(qiáng)可擴(kuò)展處理器,,以及前面介紹的深度學(xué)習(xí)加速技術(shù),。比如阿里云就利用對(duì)BF16的支持,將BERT模型推理的性能提升到原來(lái)的1.8倍以上,,并且沒(méi)有準(zhǔn)確率下降,。Facebook也將英特爾深度學(xué)習(xí)加速技術(shù)用在了它的深度學(xué)習(xí)推薦模型里,結(jié)果對(duì)INT8的加速帶來(lái)了推理性能提升達(dá)2.8倍的成績(jī),,BF16加速則讓訓(xùn)練性能提升達(dá)到了原來(lái)的1.6倍以上,。

  高性能存儲(chǔ)技術(shù):傲騰Optane內(nèi)存

  說(shuō)完數(shù)據(jù)的計(jì)算,我們接下來(lái)再來(lái)看看數(shù)據(jù)的存儲(chǔ),。設(shè)計(jì)芯片的一個(gè)大的原則,,就是存儲(chǔ)數(shù)據(jù)的地方離使用數(shù)據(jù)的地方越近,性能就越高,、功耗也越低,。對(duì)于人工智能應(yīng)用來(lái)說(shuō),不管是對(duì)于訓(xùn)練還是推理,,都需要對(duì)大量的數(shù)據(jù)進(jìn)行處理,。這一方面需要有大容量的存儲(chǔ)技術(shù)作支持,另一方面也需要更大的內(nèi)存帶寬,、以及更快的數(shù)據(jù)傳輸速度,。

  總體來(lái)說(shuō),我們?cè)谟?jì)算機(jī)系統(tǒng)里常見(jiàn)的存儲(chǔ)器類(lèi)型可以分成這么幾個(gè)類(lèi)型,。一個(gè)是DRAM,,也就是我們常說(shuō)的內(nèi)存,它的性能最高,、數(shù)據(jù)讀寫(xiě)的延時(shí)最低,,但是容量十分有限、價(jià)格昂貴,,更重要的是一旦斷電,,DRAM里的數(shù)據(jù)就會(huì)丟失。

  相比之下,,像機(jī)械硬盤(pán),、固態(tài)硬盤(pán)之類(lèi)的存儲(chǔ)方式,,雖然容量夠大、價(jià)格便宜,,而且具備數(shù)據(jù)持久性,,但是最大的問(wèn)題就是訪問(wèn)速度相比DRAM來(lái)說(shuō)要慢幾個(gè)量級(jí),。

  所以,,很自然的我們就會(huì)想,能否有另外一個(gè)量大實(shí)惠的存儲(chǔ)方式,,既能有大容量,、低延時(shí)、也能保證數(shù)據(jù)的持久性,、而且價(jià)格也可以接受呢,?一個(gè)可行的方案,就是英特爾的傲騰Optane持久內(nèi)存,。它既有大的容量,、又能保證數(shù)據(jù)的持久性,也能提供快速的數(shù)據(jù)讀寫(xiě)性能,。傲騰持久內(nèi)存目前單條容量最高可以到512GB,,并且和傳統(tǒng)DDR4內(nèi)存的插槽兼容。當(dāng)搭配第三代至強(qiáng)可擴(kuò)展處理器使用的時(shí)候,,單路內(nèi)存總?cè)萘孔罡呖梢赃_(dá)到4.5TB,,遠(yuǎn)大于普通的DRAM內(nèi)存。

  8.png

  數(shù)據(jù)中心存儲(chǔ)架構(gòu)層級(jí)

  值得注意的是,,傲騰有多種工作模式,。比如它可以作為內(nèi)存模式使用,這時(shí)它就和DRAM沒(méi)有本質(zhì)區(qū)別,,相當(dāng)于對(duì)系統(tǒng)內(nèi)存進(jìn)行了擴(kuò)展,。它還有一個(gè)叫做App Direct的模式,可以實(shí)現(xiàn)較大內(nèi)存容量和數(shù)據(jù)持久性,,這樣軟件可以將DRAM和傲騰作為內(nèi)存的兩層進(jìn)行訪問(wèn),。

  9.png

  此外,硬盤(pán)之類(lèi)的存儲(chǔ)設(shè)備是按塊讀寫(xiě)數(shù)據(jù),,而傲騰持久內(nèi)存是可以按字節(jié)進(jìn)行尋址的,,這就保證了數(shù)據(jù)讀寫(xiě)的效率和性能。

  軟件框架和生態(tài)系統(tǒng)

  說(shuō)完了對(duì)數(shù)據(jù)進(jìn)行計(jì)算和存儲(chǔ)的硬件,,最后我們?cè)賮?lái)看看軟件,,以及圍繞軟硬件搭建的生態(tài)系統(tǒng)。不管是什么芯片,、什么應(yīng)用場(chǎng)景,,最終使用它的都是開(kāi)發(fā)者,,是人。所以開(kāi)發(fā)軟件和生態(tài)是芯片設(shè)計(jì)中非常重要的環(huán)節(jié),。

  英特爾有一個(gè)名叫Analytic Zoo的開(kāi)源平臺(tái),,它將大數(shù)據(jù)分析、人工智能應(yīng)用,,包括數(shù)據(jù)的處理,、模型的訓(xùn)練和推理等過(guò)程進(jìn)行了的整合。它可以把 TensorFlow,、Pytorch,、OpenVINO這些框架、開(kāi)發(fā)工具和軟件集成到一個(gè)統(tǒng)一的,,基于SPARK,、Ray、Flink等搭建的大數(shù)據(jù)分析流水線里,,用于分布式的訓(xùn)練或預(yù)測(cè),,這樣讓用戶更方便的構(gòu)建端到端的深度學(xué)習(xí)應(yīng)用。這個(gè)分析流水線根據(jù)至強(qiáng)處理器進(jìn)行了深度優(yōu)化,,可以充分利用前面介紹的那些針對(duì)AI應(yīng)用進(jìn)行的計(jì)算和存儲(chǔ)架構(gòu)革新,,并且也可以比較方便地進(jìn)行計(jì)算集群的部署和擴(kuò)展。

 10.png

  Analytics Zoo架構(gòu)圖

  比如,,美的就采用了Analytic Zoo來(lái)搭建了工業(yè)視覺(jué)檢測(cè)的云平臺(tái),,來(lái)加速產(chǎn)品缺陷檢測(cè)的效率,并且將模型推理的端到端速度提升了16倍,。

  作為構(gòu)建廣泛生態(tài)系統(tǒng)的一部分,,英特爾硬件產(chǎn)品方面除了有至強(qiáng)可擴(kuò)展處理器和傲騰持久內(nèi)存,還有基于Xe架構(gòu)的數(shù)據(jù)中心專(zhuān)用GPU系列,、還有現(xiàn)場(chǎng)可編程芯片F(xiàn)PGA,、以及一系列的人工智能專(zhuān)用芯片,比如旗下Habana Labs用于訓(xùn)練和推理的Gaudi和Goya系列產(chǎn)品等等,。

 11.png

  之前介紹摩爾定律的時(shí)候我們說(shuō)過(guò),,晶體管尺寸每縮小10倍,就會(huì)衍生出一種全新的計(jì)算模式?,F(xiàn)任英特爾芯片總架構(gòu)師的Raja Koduri就把現(xiàn)在的計(jì)算模式分成了標(biāo)量計(jì)算,、向量計(jì)算、矩陣計(jì)算和空間計(jì)算四大類(lèi),,分別對(duì)應(yīng)基于CPU,、GPU、AI ASIC和FPGA。而目前業(yè)界也只有英特爾完成了對(duì)這四大類(lèi)計(jì)算模式的芯片全覆蓋,。

  除此之外,,英特爾還推出了oneAPI,用來(lái)支持和統(tǒng)一這四大類(lèi)硬件架構(gòu)的編程,,降低使用不同代碼庫(kù)和編程語(yǔ)言帶來(lái)的風(fēng)險(xiǎn),,并且無(wú)需在性能上做出妥協(xié)。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]