目前全世界超過90%的數(shù)據(jù)都是在過去的兩三年之內(nèi)產(chǎn)生的。那么隨著人工智能自動駕駛、5G云計算等技術(shù)的不斷發(fā)展,預(yù)計肯定會有更多的數(shù)據(jù)會被源源不斷的產(chǎn)生。一直到2025年,數(shù)據(jù)總量將會比現(xiàn)在增長超過十倍。
在這些技術(shù)的發(fā)展中,很大的一部分其實都是基于對大數(shù)據(jù)的研究和分析。正因為如此,有很多人形象的把數(shù)據(jù)比作是人工智能時代的石油。那么為了對海量的數(shù)據(jù)進行處理,基于傳統(tǒng)CPU的計算結(jié)構(gòu)已經(jīng)不能滿足我們的需求了,我們需要去尋找更強大的硬件和芯片,來更快更好的完成這些工作。
此外,我們也需要去尋找更好的方法。比如采用各種人工智能的模型和算法來幫助我們對這些數(shù)據(jù)進行分析和處理,并且得到更有意義的結(jié)果。那么這兩者結(jié)合起來,就得到了各種各樣的人工智能芯片。
1、人工智能芯片
今天我們就一起來聊一聊關(guān)于人工智能芯片的幾個很有意思的事情。比如:
人工智能芯片究竟有哪些;
在實際的工程和應(yīng)用場景里如何對人工智能加速芯片來進行一個比較和選擇;
以及各種不同的AI芯片的優(yōu)點和缺點都有哪些?
其實我們在討論任何問題的時候,都要圈定一個討論的范圍,大家都在這個圈圈里頭來進行討論。這就好比拳擊和格斗比賽一樣,大家需要在擂臺上進行比試,而不能跑到臺下去打。
那么同樣的對于我們今天要討論的人工智能芯片,其實他們也有很多不同的應(yīng)用領(lǐng)域。比如我們可以把它分成服務(wù)器端和移動端兩大類,也有很多人把這兩類稱作云端和終端。
2、人工智能芯片的區(qū)別
事實上,在這兩類應(yīng)用中,人工智能芯片在設(shè)計要求上其實有著很大的區(qū)別。
比如移動端其實更加注重AI芯片的低功耗、低延時、低成本。
部署在云端的AI芯片可能會更加注意它的算力、擴展能力,以及它對現(xiàn)有基礎(chǔ)設(shè)施的兼容性等。
那么對于這兩類人工智能芯片呢,我們其實很難對它們進行一個直接的比較。這就好比有一棵大樹,它的樹干負責支撐這棵樹,并且負責運輸這個營養(yǎng)物質(zhì)。它的樹葉其實負責光合作用并且產(chǎn)生營養(yǎng)物質(zhì)。所以我們其實很難比較樹干或者是樹葉,它們究竟誰更有用?
基于這個論據(jù),我們今天就畫一個圈圈,把討論的范圍縮小,我們只來看一下部署在服務(wù)器端,也就是云端的人工智能芯片的相關(guān)問題。
在這里主要對比四種比較常見的芯片種類,包括CPU、GPU、ASIC和FPGA。其他的一些比較相對小眾一些的芯片,比如說類腦芯片或者是量子芯片等,就先擱置不討論了。
我們現(xiàn)在明確了要討論的領(lǐng)域和對象,也就是部署在云端的四種常見的芯片。接下來我們就討論一下通過什么樣的方式來衡量和評價這些芯片的優(yōu)缺點。
在這里,我就給大家介紹一個我們在工程實踐中常用的一個分析框架。也就是說當我們考慮在數(shù)據(jù)中心里大量部署人工智能芯片的時候,通常需要考慮的幾個重要的因素。首先就是前面提到的算力,也就是芯片的性能。這里的算力其實有很多的方面,它可以指芯片做浮點運算或者是定點數(shù)運算的時候,每秒的運算次數(shù)以及這個芯片的峰值性能或者是平均性能等等。但是我們要注意的是,性能其實并不是衡量AI芯片好壞的唯一標準。事實上在很多場合它甚至不是最重要的標準。那么究竟還有哪些考慮的因素呢?
在這個思維框架里,有五個主要的衡量因素,除了性能之外,還有靈活性、同構(gòu)性、功耗和成本四點。其中靈活性指的是這個人工智能芯片對不同的場景的適應(yīng)程度。也就是說,這個芯片能不能用于各種不同的AI算法和應(yīng)用。
01、同構(gòu)性
同構(gòu)性這個詞聽起來好像有些晦澀,但是它實際指的就是當我們大量部署人工智能芯片的時候,我們能不能利用現(xiàn)有的軟硬件基礎(chǔ)設(shè)施架構(gòu),還是說我們要引入很多其他的東西,才能讓這個人工智能芯片工作。
舉個簡單的例子,就好比我想給我的電腦外接一個顯示器,但是如果這個顯示器的接口是HDMI,你就可以直接和我的電腦相連。但是如果這個顯示器的接口是VGA或者是DVI或者是雷電3,那么我可能就需要買一個轉(zhuǎn)接頭才能和我的電腦相連接。這樣我們就說這個顯示器,對我現(xiàn)有系統(tǒng)的同構(gòu)性不夠好。
02、成本和功耗
成本和功耗其實就很好理解了。成本指的就是錢和時間。當然如果我們細摳的話,還有投入的人力和物力等。還有包括沒有選擇其他AI芯片所帶來的機會成本。
但是歸根到底,其實都是錢和時間。
成本其實包含兩部分,第一部分就是芯片的研發(fā)成本,另一部分就是芯片的部署和運維成本。
功耗就更好理解了,指的就是某種AI芯片對數(shù)據(jù)中心帶來的額外的功耗負擔。
我們現(xiàn)在知道了這個思維框架里的五個重要的元素,那么現(xiàn)在就可以對我們之前提到的四種芯片,也就是CPU、GPU、ASIC和FPGA做一個定性的比較了。
3、芯片比較
01、CPU
首先我們來看一下CPU。
它仍然是目前數(shù)據(jù)中心里的主要的計算單元。那么為了支持各種人工智能的應(yīng)用,傳統(tǒng)的CPU的架構(gòu)和指令集也在不斷的迭代和變化。比如英特爾的XEON 至強處理器就引入了所謂的DL-Boost,也就是深度學習加速技術(shù),來加速卷積神經(jīng)網(wǎng)絡(luò)和深度神經(jīng)網(wǎng)絡(luò)的訓練和推理性能。
但是相比其他的三種芯片,CPU的AI性能其實還是有一定的差距。CPU最大的優(yōu)勢就是它的靈活性和同構(gòu)性。對于大部分的數(shù)據(jù)中心來說,它們其實都是圍繞著CPU來進行設(shè)計和建設(shè)的。所以CPU在數(shù)據(jù)中心的部署、運維、擴展和生態(tài)系統(tǒng)其實都已經(jīng)非常的成熟了,它的功耗和成本并不算太低,但其實還是在可以接受的范圍之內(nèi)。
02、GPU
接下來來看一下GPU。
GPU 有著大規(guī)模的并行架構(gòu),因此非常適合對于數(shù)據(jù)密集型的應(yīng)用來進行計算和處理。比如深度學習的訓練過程。和CPU相比,GPU 的性能會高幾十倍甚至上千倍。因此業(yè)界很多公司其實都在使用GPU 對各種的AI應(yīng)用來進行加速,比如分析和處理圖片、視頻、音頻等等。
GPU 的另外一個主要優(yōu)勢就是它其實有一個非常成熟的編程框架,比如CUDA,這也是GPU 在人工智能時代得到爆發(fā)的最主要原因之一。
但是,GPU 最大的問題就是它的功耗。
比如英偉達的P100 、V100和A100的GPU 的功耗都在250瓦到400瓦之間。對于FPGA或者ASIC的幾十瓦甚至幾瓦的功耗而言,這個數(shù)字顯得過于的驚人了,而對于神經(jīng)網(wǎng)絡(luò)的訓練來說,它往往需要大量的GPU 集群來提供充足的算力。
這樣一來呢一個機柜的功耗可能就會超過幾十千瓦。這就需要數(shù)據(jù)中心為它修改供電和散熱等結(jié)構(gòu)。比如傳統(tǒng)的數(shù)據(jù)中心大都依靠風冷來散熱,但是如果要部署GPU ,就很可能要改成水冷散熱。那么對于大多數(shù)數(shù)據(jù)中心來說,這都是一筆巨大的開銷。
伴隨著高功耗其實更大的問題就是高昂的電費開支。所以對于GPU 在數(shù)據(jù)中心里的大規(guī)模部署,我們通??紤]的是它所能帶來的算力的優(yōu)勢能否抵消它帶來的額外的電費。
03、ASIC
下面再來看一下ASIC,也就是所謂的人工智能專用芯片。這里的典型代表就是谷歌AiphaGo里使用的TPU,它在AiphaGo里替代了1000多個CPU和上百個GPU。
在我們的衡量體系里,這個人工智能專用芯片的各項指標其實都非常的極端。比如它有著極高的性能和極低的功耗,和GPU 相比,它的性能可能會高10倍,功耗會低100倍。
但是研發(fā)這樣的芯片其實有著極高的成本和風險。和軟件開發(fā)不同,芯片的開發(fā)需要投入大量的人力和物力開發(fā)周期往往長達數(shù)年。而且失敗的風險極大。放眼全球,同時擁有雄厚的資金實力和技術(shù)儲備,來進行人工智能芯片開發(fā)的公司其實大概用兩只手就能數(shù)得出來。也就是說,這種方法可能對于很多公司來說并沒有實際的借鑒意義。
此外,AI專用芯片的靈活度往往比較低,顧名思義包括谷歌TPU在內(nèi)的人工智能專用芯片。通常是針對某些具體的應(yīng)用來進行開發(fā)的,那么它可能不能適用于其他的應(yīng)用場景。
從使用成本的角度來看,如果我們要使用基于ASIC的方案,就需要我們的目標應(yīng)用,有足夠大的使用量來分攤高昂的研發(fā)成本。同時這類應(yīng)用應(yīng)該要足夠穩(wěn)定,來避免核心的算法或者協(xié)議不斷的變化。而這對于很多的AI應(yīng)用來說是不現(xiàn)實的。值得一提的是,我國在人工智能專用芯片領(lǐng)域其實涌現(xiàn)出來了很多優(yōu)秀的公司,比如寒武紀、地平線,包括之前被賽克斯收購的深鑒科技等等。
04、FPGA
最后我們再來說一下FPGA。我個人認為FPGA 能夠在這些性能指標中達到一個比較理想的平衡。
在性能方面FPGA 可以實現(xiàn)定制化的硬件流水線,并且可以在硬件層面進行大規(guī)模的并行運算,而且有著很高的吞吐量。
其實FPGA最主要的特點就是它的靈活性。它可以很好的應(yīng)對,包括計算密集型和通信密集型在內(nèi)的很多種應(yīng)用。此外FPGA有著動態(tài)可編程和部分可編程的特點。也就是說,F(xiàn)PGA可以在同時處理多個應(yīng)用,或者是在不同的時刻處理多個不同的應(yīng)用。這其實和CPU比較類似但是FPGA的性能其實要遠超于CPU。
在數(shù)據(jù)中心里,F(xiàn)PGA通常是以加速卡的形式來配合現(xiàn)有的CPU來進行大規(guī)模的部署。FPGA的功耗通常只有幾十瓦,那么對于額外的供電或者是散熱等環(huán)節(jié)沒有特殊的需求。因此可以兼容現(xiàn)有的數(shù)據(jù)中心的基礎(chǔ)設(shè)施架構(gòu)。
那么在衡量AI芯片的時候,我們也經(jīng)常使用性能功耗比這個指標。也就是說即使你的性能非常高,但是如果你的功耗也很高,那么你的性能功耗比就很低。這也就是FPGA相比于GPU 的優(yōu)勢所在。
那么在開發(fā)成本方面,F(xiàn)PGA 的一次性成本其實要遠低于ASIC,這是因為FPGA在制造出來之后,可以通過不斷的編程來改變它上面的邏輯功能。
而ASIC在流片之后,它的功能就確定了。如果你要改變它的功能,就需要再進行流片,而這個過程會非常的昂貴。這也是為什么像包括深鑒科技在內(nèi)的很多AI芯片初創(chuàng)公司都選擇使用FPGA作為實現(xiàn)的平臺的主要原因。
所以說相比于其他的硬件加速單元來說,F(xiàn)PGA在性能、靈活度、同構(gòu)性、成本和功耗五個方面取得了比較理想的平衡。這就是為什么微軟最終選擇了FPGA,并在數(shù)據(jù)中心里進行大規(guī)模部署的主要原因。
最后我們總結(jié)一下這篇文章的主要內(nèi)容。
我們討論了人工智能芯片的主要分類:
比如按照使用場景分可以分為服務(wù)器端和終端兩大類;介紹了四種可以用來執(zhí)行人工智能應(yīng)用的芯片,也就是CPU、GPU、ASIC和FPGA;還根據(jù)一個思維框架,從性能、靈活性、同構(gòu)性、功耗和成本五個方面分別衡量了這四種芯片的優(yōu)缺點。
希望大家通過本篇文章對這些芯片都能取得一定的了解,幫助各位在以后的選擇中獲得更好的體驗。
---- 行業(yè)方案 | 推薦 ----
? 電子元器件行業(yè)數(shù)字化轉(zhuǎn)型解決方案
文章來源: EDA365電子論壇
編輯:云朵匠 | 數(shù)商云(微信公眾號名稱:“數(shù)商云”)
【數(shù)商云www.zhimaihui.cn】致力于提供企業(yè)級的電商平臺服務(wù),長期為大中型企業(yè)打造數(shù)據(jù)化、商業(yè)化、智能化的網(wǎng)上商城系統(tǒng)解決方案,同時我們還提供B2B網(wǎng)站系統(tǒng)、B2B2C多用戶商城系統(tǒng)、B2C電子商務(wù)系統(tǒng)、跨境進口電商平臺、供應(yīng)鏈管理系統(tǒng)、SRM供應(yīng)商管理系統(tǒng)、采購管理系統(tǒng)、渠道管理系統(tǒng)等一系列系統(tǒng)定制開發(fā)服務(wù),通過大數(shù)據(jù)、云計算等新技術(shù)協(xié)助企業(yè)打造供應(yīng)端—渠道端—營銷端—數(shù)據(jù)端等全鏈數(shù)字化運營體系,提升企業(yè)運營效益與智慧數(shù)字化商業(yè)轉(zhuǎn)型。
評論