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

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

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

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

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

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

  至強可擴展處理器的技術(shù)特點

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

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

  2.png

  至強可擴展處理器的UPI通道示意圖

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

  3.png

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

  4.png

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

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

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

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

  5.png

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

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

  有很多研究表明,當(dāng)使用16位乘法器與32位累加器進行訓(xùn)練和推理時,對準(zhǔn)確性幾乎沒有影響。當(dāng)使用8位乘法器與32位累加器進行推理計算時,對準(zhǔn)確性的影響也非常小。比如對于很多應(yīng)用來說、特別是涉及我們?nèi)祟惛泄俚膽?yīng)用,比如看一個圖片或者聽一段聲音等等,由于我們?nèi)祟惖母兄芰Σ]有那么精確,所以推理精確度的稍許差別并沒有太大關(guān)系。

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

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

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

  6.png

  BF16和浮點數(shù)數(shù)據(jù)格式的對比

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

  7.png

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

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

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

  總體來說,我們在計算機系統(tǒng)里常見的存儲器類型可以分成這么幾個類型。一個是DRAM,也就是我們常說的內(nèi)存,它的性能最高、數(shù)據(jù)讀寫的延時最低,但是容量十分有限、價格昂貴,更重要的是一旦斷電,DRAM里的數(shù)據(jù)就會丟失。

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

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

  8.png

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

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

  9.png

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

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

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

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

 10.png

  Analytics Zoo架構(gòu)圖

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

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

 11.png

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

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


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