所謂的AI芯片昔驱,一般是指針對AI算法的ASIC(專用芯片)。傳統(tǒng)的CPU上忍、GPU都可以拿來執(zhí)行AI算法骤肛,但是速度慢,性能低窍蓝,無法實際商用腋颠。
比如,自動駕駛需要識別道路行人紅綠燈等狀況吓笙,但是如果是當前的CPU去算淑玫,那么估計車翻到河里了還沒發(fā)現(xiàn)前方是河,這是速度慢面睛,時間就是生命絮蒿。如果用GPU,的確速度要快得多叁鉴,但是土涝,功耗大,汽車的電池估計無法長時間支撐正常使用幌墓,而且但壮,老黃家的GPU巨貴冀泻,經(jīng)常單塊上萬,普通消費者也用不起茵肃,還經(jīng)常缺貨腔长。另外,GPU因為不是專門針對AI算法開發(fā)的ASIC验残,所以捞附,說到底,速度還沒到極限您没,還有提升空間鸟召。而類似智能駕駛這樣的領域,必須快氨鹏!在手機終端欧募,可以自行人臉識別、語音識別等AI應用仆抵,這個必須功耗低跟继,所以GPU OUT!
所以镣丑,開發(fā)ASIC就成了必然舔糖。
說說,為什么需要AI芯片莺匠。
AI算法金吗,在圖像識別等領域,常用的是CNN卷積網(wǎng)絡趣竣,語音識別摇庙、自然語言處理等領域,主要是RNN遥缕,這是兩類有區(qū)別的算法卫袒。但是,他們本質(zhì)上通砍,都是矩陣或vector的乘法玛臂、加法,然后配合一些除法封孙、指數(shù)等算法。
一個成熟的AI算法讽营,比如YOLO-V3虎忌,就是大量的卷積、殘差網(wǎng)絡橱鹏、全連接等類型的計算膜蠢,本質(zhì)是乘法和加法堪藐。對于YOLO-V3來說,如果確定了具體的輸入圖形尺寸挑围,那么總的乘法加法計算次數(shù)是確定的礁竞。比如一萬億次。(真實的情況比這個大得多的多)
那么要快速執(zhí)行一次YOLO-V3杉辙,就必須執(zhí)行完一萬億次的加法乘法次數(shù)模捂。
這個時候就來看了,比如IBM的POWER8蜘矢,最先進的服務器用超標量CPU之一狂男,4GHz,SIMD品腹,128bit岖食,假設是處理16bit的數(shù)據(jù),那就是8個數(shù)舞吭,那么一個周期泡垃,最多執(zhí)行8個乘加計算。一次最多執(zhí)行16個操作羡鸥。這還是理論上蔑穴,其實是不大可能的。
那么CPU一秒鐘的巔峰計算次數(shù)=16X4Gops=64Gops兄春。
這樣澎剥,可以算算CPU計算一次的時間了。
同樣的赶舆,換成GPU算算哑姚,也能知道執(zhí)行時間。因為對GPU內(nèi)部結(jié)構不熟芜茵,所以不做具體分析叙量。
再來說說AI芯片。比如大名鼎鼎的谷歌的TPU1九串。
TPU1绞佩,大約700M Hz,有256X256尺寸的脈動陣列猪钮,如下圖所示泉唁。一共256X256=64K個乘加單元诡挂,每個單元一次可執(zhí)行一個乘法和一個加法。那就是128K個操作。(乘法算一個八堡,加法再算一個)
另外蜈漓,除了脈動陣列,還有其他模塊,比如激活等凉驻,這些里面也有乘法、加法等复罐。
所以涝登,看看TPU1一秒鐘的巔峰計算次數(shù)至少是=128K X 700MHz=89600Gops=大約90Tops。
對比一下CPU與TPU1效诅,會發(fā)現(xiàn)計算能力有幾個數(shù)量級的差距胀滚,這就是為啥說CPU慢。
當然填帽,以上的數(shù)據(jù)都是完全最理想的理論值蛛淋,實際情況,能夠達到5%吧篡腌。因為褐荷,芯片上的存儲不夠大,所以數(shù)據(jù)會存儲在DRAM中嘹悼,從DRAM取數(shù)據(jù)很慢的叛甫,所以,乘法邏輯往往要等待杨伙。另外其监,AI算法有許多層網(wǎng)絡組成,必須一層一層的算限匣,所以抖苦,在切換層的時候,乘法邏輯又是休息的米死,所以锌历,諸多因素造成了實際的芯片并不能達到利潤的計算峰值,而且差距還極大峦筒。
可能有人要說究西,搞研究慢一點也能將就用。
目前來看物喷,神經(jīng)網(wǎng)絡的尺寸是越來越大卤材,參數(shù)越來越多,遇到大型NN模型峦失,訓練需要花幾周甚至一兩個月的時候扇丛,你會耐心等待么?突然斷電尉辑,一切重來晕拆?(曾經(jīng)動手訓練一個寫小說的AI,然后材蹬,一次訓練(50輪)需要大約一天一夜還多实幕,記得如果第一天早上開始訓練,需要到第二天下午才可能完成堤器,這還是模型比較簡單昆庇,數(shù)據(jù)只有幾萬條的小模型呀。)
修改了模型闸溃,需要幾個星期才能知道對錯整吆,確定等得起?
突然有了TPU辉川,然后你發(fā)現(xiàn)表蝙,吃個午飯回來就好了,參數(shù)優(yōu)化一下乓旗,繼續(xù)跑府蛇,多么爽!
計算速度快屿愚,才能迅速反復迭代汇跨,研發(fā)出更強的AI模型。速度就是金錢妆距。
GPU的內(nèi)核結(jié)構不清楚穷遂,所以就不比較了∮榫荩肯定的是蚪黑,GPU還是比較快的,至少比CPU快得多中剩,所以目前大多數(shù)都用GPU忌穿,這玩意隨便一個都能價格輕松上萬,太貴咽安,而且伴网,功耗高,經(jīng)常缺貨妆棒。不適合數(shù)據(jù)中心大量使用澡腾。
總的來說,CPU與GPU并不是AI專用芯片糕珊,為了實現(xiàn)其他功能动分,內(nèi)部有大量其他邏輯,而這些邏輯對于目前的AI算法來說是完全用不上的红选,所以澜公,自然造成CPU與GPU并不能達到最優(yōu)的性價比。
谷歌花錢研發(fā)TPU,而且目前已經(jīng)出了TPU3坟乾,用得還挺歡迹辐,都開始支持谷歌云計算服務了,貌似6點幾美元每小時吧甚侣,不記得單位了明吩,懶得查.
可見,谷歌覺得很有必要自己研發(fā)TPU殷费。
就醬印荔。
看到有答案點我名說不應該用CPU做對比,這個鍋我不背详羡。
做一點解釋仍律。
目前在圖像識別、語音識別实柠、自然語言處理等領域水泉,精度最高的算法就是基于深度學習的,傳統(tǒng)的機器學習的計算精度已經(jīng)被超越主到,目前應用最廣的算法茶行,估計非深度學習莫屬,而且登钥,傳統(tǒng)機器學習的計算量與 深度學習比起來少很多畔师,所以,我討論AI芯片時就針對計算量特別大的深度學習而言牧牢。畢竟看锉,計算量小的算法,說實話塔鳍,CPU已經(jīng)很快了伯铣。而且,CPU適合執(zhí)行調(diào)度復雜的算法轮纫,這一點是GPU與AI芯片都做不到的腔寡,所以他們?nèi)咧皇轻槍Σ煌膽脠鼍岸眩加懈髯缘闹鲌觥?/p>
至于為何用了CPU做對比掌唾?
而沒有具體說GPU放前。是因為,我說了糯彬,我目前沒有系統(tǒng)查看過GPU的論文凭语,不了解GPU的情況,故不做分析撩扒。因為積累的緣故似扔,比較熟悉超標量CPU,所以就用熟悉的CPU做詳細比較。而且炒辉,小型的網(wǎng)絡豪墅,完全可以用CPU去訓練,沒啥大問題辆脸,最多慢一點但校。只要不是太大的網(wǎng)絡模型。
那些AI算法公司啡氢,比如曠世、商湯等术裸,他們的模型很大倘是,自然也不是一塊GPU就能搞定的。GPU的算力也是很有限的袭艺。
至于說CPU是串行搀崭,GPU是并行。
沒錯猾编,但是不全面瘤睹。只說說CPU串行。這位網(wǎng)友估計對CPU沒有非常深入的理解答倡。我的回答中舉的CPU是IBM的POWER8轰传,百度一下就知道,這是超標量的服務器用CPU瘪撇,目前來看获茬,性能已經(jīng)是非常頂級的了,主頻4GHZ倔既。不知是否注意到我說了這是SIMD恕曲?這個SIMD,就代表他可以同時執(zhí)行多條同樣的指令渤涌,這就是并行佩谣,而不是串行。單個數(shù)據(jù)是128bit的实蓬,如果是16bit的精度茸俭,那么一周期理論上最多可以計算八組數(shù)據(jù)的乘法或加法,或者乘加瞳秽。這還不叫并行瓣履?只是并行的程度沒有GPU那么厲害而已,但是练俐,這也是并行袖迎。
不知道為啥就不能用CPU來比較算力?
有評論很推崇GPU。說用CPU來做比較燕锥,不合適辜贵。
拜托,GPU本來是從CPU中分離出來專門處理圖像計算的归形,也就是說托慨,GPU是專門處理圖像計算的。包括各種特效的顯示暇榴。這也是GPU的天生的缺陷厚棵,GPU更加針對圖像的渲染等計算算法。但是蔼紧,這些算法婆硬,與深度學習的算法還是有比較大的區(qū)別,而我的回答里提到的AI芯片奸例,比如TPU彬犯,這個是專門針對CNN等典型深度學習算法而開發(fā)的。另外查吊,寒武紀的NPU谐区,也是專門針對神經(jīng)網(wǎng)絡的,與TPU類似逻卖。
谷歌的TPU宋列,寒武紀的DianNao,這些AI芯片剛出道的時候箭阶,就是用CPU/GPU來對比的虚茶。
無圖無真相,是吧仇参?
看看嘹叫,谷歌TPU論文的摘要直接對比了TPU1與CPU/GPU的性能比較結(jié)果,見紅色框:
need-to-insert-img
看不清诈乒?
沒事罩扇,放大。
need-to-insert-img
這就是摘要中介紹的TPU1與CPU/GPU的性能對比怕磨。
再來看看寒武紀DianNao的paper喂饥,摘要中直接就是DianNao與CPU的性能的比較,見紅色框:
need-to-insert-img
回顧一下歷史肠鲫。
上個世紀出現(xiàn)神經(jīng)網(wǎng)絡的時候员帮,那一定是用CPU計算的。
比特幣剛出來导饲,那也是用CPU在挖捞高。目前已經(jīng)進化成ASIC礦機了氯材。比特大陸了解一下。
從2006年開始開啟的深度學習熱潮硝岗,CPU與GPU都能計算氢哮,發(fā)現(xiàn)GPU速度更快,但是貴啊型檀,更多用的是CPU冗尤,而且,那時候GPU的CUDA可還不怎么樣胀溺,后來裂七,隨著NN模型越來越大,GPU的優(yōu)勢越來越明顯月幌,CUDA也越來越6碍讯,目前就成了GPU的專場。
寒武紀2014年的DianNao(NPU)比CPU快扯躺,而且更加節(jié)能。ASIC的優(yōu)勢很明顯啊蝎困。這也是為啥要開發(fā)ASIC的理由录语。
至于說很多公司的方案是可編程的,也就是大多數(shù)與FPGA配合禾乘。你說的是商湯澎埠、深鑒么?的確始藕,他們發(fā)表的論文蒲稳,就是基于FPGA的。
這些創(chuàng)業(yè)公司伍派,他們更多研究的是算法江耀,至于芯片,還不是重點诉植,另外祥国,他們暫時還沒有那個精力與實力。FPGA非常靈活晾腔,成本不高舌稀,可以很快實現(xiàn)架構設計原型,所以他們自然會選擇基于FPGA的方案灼擂。不過壁查,最近他們都大力融資,官網(wǎng)也在招聘芯片設計崗位剔应,所以睡腿,應該也在涉足ASIC研發(fā)了语御。
如果以FPGA為代表的可編程方案真的有巨大的商業(yè)價值,那他們何必砸錢去做ASIC嫉到?
作者:陌然_5236
鏈接:http://www.reibang.com/p/1ccaa9617e4c
來源:簡書
著作權歸作者所有沃暗。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權,非商業(yè)轉(zhuǎn)載請注明出處何恶。