色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 智能計(jì)算 > 設(shè)計(jì)應(yīng)用 > 詳解人工智能芯片 CPU/GPU/FPGA有何差異?

          詳解人工智能芯片 CPU/GPU/FPGA有何差異?

          作者: 時(shí)間:2017-04-01 來源:行業(yè)報(bào)告研究院 收藏
          編者按:CPU與GPU在各自領(lǐng)域都可以高效地完成任務(wù),但當(dāng)同樣應(yīng)用于通用基礎(chǔ)計(jì)算領(lǐng)域時(shí),設(shè)計(jì)架構(gòu)的差異直接導(dǎo)致了兩種芯片性能的差異。

            2.驟然爆發(fā)的數(shù)據(jù)洪流

          本文引用地址:http://cafeforensic.com/article/201704/346122.htm

            深度學(xué)習(xí)模型需要通過大量的數(shù)據(jù)訓(xùn)練才能獲得理想的效果。以語音識(shí)別問題為例,僅在其聲學(xué)建模部分,算法就面臨著十億到千億級(jí)別的訓(xùn)練樣本數(shù)據(jù)。訓(xùn)練樣本的稀缺使得人工智能即使在經(jīng)歷了算法的突破后依然沒能成為人工智能應(yīng)用領(lǐng)域的主流算法。直到2012年,分布于世界各地的互相聯(lián)系的設(shè)備、機(jī)器和系統(tǒng)促進(jìn)了非結(jié)構(gòu)化數(shù)據(jù)數(shù)量的巨大增長,并終于在可靠性方面發(fā)生了質(zhì)的飛躍,大數(shù)據(jù)時(shí)代到來。

            大數(shù)據(jù)到底有多大?一天之中,互聯(lián)網(wǎng)產(chǎn)生的全部內(nèi)容可以刻滿1.68億張DVD;發(fā)出的郵件有2940億封之多,相當(dāng)于美國兩年的紙質(zhì)信件數(shù)量;發(fā)出的社區(qū)帖子達(dá)200萬個(gè),相當(dāng)于《時(shí)代》雜志770年的文字量;賣出的手機(jī)為37.8萬臺(tái),高于全球每天出生的嬰兒數(shù)量37.1萬倍。然而,即使是人們每天創(chuàng)造的全部信息,包括語音通話、電子郵件和信息在內(nèi)的各種通信,以及上傳的全部圖片、視頻與音樂,其信息量也無法匹及每一天所創(chuàng)造出的關(guān)于人們自身活動(dòng)的數(shù)字信息量。

            我們現(xiàn)在還處于所謂“物聯(lián)網(wǎng)”的最初級(jí)階段,隨著技術(shù)的成熟,我們的通訊設(shè)備、交通工具和可穿戴科技將能互相連接與溝通,信息量的增加也將以幾何倍數(shù)持續(xù)下去。

            3.難以滿足的硬件需求

            驟然爆發(fā)的數(shù)據(jù)洪流滿足了深度學(xué)習(xí)算法對(duì)于訓(xùn)練數(shù)據(jù)量的要求,但是算法的實(shí)現(xiàn)還需要相應(yīng)處理器極高的運(yùn)算速度作為支撐。當(dāng)前流行的包括X86和ARM在內(nèi)的傳統(tǒng)CPU處理器架構(gòu)往往需要數(shù)百甚至上千條指令才能完成一個(gè)神經(jīng)元的處理,但對(duì)于并不需要太多的程序指令,卻需要海量數(shù)據(jù)運(yùn)算的深度學(xué)習(xí)的計(jì)算需求,這種結(jié)構(gòu)就顯得非常笨拙。尤其是在當(dāng)前功耗限制下無法通過提升CPU主頻來加快指令執(zhí)行速度,這種矛盾愈發(fā)不可調(diào)和,深度學(xué)習(xí)研究人員迫切需要一種替代硬件來滿足海量數(shù)據(jù)的運(yùn)算需求。

            或許終有一日將會(huì)誕生全新的、為人工智能而專門設(shè)計(jì)的處理器架構(gòu),但在那之前的幾十年,人工智能仍然要向前走,便只能改進(jìn)現(xiàn)有處理器,使之成為能夠最大程度適應(yīng)大吞吐量運(yùn)算的計(jì)算架構(gòu)。目前來看,圍繞現(xiàn)有處理器的主流改進(jìn)方式有兩個(gè):

            ·圖形處理器通用化:

            將圖形處理器用作矢量處理器。在這種架構(gòu)中,擅長浮點(diǎn)運(yùn)算的特點(diǎn)將得到充分利用,使其成為可以進(jìn)行并行處理的通用計(jì)算芯片GP。英偉達(dá)公司從2006年下半年已經(jīng)開始陸續(xù)推出相關(guān)的硬件產(chǎn)品以及軟件開發(fā)工具,目前是人工智能硬件市場的主導(dǎo)。

            ·多核處理器異構(gòu)化:

            將GPU或等其他處理器內(nèi)核集成到CPU上。在這種架構(gòu)中,CPU內(nèi)核所不擅長的浮點(diǎn)運(yùn)算以及信號(hào)處理等工作,將由集成在同一塊芯片上的其它可編程內(nèi)核執(zhí)行,而GPU與都以擅長浮點(diǎn)運(yùn)算著稱。AMD與Intel公司分別致力于基于GPU與的異構(gòu)處理器,希望借此切入人工智能市場。

            三、現(xiàn)有市場——通用芯片GPU

            在深度學(xué)習(xí)的領(lǐng)域里,最重要的是數(shù)據(jù)和運(yùn)算。誰的數(shù)據(jù)更多,誰的運(yùn)算更快,誰就會(huì)占據(jù)優(yōu)勢。因此,在處理器的選擇上,可以用于通用基礎(chǔ)計(jì)算且運(yùn)算速率更快的GPU迅速成為人工智能計(jì)算的主流芯片。可以說,在過去的幾年,尤其是2015年以來,人工智能大爆發(fā)就是由于英偉達(dá)公司的GPU得到廣泛應(yīng)用,使得并行計(jì)算變得更快、更便宜、更有效。

            1.GPU是什么?

            圖形處理器GPU最初是用在個(gè)人電腦、工作站、游戲機(jī)和一些移動(dòng)設(shè)備上運(yùn)行繪圖運(yùn)算工作的微處理器,可以快速地處理圖像上的每一個(gè)像素點(diǎn)。后來科學(xué)家發(fā)現(xiàn),其海量數(shù)據(jù)并行運(yùn)算的能力與深度學(xué)習(xí)需求不謀而合,因此,被最先引入深度學(xué)習(xí)。2011年吳恩達(dá)教授率先將其應(yīng)用于谷歌大腦中便取得驚人效果,結(jié)果表明,12顆英偉達(dá)的GPU可以提供相當(dāng)于2000顆CPU的深度學(xué)習(xí)性能,之后紐約大學(xué)、多倫多大學(xué)以及瑞士人工智能實(shí)驗(yàn)室的研究人員紛紛在GPU上加速其深度神經(jīng)網(wǎng)絡(luò)。

            2.GPU和CPU的設(shè)計(jì)區(qū)別

            那么GPU的快速運(yùn)算能力是如何獲得的?這就要追溯到芯片最初的設(shè)計(jì)目標(biāo)了。中央處理器CPU需要很強(qiáng)的處理不同類型數(shù)據(jù)的計(jì)算能力以及處理分支與跳轉(zhuǎn)的邏輯判斷能力,這些都使得CPU的內(nèi)部結(jié)構(gòu)異常復(fù)雜;而圖形處理器GPU最初面對(duì)的是類型高度統(tǒng)一的、相互無依賴的大規(guī)模數(shù)據(jù)和不需要被打斷的純凈的計(jì)算環(huán)境,所以GPU只需要進(jìn)行高速運(yùn)算而不需要邏輯判斷。目標(biāo)運(yùn)算環(huán)境的區(qū)別決定了GPU與CPU不同的設(shè)計(jì)架構(gòu):

            CPU基于低延時(shí)的設(shè)計(jì)

            ·大量緩存空間Cache,方便快速提取數(shù)據(jù)。CPU將大量訪問過的數(shù)據(jù)存放在Cache中,當(dāng)需要再次訪問這些數(shù)據(jù)時(shí),就不用從數(shù)據(jù)量巨大的內(nèi)存中提取了,而是直接從緩存中提取。

            ·強(qiáng)大的算術(shù)運(yùn)算單元ALU,可以在很短的時(shí)鐘周期內(nèi)完成算數(shù)計(jì)算。當(dāng)今的CPU可以達(dá)到64bit雙精度,執(zhí)行雙精度浮點(diǎn)源計(jì)算加法和乘法只需要1~3個(gè)時(shí)鐘周期,時(shí)鐘周期頻率達(dá)到1.532~3gigahertz。

            ·復(fù)雜的邏輯控制單元,當(dāng)程序含有多個(gè)分支時(shí),它通過提供分支預(yù)測來降低延時(shí)。

            ·包括對(duì)比電路單元與轉(zhuǎn)發(fā)電路單元在內(nèi)的諸多優(yōu)化電路,當(dāng)一些指令依賴前面的指令結(jié)果時(shí),它決定這些指令在pipeline中的位置并且盡可能快的轉(zhuǎn)發(fā)一個(gè)指令的結(jié)果給后續(xù)指令。

            GPU基于大吞吐量的設(shè)計(jì)

            ·壓縮緩存空間Cache,從而最大化激發(fā)內(nèi)存吞吐量,可以處理超長的流水線。緩存的目的不是保存之后需要訪問的數(shù)據(jù),而是擔(dān)任數(shù)據(jù)轉(zhuǎn)發(fā)的角色,為線程提高服務(wù)。如果有很多線程需要訪問同一個(gè)數(shù)據(jù),緩存會(huì)合并這些訪問,再去DRAM中訪問數(shù)據(jù),獲取的數(shù)據(jù)將通過緩存轉(zhuǎn)發(fā)給對(duì)應(yīng)的線程。這種方法雖然減小了緩存,但由于需要訪問內(nèi)存,因而自然會(huì)帶來延時(shí)效應(yīng)。

            ·高效的算數(shù)運(yùn)算單元和簡化的邏輯控制單元,把串行訪問拆分成多個(gè)簡單的并行訪問,并同時(shí)運(yùn)算。例如,在CPU上約有20%的晶體管是用作計(jì)算的,而GPU上有80%的晶體管用作計(jì)算。



            3.GPU和CPU的性能差異

            CPU與GPU在各自領(lǐng)域都可以高效地完成任務(wù),但當(dāng)同樣應(yīng)用于通用基礎(chǔ)計(jì)算領(lǐng)域時(shí),設(shè)計(jì)架構(gòu)的差異直接導(dǎo)致了兩種芯片性能的差異。

            CPU擁有專為順序邏輯處理而優(yōu)化的幾個(gè)核心組成的串行架構(gòu),這決定了其更擅長邏輯控制、串行運(yùn)算與通用類型數(shù)據(jù)運(yùn)算;而GPU擁有一個(gè)由數(shù)以千計(jì)的更小、更高效的核心組成的大規(guī)模并行計(jì)算架構(gòu),大部分晶體管主要用于構(gòu)建控制電路和Cache,而控制電路也相對(duì)簡單,且對(duì)Cache的需求小,只有小部分晶體管來完成實(shí)際的運(yùn)算工作。所以大部分晶體管可以組成各類專用電路、多條流水線,使得GPU的計(jì)算速度有了突破性的飛躍,擁有了更強(qiáng)大的處理浮點(diǎn)運(yùn)算的能力。這決定了其更擅長處理多重任務(wù),尤其是沒有技術(shù)含量的重復(fù)性工作。

            當(dāng)前最頂級(jí)的CPU只有4核或者6核,模擬出8個(gè)或者12個(gè)處理線程來進(jìn)行運(yùn)算,但是普通級(jí)別的GPU就包含了成百上千個(gè)處理單元,高端的甚至更多,這對(duì)于多媒體計(jì)算中大量的重復(fù)處理過程有著天生的優(yōu)勢。

            舉個(gè)常見的例子,一個(gè)向量相加的程序,可以讓CPU跑一個(gè)循環(huán),每個(gè)循環(huán)對(duì)一個(gè)分量做加法,也可以讓GPU同時(shí)開大量線程,每個(gè)并行的線程對(duì)應(yīng)一個(gè)分量的相加。CPU跑循環(huán)的時(shí)候每條指令所需時(shí)間一般低于GPU,但GPU因?yàn)榭梢酝瑫r(shí)開啟大量的線程并行地跑,具有SIMD的優(yōu)勢。



          關(guān)鍵詞: GPU FPGA

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉