全部服務(wù)分類
發(fā)布者:代辦說時間:10-31
相關(guān)資質(zhì):EDI許可證(在線數(shù)據(jù)處理與交易業(yè)務(wù))
發(fā)布機構(gòu):上海市云計算創(chuàng)新基地
2016年,AlphaGo與李世石九段的圍棋對決無疑掀起了全世界對人工智能領(lǐng)域的新一輪關(guān)注。在與李世石對戰(zhàn)的5個月之前,AlphaGo因擊敗歐洲圍棋冠軍樊麾二段,圍棋等級分上升至3168分,而當(dāng)時排名世界第二的李世石是3532分。按照這個等級分?jǐn)?shù)對弈,AlphaGo每盤的勝算只有約11%,而結(jié)果是3個月之后它在與李世石對戰(zhàn)中以4比1大勝。AlphaGo的學(xué)習(xí)能力之快,讓人惶恐。
1.人工智能:讓機器像人一樣思考
自AlphaGo之后,“人工智能”成為2016年的熱詞,但早在1956年,幾個計算機科學(xué)家就在達特茅斯會議上首次提出了此概念。他們夢想著用當(dāng)時剛剛出現(xiàn)的計算機來構(gòu)造復(fù)雜的、擁有與人類智慧同樣本質(zhì)特性的機器,也就是我們今日所說的“強人工智能”。這個無所不能的機器,它有著我們所有的感知、所有的理性,甚至可以像我們一樣思考。
人們在電影里也總是看到這樣的機器:友好的,像星球大戰(zhàn)中的C-3PO;邪惡的,如終結(jié)者。強人工智能目前還只存在于電影和科幻小說中,原因不難理解,我們還沒法實現(xiàn)它們,至少目前還不行。
我們目前能實現(xiàn)的,一般被稱為“弱人工智能”。弱人工智能是能夠與人一樣,甚至比人更好地執(zhí)行特定任務(wù)的技術(shù)。例如,Pinterest上的圖像分類,或者Facebook的人臉識別。這些人工智能技術(shù)實現(xiàn)的方法就是“機器學(xué)習(xí)”。
2.機器學(xué)習(xí):使人工智能真實發(fā)生
人工智能的核心就是通過不斷地機器學(xué)習(xí),而讓自己變得更加智能。機器學(xué)習(xí)最基本的做法,是使用算法來解析數(shù)據(jù)、從中學(xué)習(xí),然后對真實世界中的事件做出決策和預(yù)測。與傳統(tǒng)的為解決特定任務(wù)、硬編碼的軟件程序不同,機器學(xué)習(xí)是用大量的數(shù)據(jù)來“訓(xùn)練”,通過各種算法從數(shù)據(jù)中學(xué)習(xí)如何完成任務(wù)。
機器學(xué)習(xí)最成功的應(yīng)用領(lǐng)域是計算機視覺,雖然也還是需要大量的手工編碼來完成工作。以識別停止標(biāo)志牌為例:人們需要手工編寫形狀檢測程序來判斷檢測對象是不是有八條邊;寫分類器來識別字母“S-T-O-P”。使用以上這些手工編寫的分類器與邊緣檢測濾波器,人們總算可以開發(fā)算法來識別標(biāo)志牌從哪里開始、到哪里結(jié)束,從而感知圖像,判斷圖像是不是一個停止標(biāo)志牌。
這個結(jié)果還算不錯,但并不是那種能讓人為之一振的成功。特別是遇到霧霾天,標(biāo)志牌變得不是那么清晰可見,又或者被樹遮擋一部分,算法就難以成功了。這就是為什么很長一段時間,計算機視覺的性能一直無法接近到人的能力。它太僵化,太容易受環(huán)境條件的干擾。
3.人工神經(jīng)網(wǎng)絡(luò):賦予機器學(xué)習(xí)以深度
人工神經(jīng)網(wǎng)絡(luò)是早期機器學(xué)習(xí)中的一個重要的算法,歷經(jīng)數(shù)十年風(fēng)風(fēng)雨雨。神經(jīng)網(wǎng)絡(luò)的原理是受我們大腦的生理結(jié)構(gòu)——互相交叉相連的神經(jīng)元啟發(fā)。但與大腦中一個神經(jīng)元可以連接一定距離內(nèi)的任意神經(jīng)元不同,人工神經(jīng)網(wǎng)絡(luò)具有離散的層,每一次只連接符合數(shù)據(jù)傳播方向的其它層。
例如,我們可以把一幅圖像切分成圖像塊,輸入到神經(jīng)網(wǎng)絡(luò)的第一層。在第一層的每一個神經(jīng)元都把數(shù)據(jù)傳遞到第二層。第二層的神經(jīng)元也是完成類似的工作,把數(shù)據(jù)傳遞到第三層,以此類推,直到最后一層,然后生成結(jié)果。
每一個神經(jīng)元都為它的輸入分配權(quán)重,這個權(quán)重的正確與否與其執(zhí)行的任務(wù)直接相關(guān)。最終的輸出由這些權(quán)重加總來決定。
我們?nèi)砸酝V箻?biāo)志牌為例:將一個停止標(biāo)志牌圖像的所有元素都打碎,然后用神經(jīng)元進行“檢查”:八邊形的外形、救火車般的紅顏色、鮮明突出的字母、交通標(biāo)志的典型尺寸和靜止不動運動特性等等。神經(jīng)網(wǎng)絡(luò)的任務(wù)就是給出結(jié)論,它到底是不是一個停止標(biāo)志牌。神經(jīng)網(wǎng)絡(luò)會根據(jù)所有權(quán)重,給出一個經(jīng)過深思熟慮的猜測——“概率向量”。
這個例子里,系統(tǒng)可能會給出這樣的結(jié)果:86%可能是一個停止標(biāo)志牌;7%的可能是一個限速標(biāo)志牌;5%的可能是一個風(fēng)箏掛在樹上等等。然后網(wǎng)絡(luò)結(jié)構(gòu)告知神經(jīng)網(wǎng)絡(luò),它的結(jié)論是否正確。
即使是這個例子,也算是比較超前了。直到前不久,神經(jīng)網(wǎng)絡(luò)也還是為人工智能圈所淡忘。其實在人工智能出現(xiàn)的早期,神經(jīng)網(wǎng)絡(luò)就已經(jīng)存在了,但神經(jīng)網(wǎng)絡(luò)對于“智能”的貢獻微乎其微。主要問題是,即使是最基本的神經(jīng)網(wǎng)絡(luò),也需要大量的運算,而這種運算需求難以得到滿足。
4.深度學(xué)習(xí):剔除神經(jīng)網(wǎng)絡(luò)之誤差
深度學(xué)習(xí)由人工神經(jīng)網(wǎng)絡(luò)衍生而來,是一種需要訓(xùn)練的具有大型神經(jīng)網(wǎng)絡(luò)的多隱層層次結(jié)構(gòu),其每層相當(dāng)于一個可以解決問題不同方面的機器學(xué)習(xí)。利用這種深層非線性的網(wǎng)絡(luò)結(jié)構(gòu),深度學(xué)習(xí)可以實現(xiàn)復(fù)雜函數(shù)的逼近,將表征輸入數(shù)據(jù)分布式表示,繼而展現(xiàn)強大的從少數(shù)樣本集中學(xué)習(xí)數(shù)據(jù)集本質(zhì)特征的能力,并使概率向量更加收斂。
簡單來說,深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)的處理方式和學(xué)習(xí)方式與人類大腦的神經(jīng)元更加相似,比傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)更準(zhǔn)確。
我們回過頭來看這個停止標(biāo)志識別的例子:深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)從成百上千甚至幾百萬張停止標(biāo)志圖像中提取表征數(shù)據(jù),通過重復(fù)訓(xùn)練將神經(jīng)元輸入的權(quán)重調(diào)制得更加精確,無論是否有霧,晴天還是雨天,每次都能得到正確的結(jié)果。只有這個時候,我們才可以說神經(jīng)網(wǎng)絡(luò)成功地自學(xué)習(xí)到一個停止標(biāo)志的樣子。
Google的AlphaGo也是先學(xué)會了如何下圍棋,然后通過不斷地與自己下棋,訓(xùn)練自己的神經(jīng)網(wǎng)絡(luò),這種訓(xùn)練使得AlphaGo成功在三個月后擊敗了等級分?jǐn)?shù)更高的李世石。
深度學(xué)習(xí)仿若機器學(xué)習(xí)最頂端的鉆石,賦予人工智能更璀璨的未來。其摧枯拉朽般地實現(xiàn)了各種我們曾經(jīng)想都不敢想的任務(wù),使得幾乎所有的機器輔助功能都變?yōu)榭赡?。更好的電影推薦、智能穿戴,甚至無人駕駛汽車、預(yù)防性醫(yī)療保健,都近在眼前,或者即將實現(xiàn)。人工智能就在現(xiàn)在,就在明天。你的C-3PO我拿走了,你有你的終結(jié)者就好。
但是正如前面提到的,人工神經(jīng)網(wǎng)絡(luò),即深度學(xué)習(xí)的前身,已經(jīng)存在了近三十年,但直到最近的5到10年才再次興起,這又是因為什么?
1.突破局限的學(xué)習(xí)算法
20世紀(jì)90年代,包括支撐向量機(SVM)與最大熵方法(LR)在內(nèi)的眾多淺層機器學(xué)習(xí)算法相繼提出,使得基于反向傳播算法(BP)的人工神經(jīng)網(wǎng)絡(luò)因難以彌補的劣勢漸漸淡出人們的視線。直到 2006年,加拿大多倫多大學(xué)教授、機器學(xué)習(xí)領(lǐng)域的泰斗 Geoffrey Hinton 和他的學(xué)生在《科學(xué)》上發(fā)表了一篇文章,解決了反向傳播算法存在的過擬合與難訓(xùn)練的問題,從而開啟了深度學(xué)習(xí)在學(xué)術(shù)界和工業(yè)界的浪潮。
深度學(xué)習(xí)的實質(zhì),是通過構(gòu)建具有很多隱層的機器學(xué)習(xí)模型和海量的訓(xùn)練數(shù)據(jù),來學(xué)習(xí)更有用的特征,從而最終提升分類或預(yù)測的準(zhǔn)確性。因此,“深度模型”是手段,“特征學(xué)習(xí)”是目的。區(qū)別于傳統(tǒng)的淺層學(xué)習(xí),深度學(xué)習(xí)的不同在于:
? 強調(diào)了模型結(jié)構(gòu)的深度,通常有5層、6層,甚至10多層的隱層節(jié)點;
?明確突出了特征學(xué)習(xí)的重要性,也就是說,通過逐層特征變換,將樣本在原空間的特征表示變換到一個新特征空間,從而使分類或預(yù)測更加容易。
這種算法的差別提升了對訓(xùn)練數(shù)據(jù)量和并行計算能力的需求,而在當(dāng)時,移動設(shè)備尚未普及,這使得非結(jié)構(gòu)化數(shù)據(jù)的采集并不是那么容易。
2.驟然爆發(fā)的數(shù)據(jù)洪流
深度學(xué)習(xí)模型需要通過大量的數(shù)據(jù)訓(xùn)練才能獲得理想的效果。以語音識別問題為例,僅在其聲學(xué)建模部分,算法就面臨著十億到千億級別的訓(xùn)練樣本數(shù)據(jù)。訓(xùn)練樣本的稀缺使得人工智能即使在經(jīng)歷了算法的突破后依然沒能成為人工智能應(yīng)用領(lǐng)域的主流算法。直到2012年,分布于世界各地的互相聯(lián)系的設(shè)備、機器和系統(tǒng)促進了非結(jié)構(gòu)化數(shù)據(jù)數(shù)量的巨大增長,并終于在可靠性方面發(fā)生了質(zhì)的飛躍,大數(shù)據(jù)時代到來。
大數(shù)據(jù)到底有多大?一天之中,互聯(lián)網(wǎng)產(chǎn)生的全部內(nèi)容可以刻滿1.68億張DVD;發(fā)出的郵件有2940億封之多,相當(dāng)于美國兩年的紙質(zhì)信件數(shù)量;發(fā)出的社區(qū)帖子達200萬個,相當(dāng)于《時代》雜志770年的文字量;賣出的手機為37.8萬臺,高于全球每天出生的嬰兒數(shù)量37.1萬倍。然而,即使是人們每天創(chuàng)造的全部信息,包括語音通話、電子郵件和信息在內(nèi)的各種通信,以及上傳的全部圖片、視頻與音樂,其信息量也無法匹及每一天所創(chuàng)造出的關(guān)于人們自身活動的數(shù)字信息量。
我們現(xiàn)在還處于所謂“物聯(lián)網(wǎng)”的最初級階段,隨著技術(shù)的成熟,我們的通訊設(shè)備、交通工具和可穿戴科技將能互相連接與溝通,信息量的增加也將以幾何倍數(shù)持續(xù)下去。
3.難以滿足的硬件需求
驟然爆發(fā)的數(shù)據(jù)洪流滿足了深度學(xué)習(xí)算法對于訓(xùn)練數(shù)據(jù)量的要求,但是算法的實現(xiàn)還需要相應(yīng)處理器極高的運算速度作為支撐。當(dāng)前流行的包括X86和ARM在內(nèi)的傳統(tǒng)CPU處理器架構(gòu)往往需要數(shù)百甚至上千條指令才能完成一個神經(jīng)元的處理,但對于并不需要太多的程序指令,卻需要海量數(shù)據(jù)運算的深度學(xué)習(xí)的計算需求,這種結(jié)構(gòu)就顯得非常笨拙。尤其是在當(dāng)前功耗限制下無法通過提升CPU主頻來加快指令執(zhí)行速度,這種矛盾愈發(fā)不可調(diào)和,深度學(xué)習(xí)研究人員迫切需要一種替代硬件來滿足海量數(shù)據(jù)的運算需求。
或許終有一日將會誕生全新的、為人工智能而專門設(shè)計的處理器架構(gòu),但在那之前的幾十年,人工智能仍然要向前走,便只能改進現(xiàn)有處理器,使之成為能夠最大程度適應(yīng)大吞吐量運算的計算架構(gòu)。目前來看,圍繞現(xiàn)有處理器的主流改進方式有兩個:
? 圖形處理器通用化:
將圖形處理器GPU用作矢量處理器。在這種架構(gòu)中,GPU擅長浮點運算的特點將得到充分利用,使其成為可以進行并行處理的通用計算芯片GPGPU。英偉達公司從2006年下半年已經(jīng)開始陸續(xù)推出相關(guān)的硬件產(chǎn)品以及軟件開發(fā)工具,目前是人工智能硬件市場的主導(dǎo)。
? 多核處理器異構(gòu)化:
將GPU或FPGA等其他處理器內(nèi)核集成到CPU上。在這種架構(gòu)中,CPU內(nèi)核所不擅長的浮點運算以及信號處理等工作,將由集成在同一塊芯片上的其它可編程內(nèi)核執(zhí)行,而GPU與FPGA都以擅長浮點運算著稱。AMD與Intel公司分別致力于基于GPU與FPGA的異構(gòu)處理器,希望借此切入人工智能市場。
在深度學(xué)習(xí)的領(lǐng)域里,最重要的是數(shù)據(jù)和運算。誰的數(shù)據(jù)更多,誰的運算更快,誰就會占據(jù)優(yōu)勢。因此,在處理器的選擇上,可以用于通用基礎(chǔ)計算且運算速率更快的GPU迅速成為人工智能計算的主流芯片。可以說,在過去的幾年,尤其是2015年以來,人工智能大爆發(fā)就是由于英偉達公司的GPU得到廣泛應(yīng)用,使得并行計算變得更快、更便宜、更有效。
1.GPU是什么?
圖形處理器GPU最初是用在個人電腦、工作站、游戲機和一些移動設(shè)備上運行繪圖運算工作的微處理器,可以快速地處理圖像上的每一個像素點。后來科學(xué)家發(fā)現(xiàn),其海量數(shù)據(jù)并行運算的能力與深度學(xué)習(xí)需求不謀而合,因此,被最先引入深度學(xué)習(xí)。2011年吳恩達教授率先將其應(yīng)用于谷歌大腦中便取得驚人效果,結(jié)果表明,12顆英偉達的GPU可以提供相當(dāng)于2000顆CPU的深度學(xué)習(xí)性能,之后紐約大學(xué)、多倫多大學(xué)以及瑞士人工智能實驗室的研究人員紛紛在GPU上加速其深度神經(jīng)網(wǎng)絡(luò)。
2.GPU和CPU的設(shè)計區(qū)別
那么GPU的快速運算能力是如何獲得的?這就要追溯到芯片最初的設(shè)計目標(biāo)了。中央處理器CPU需要很強的處理不同類型數(shù)據(jù)的計算能力以及處理分支與跳轉(zhuǎn)的邏輯判斷能力,這些都使得CPU的內(nèi)部結(jié)構(gòu)異常復(fù)雜;而圖形處理器GPU最初面對的是類型高度統(tǒng)一的、相互無依賴的大規(guī)模數(shù)據(jù)和不需要被打斷的純凈的計算環(huán)境,所以GPU只需要進行高速運算而不需要邏輯判斷。目標(biāo)運算環(huán)境的區(qū)別決定了GPU與CPU不同的設(shè)計架構(gòu):
CPU基于低延時的設(shè)計
? 大量緩存空間Cache,方便快速提取數(shù)據(jù)。CPU將大量訪問過的數(shù)據(jù)存放在Cache中,當(dāng)需要再次訪問這些數(shù)據(jù)時,就不用從數(shù)據(jù)量巨大的內(nèi)存中提取了,而是直接從緩存中提取。
? 強大的算術(shù)運算單元ALU,可以在很短的時鐘周期內(nèi)完成算數(shù)計算。當(dāng)今的CPU可以達到64bit雙精度,執(zhí)行雙精度浮點源計算加法和乘法只需要1~3個時鐘周期,時鐘周期頻率達到1.532~3gigahertz。
? 復(fù)雜的邏輯控制單元,當(dāng)程序含有多個分支時,它通過提供分支預(yù)測來降低延時。
? 包括對比電路單元與轉(zhuǎn)發(fā)電路單元在內(nèi)的諸多優(yōu)化電路,當(dāng)一些指令依賴前面的指令結(jié)果時,它決定這些指令在pipeline中的位置并且盡可能快的轉(zhuǎn)發(fā)一個指令的結(jié)果給后續(xù)指令。
GPU基于大吞吐量的設(shè)計
? 壓縮緩存空間Cache,從而最大化激發(fā)內(nèi)存吞吐量,可以處理超長的流水線。緩存的目的不是保存之后需要訪問的數(shù)據(jù),而是擔(dān)任數(shù)據(jù)轉(zhuǎn)發(fā)的角色,為線程提高服務(wù)。如果有很多線程需要訪問同一個數(shù)據(jù),緩存會合并這些訪問,再去DRAM中訪問數(shù)據(jù),獲取的數(shù)據(jù)將通過緩存轉(zhuǎn)發(fā)給對應(yīng)的線程。這種方法雖然減小了緩存,但由于需要訪問內(nèi)存,因而自然會帶來延時效應(yīng)。
? 高效的算數(shù)運算單元和簡化的邏輯控制單元,把串行訪問拆分成多個簡單的并行訪問,并同時運算。例如,在CPU上約有20%的晶體管是用作計算的,而GPU上有80%的晶體管用作計算。
3.GPU和CPU的性能差異
CPU與GPU在各自領(lǐng)域都可以高效地完成任務(wù),但當(dāng)同樣應(yīng)用于通用基礎(chǔ)計算領(lǐng)域時,設(shè)計架構(gòu)的差異直接導(dǎo)致了兩種芯片性能的差異。
CPU擁有專為順序邏輯處理而優(yōu)化的幾個核心組成的串行架構(gòu),這決定了其更擅長邏輯控制、串行運算與通用類型數(shù)據(jù)運算;而GPU擁有一個由數(shù)以千計的更小、更高效的核心組成的大規(guī)模并行計算架構(gòu),大部分晶體管主要用于構(gòu)建控制電路和Cache,而控制電路也相對簡單,且對Cache的需求小,只有小部分晶體管來完成實際的運算工作。所以大部分晶體管可以組成各類專用電路、多條流水線,使得GPU的計算速度有了突破性的飛躍,擁有了更強大的處理浮點運算的能力。這決定了其更擅長處理多重任務(wù),尤其是沒有技術(shù)含量的重復(fù)性工作。
當(dāng)前最頂級的CPU只有4核或者6核,模擬出8個或者12個處理線程來進行運算,但是普通級別的GPU就包含了成百上千個處理單元,高端的甚至更多,這對于多媒體計算中大量的重復(fù)處理過程有著天生的優(yōu)勢。
舉個常見的例子,一個向量相加的程序,可以讓CPU跑一個循環(huán),每個循環(huán)對一個分量做加法,也可以讓GPU同時開大量線程,每個并行的線程對應(yīng)一個分量的相加。CPU跑循環(huán)的時候每條指令所需時間一般低于GPU,但GPU因為可以同時開啟大量的線程并行地跑,具有SIMD的優(yōu)勢。
4.GPU行業(yè)的佼佼者:Nvidia
目前全球GPU行業(yè)的市場份額有超過70%被英偉達公司占據(jù),而應(yīng)用在人工智能領(lǐng)域的可進行通用計算的GPU市場則基本被英偉達公司壟斷。
2016年三季度英偉達營收為20.04億美元,較上年同期的13.05億美元增長54%;凈利潤為5.42億美元,較上年同期的2.46億美元增長120%,營收的超預(yù)期增長推動其盤后股價大幅上漲約16%。以面向的市場平臺來劃分,游戲業(yè)務(wù)營收12.4億美元,同比增長63%,是創(chuàng)造利潤的核心部門;數(shù)據(jù)中心業(yè)務(wù)營收2.4億美元,同比增長193%,成為增長最快的部門;自動駕駛業(yè)務(wù)營收1.27億美元,同比增長61%,正在逐步打開市場。
這樣的業(yè)績創(chuàng)下了英偉達的歷史最好季度收入,但這并非是其股票暴漲的理由,事實上,在過去的六年里,英偉達的業(yè)績基本一直呈現(xiàn)上升趨勢。從2012年財年至2016財年,英偉達的營業(yè)收入實現(xiàn)了從40億美元到50億美元的跨越,而其凈利潤也從2012財年的5.8億美元逐步上升到了2016財年的6.14億美元。但在此期間,英偉達的股價并未出現(xiàn)翻番式的增長。
真正促成英偉達股價飆升的是人工智能的新市場。在剛剛過去的2016年,英偉達的股價上漲了228%,過去的5年內(nèi)累計上漲500%。500億美元的市值將會持續(xù)給英偉達帶來40倍的市場收入,這幾乎是業(yè)內(nèi)擁有最高收益的公司。
5.Nvidia的市場定位:人工智能計算公司
自1999年發(fā)布第一款GPU以來,GPU就成為了英偉達最為核心的產(chǎn)品,占到了英偉達總營業(yè)收入的八成,而英偉達也以顯卡廠商的身份進入人們的視線。這些芯片最初是以板卡的形式出售給游戲玩家的,游戲玩家需要自己動手將芯片裝到PC主板上,從而擁有更快的3D圖形處理速度。他們的產(chǎn)品命名也很有講究,用"GeForce"這樣具有超能力的字眼來開辟市場。
今日的英偉達,已經(jīng)不再是一家單純的顯卡技術(shù)廠商,他現(xiàn)在很趕時髦地稱自己為“人工智能計算公司”。據(jù)英偉達官網(wǎng)數(shù)據(jù)顯示,2016年,有近兩萬家機構(gòu)將英偉達產(chǎn)品用于深度學(xué)習(xí)加速計算,相比2014年翻了13倍。醫(yī)療、生命科學(xué)、教育、能源、金融、汽車、制造業(yè)以及娛樂業(yè)等諸多行業(yè)均將得益于海量數(shù)據(jù)的分析。
谷歌、微軟、Facebook 和亞馬遜等技術(shù)巨頭大量購買英偉達的芯片來擴充自己數(shù)據(jù)中心的處理能力;Massachusetts General Hospital等醫(yī)療研究機構(gòu)用英偉達的芯片來標(biāo)記CT掃描圖片上的病變點;特斯拉將在所有的汽車上安裝英偉達的芯片來實現(xiàn)無人駕駛; June等家電公司用英偉達的芯片制造人工智能驅(qū)動的家用電器。在人工智能到來之前,英偉達從來都沒有處于一個如此巨大的市場的中心,這也充分表明了一個事實,那就是英偉達在GPU的計算處理技術(shù)上無人能及。
同時,英偉達還在投資不同領(lǐng)域里新興的、需要借助深度學(xué)習(xí)來構(gòu)建業(yè)務(wù)的公司,使這些公司能夠更好地借助其提供的人工智能平臺起步,這類似于以前一些初創(chuàng)公司通過微軟Windows來構(gòu)建服務(wù)以及最近通過iTunes來發(fā)布應(yīng)用。
6.Nvidia的核心產(chǎn)品:Pascal家族
英偉達的傳統(tǒng)強項是桌面和移動終端的GPU,但是堅定地向著人工智能大步邁進的英偉達顯然已經(jīng)不滿足于僅僅在單一領(lǐng)域做提高GPU性能的事了。相比于傳統(tǒng)的計算密集型GPU產(chǎn)品來說,英偉達努力的方向是使得GPU芯片不僅僅只針對訓(xùn)練算法這一項起到作用,更是能處理人工智能服務(wù)的推理工作負(fù)載,從而加速整個人工智能的開發(fā)流程。目前該公司的核心產(chǎn)品包括基于Pascal架構(gòu)的TeslaP4與Tesla P40深度學(xué)習(xí)芯片,這兩款芯片均已于2016年第四季度開始投入量產(chǎn)。
Tesla P4為資料中心帶來最高的能源效率
其小尺寸及最小50瓦特的低功率設(shè)計可安裝于任何服務(wù)器內(nèi),讓生產(chǎn)作業(yè)負(fù)載推論的能源效率達CPU的40倍。在進行視頻推論作業(yè)負(fù)載時,單一服務(wù)器裡安裝單顆Tesla P4即可取代13臺僅采用CPU的服務(wù)器,而包含服務(wù)器及用電量的總持有成本則能節(jié)省達8倍。
Tesla P40為深度學(xué)習(xí)作業(yè)負(fù)載帶來最大的處理量
一臺搭載8顆Tesla P40加速器的服務(wù)器擁有每秒47兆次運算的推論性能及INT8指令,可取代140臺以上的CPU服務(wù)器的性能。若以每臺CPU服務(wù)器約5,000美元計算,可節(jié)省65萬美元以上的服務(wù)器采購成本。
基于上述兩種人工智能芯片,英偉達為資料中心提供唯一的端對端深度學(xué)習(xí)平臺,并能夠?qū)⒂?xùn)練時間從數(shù)天大幅縮短至數(shù)小時,從而實現(xiàn)資料的立即解析與服務(wù)的及時回應(yīng)。
7.Nvidia的應(yīng)用布局:自動駕駛
不僅僅是底層架構(gòu),英偉達在應(yīng)用層面上也有非常明確的布局,其中最看重也最有領(lǐng)先優(yōu)勢的就是自動駕駛。早在2014年1月,英偉達就發(fā)布了為移動平臺設(shè)計的第一代Tegra系列處理器,適用于智能手機、平板電腦和自動駕駛汽車,四個月后,DRIVE PX自動駕駛計算平臺發(fā)布,可實現(xiàn)包括高速公路自動駕駛與高清制圖在內(nèi)的自動巡航功能。同年10月,搭載了Tegra K1處理器并應(yīng)用了DRIVEPX計算平臺的特斯拉新款Model S開始量產(chǎn),英偉達成為第一個享受到自動駕駛紅利的廠商。
2016年英偉達在自動駕駛領(lǐng)域并沒有什么重大突破,基本只是從技術(shù)升級及廠商合作兩個方面入手,除了特斯拉這個老朋友外,百度、沃爾沃也跟英偉達達成了合作,他們都將生產(chǎn)搭載DRIVE PX 2的智能駕駛汽車。恰逢此時,AI概念變得更加火熱,智能駕駛也逐漸成熟,這些客觀因素讓英偉達收割了更多的紅利,也讓公司站在了聚光燈之下。
從整個自動駕駛行業(yè)來看,Google、蘋果、微軟等科技公司都在建立自己的汽車生態(tài)體系,不過智能汽車對于他們來說都不是核心業(yè)務(wù),更為重要的是,他們并沒有真正進入汽車供應(yīng)鏈體系。與之相反,英偉達的Drive PX系列自動駕駛解決方案,已經(jīng)進入了汽車的上游供應(yīng)鏈中,并創(chuàng)造了利潤,這也意味著英偉達將在汽車芯片市場與英特爾、高通、恩智浦、瑞薩電子等做CPU的公司正面碰撞,自動駕駛的風(fēng)口讓英偉達在汽車市場從“邊緣人”變成了挑戰(zhàn)者。
隨著特斯拉Model S等備受矚目的車型更加智能化與多媒體化,英偉達有了彎道超車的機會,并有望在汽車產(chǎn)業(yè)的上游供應(yīng)鏈占據(jù)更有優(yōu)勢的地位。最新款的Tegra系列處理器功耗只有10瓦,幾乎與同等級的FPGA產(chǎn)品功耗持平甚至更低,這對于車載移動芯片來說是巨大的優(yōu)勢。
但同樣的,單移動處理器的架構(gòu)和極低的功耗必然無法支撐起超大規(guī)模的運算,目前英偉達計算平臺的功能定位僅聚焦于高速公路上的自動巡航,而CPU的應(yīng)用可以拓展至車機娛樂信息系統(tǒng)層面。未來自動駕駛的發(fā)展方向必然是整車的控制中心,從目前英偉達基于Tesla架構(gòu)的主流芯片來看,低功耗、極速運算與邏輯控制是可以同時實現(xiàn)的,英偉達公司在自動駕駛領(lǐng)域的優(yōu)勢非常明顯。
8.Nvidia的產(chǎn)業(yè)優(yōu)勢:完善的生態(tài)系統(tǒng)
與其它芯片公司相比,帶有CUDA的重點軟件生態(tài)系統(tǒng)是英偉達占領(lǐng)人工智能市場的關(guān)鍵促成因素。從2006年開始,英偉達發(fā)布了一個名叫CUDA的編程工具包,該工具包讓開發(fā)者可以輕松編程屏幕上的每一個像素。在CUDA發(fā)布之前,給GPU編程對程序員來說是一件極其痛苦的事,因為這涉及到編寫大量低層面的機器碼以實現(xiàn)渲染每一個不同像素的目標(biāo),而這樣的微型計算操作通常有上萬個。CUDA在經(jīng)過了英偉達的多年開發(fā)之后,成功將Java或C++這樣的高級語言開放給了GPU編程,從而讓GPU編程變得更加輕松簡單,研究者也可以更快更便宜地開發(fā)他們的深度學(xué)習(xí)模型。
技術(shù)世界正在邁向一個全新的軌道,我們對于人工智能的想象已經(jīng)不再局限于圖片識別與聲音處理,機器,將在更多領(lǐng)域完成新的探索。不同領(lǐng)域?qū)τ嬎愕男枨笫遣町惖?,這就要求深度學(xué)習(xí)的訓(xùn)練愈發(fā)專業(yè)化與區(qū)別化。芯片的發(fā)展趨勢必將是在每一個細(xì)分領(lǐng)域都可以更加符合我們的專業(yè)需求,但是考慮到硬件產(chǎn)品一旦成型便不可再更改這個特點,我們不禁開始想,是不是可以生產(chǎn)一種芯片,讓它硬件可編程。
也就是說,這一刻我們需要一個更適合圖像處理的硬件系統(tǒng),下一刻我們需要一個更適合科學(xué)計算的硬件系統(tǒng),但是我們又不希望焊兩塊板子,我們希望一塊板子便可以實現(xiàn)針對每一個應(yīng)用領(lǐng)域的不同需求。這塊板子便是半定制芯片F(xiàn)PGA,便是未來人工智能硬件市場的發(fā)展方向。
1.FPGA是什么?
場效可編程邏輯閘陣列FPGA運用硬件語言描述電路,根據(jù)所需要的邏輯功能對電路進行快速燒錄。一個出廠后的成品FPGA的邏輯塊和連接可以按照設(shè)計者的需要而改變,這就好像一個電路試驗板被放在了一個芯片里,所以FPGA可以完成所需要的邏輯功能。
FPGA和GPU內(nèi)都有大量的計算單元,因此它們的計算能力都很強。在進行神經(jīng)網(wǎng)絡(luò)運算的時候,兩者的速度會比CPU快很多。但是GPU由于架構(gòu)固定,硬件原生支持的指令也就固定了,而FPGA則是可編程的。其可編程性是關(guān)鍵,因為它讓軟件與終端應(yīng)用公司能夠提供與其競爭對手不同的解決方案,并且能夠靈活地針對自己所用的算法修改電路。
2.FPGA和GPU的性能差異
同樣是擅長并行計算的FPGA和GPU,誰能夠占領(lǐng)人工智能的高地,并不在于誰的應(yīng)用更廣泛,而是取決于誰的性能更好。在服務(wù)器端,有三個指標(biāo)可供對比:峰值性能、平均性能與功耗能效比。當(dāng)然,這三個指標(biāo)是相互影響的,不過還是可以分開說。
峰值性能:GPU遠(yuǎn)遠(yuǎn)高于FPGA
GPU上面成千上萬個核心同時跑在GHz的頻率上是非常壯觀的,最新的GPU峰值性能甚至可以達到10TFlops 以上。GPU的架構(gòu)經(jīng)過仔細(xì)設(shè)計,在電路實現(xiàn)上是基于標(biāo)準(zhǔn)單元庫而在關(guān)鍵路徑上可以用手工定制電路,甚至在必要的情形下可以讓半導(dǎo)體fab依據(jù)設(shè)計需求微調(diào)工藝制程,因此可以讓許多core同時跑在非常高的頻率上。
相對而言,F(xiàn)PGA首先設(shè)計資源受到很大的限制,例如GPU如果想多加幾個核心只要增加芯片面積就行,但FPGA一旦型號選定了邏輯資源上限就確定了。而且,F(xiàn)PGA里面的邏輯單元是基于SRAM查找表,其性能會比GPU里面的標(biāo)準(zhǔn)邏輯單元差很多。最后,F(xiàn)PGA的布線資源也受限制,因為有些線必須要繞很遠(yuǎn),不像GPU這樣走ASIC flow可以隨意布線,這也會限制性能。
平均性能:GPU遜于FPGA
FPGA可以根據(jù)特定的應(yīng)用去編程硬件,例如如果應(yīng)用里面的加法運算非常多就可以把大量的邏輯資源去實現(xiàn)加法器,而GPU一旦設(shè)計完就不能改動了,所以不能根據(jù)應(yīng)用去調(diào)整硬件資源。
目前機器學(xué)習(xí)大多使用SIMD架構(gòu),即只需一條指令可以平行處理大量數(shù)據(jù),因此用GPU很適合。但是有些應(yīng)用是MISD,即單一數(shù)據(jù)需要用許多條指令平行處理,這種情況下用FPGA做一個MISD的架構(gòu)就會比GPU有優(yōu)勢。
所以,對于平均性能,看的就是FPGA加速器架構(gòu)上的優(yōu)勢是否能彌補運行速度上的劣勢。如果FPGA上的架構(gòu)優(yōu)化可以帶來相比GPU架構(gòu)兩到三個數(shù)量級的優(yōu)勢,那么FPGA在平均性能上會好于GPU。
功耗能效比:
功耗方面,雖然GPU的功耗遠(yuǎn)大于FPGA的功耗,但是如果要比較功耗應(yīng)該比較在執(zhí)行效率相同時需要的功耗。如果FPGA的架構(gòu)優(yōu)化能做到很好以致于一塊FPGA的平均性能能夠接近一塊GPU,那么FPGA方案的總功耗遠(yuǎn)小于GPU,散熱問題可以大大減輕。反之,如果需要二十塊FPGA才能實現(xiàn)一塊GPU的平均性能,那么FPGA在功耗方面并沒有優(yōu)勢。
能效比的比較也是類似,能效指的是完成程序執(zhí)行消耗的能量,而能量消耗等于功耗乘以程序執(zhí)行的時間。雖然GPU的功耗遠(yuǎn)大于FPGA的功耗,但是如果FPGA執(zhí)行相同程序需要的時間比GPU長幾十倍,那FPGA在能效比上就沒有優(yōu)勢了;反之如果FPGA上實現(xiàn)的硬件架構(gòu)優(yōu)化得很適合特定的機器學(xué)習(xí)應(yīng)用,執(zhí)行算法所需的時間僅僅是GPU的幾倍或甚至于接近GPU,那么FPGA的能效比就會比GPU強。
3.FPGA市場前景
隨著科技的進展,制造業(yè)走向更高度的自動化與智能化,對工業(yè)控制技術(shù)等領(lǐng)域不斷產(chǎn)生新的需求,在未來的工業(yè)制造領(lǐng)域,F(xiàn)PGA將有更大的發(fā)展空間。目前來看,有兩個領(lǐng)域的應(yīng)用前景十分巨大:
工業(yè)互聯(lián)網(wǎng)領(lǐng)域
作為未來制造業(yè)發(fā)展的方向,工業(yè)大數(shù)據(jù)、云計算平臺、MES系統(tǒng)等都是支持工業(yè)智能化的重要平臺,它們需要完成大數(shù)據(jù)量的復(fù)雜處理,F(xiàn)PGA在其中可以發(fā)揮重要作用。
工業(yè)機器人設(shè)備領(lǐng)域
在多軸向運作的精密控制、實時同步的連接以及設(shè)備多功能整合等方面,兼具彈性和整合性的FPGA,更能展現(xiàn)設(shè)計優(yōu)勢。如汽車ADAS需要對實時高清圖像進行及時的分析識別與處理;在人工智能方面,深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)也需要進行大量并行運算。
4.FPGA現(xiàn)有市場
FPGA市場前景誘人,但是門檻之高在芯片行業(yè)里無出其右。全球有60多家公司先后斥資數(shù)十億美元,前赴后繼地嘗試登頂FPGA高地,其中不乏英特爾、IBM、德州儀器、摩托羅拉、飛利浦、東芝、三星這樣的行業(yè)巨鱷,但是最終登頂成功的只有位于美國硅谷的兩家公司:Xilinx與Altera。這兩家公司共占有近90%的市場份額,專利達到6000余項之多,如此之多的技術(shù)專利構(gòu)成的技術(shù)壁壘當(dāng)然高不可攀。
2015年6月,英特爾用史無前例的167億美元巨款收購了Altera,當(dāng)時業(yè)內(nèi)對于英特爾此舉的解讀主要集中在服務(wù)器市場、物聯(lián)網(wǎng)市場的布局上,英特爾自己對收購的解釋也沒有明確提到機器學(xué)習(xí)。但現(xiàn)在看來,或許這筆收購在人工智能領(lǐng)域同樣具有相當(dāng)大的潛力。
5.FPGA行業(yè)的開拓者:
英特爾能不能通過FPGA切入AI硬件市場?要講清楚這個問題,我們必須要把視角從人工智能身上拉遠(yuǎn),看看英特爾的整體戰(zhàn)略布局。最近幾年,英特爾的核心盈利業(yè)務(wù)CPU同時遭到了三個因素的狙擊:PC市場增長放緩、進軍移動市場的嘗試失敗以及摩爾定律逐漸逼近極限。單純的賣CPU固然也能賺到錢,但只有研發(fā)更高端的芯片,形成自己領(lǐng)導(dǎo)者的形象,才能賺更多的錢,支撐公司的發(fā)展。
上述三個因素的同時出現(xiàn),已經(jīng)讓英特爾發(fā)現(xiàn),如果自己仍然只是安心的守著自己的CPU業(yè)務(wù),很快就會面臨巨大的危機,事實上在過去的一年里,利潤下降、裁員的新聞也一直圍繞在英特爾的身邊,揮之不去。
因而英特爾十分渴望不要錯過下一個深度學(xué)習(xí)的潮流,不過它缺乏自己最先進的人工智能研究,所以在過去的兩年中瘋狂地收購。2015年,英特爾用史無前例的167億美元拍下了FPGA制造商Altera,2016年又相繼兼并了人工智能芯片初創(chuàng)公司Nervana與Movidius。目前的英特爾正在試圖將他們整合在一起。
6.Intel的產(chǎn)品布局
英特爾斥巨資收購Altera不是來為FPGA技術(shù)發(fā)展做貢獻的,相反,它要讓FPGA技術(shù)為英特爾的發(fā)展做貢獻。表現(xiàn)在技術(shù)路線圖上,那就是從現(xiàn)在分立的CPU芯片+分立的FPGA加速芯片,過渡到同一封裝內(nèi)的CPU晶片+FPGA晶片,到最終的集成CPU+FPGA芯片。預(yù)計這幾種產(chǎn)品形式將會長期共存,因為分立器件雖然性能稍差,但靈活性更高。
如果簡單的將英特爾對于人工智能的產(chǎn)品布局,可以分以下幾層:
? Xeon Phi+ Nervana:用于云端最頂層的高性能計算。
? Xeon+FPGA:用于云端中間層/前端設(shè)備的低功耗性能計算。
英特爾下一代的FPGA和SoC FPGA將支持Intel架構(gòu)集成,大致如下:代號為Harrisville的產(chǎn)品采用Intel 22nm工藝技術(shù),用于工業(yè)IoT、汽車和小區(qū)射頻等領(lǐng)域;代號為Falcon Messa的中端產(chǎn)品采用Intel 10nm工藝技術(shù),用于4G/5G無線通信、UHD/8K廣播視頻、工業(yè)IoT和汽車等領(lǐng)域;代號為Falcon Mesa的高端產(chǎn)品采用Intel 10nm工藝技術(shù),用于云和加速、太比特系統(tǒng)和高速信號處理等領(lǐng)域。
? Core(GT):用于消費級前端設(shè)備的性能計算、圖形加速。
? Euclid:提供給開發(fā)者/創(chuàng)客的開發(fā)板,集成Atom低功耗處理器、RealSense攝像頭模塊、接口,可用做無人機、小型機器人的核心開發(fā)部件。
? Curie:提供給開發(fā)者/創(chuàng)客的模塊,其內(nèi)置Quark SE系統(tǒng)芯片、藍(lán)牙低功耗無線電、以及加速計、陀螺儀等傳感器,可用做低功耗可穿戴設(shè)備的核心部件。
從產(chǎn)品線來看,包含了CPU與FPGA的異構(gòu)計算處理器將是Intel盈利的重點。預(yù)計到2020年Intel將有1/3的云數(shù)據(jù)中心節(jié)點采用FPGA技術(shù),CPU+FPGA擁有更高的單位功耗性能、更低時延和更快加速性能,在大數(shù)據(jù)和云計算領(lǐng)域有望沖擊CPU+GPU的主導(dǎo)地位,而Intel的至強處理器Xeon +FPGA也將在2017年下半年量產(chǎn)。
7.Intel的痛點:生態(tài)不完善
FPGA對GPU的潛力在于其計算速度與GPU不相上下,卻在成本和功耗上對GPU有著顯著優(yōu)勢。當(dāng)然,劣勢也有,但是FPGA的潛力是非常明顯的。作為一個想要推向市場的商品來說,F(xiàn)PGA最需要克服,也是最容易克服的問題是普及程度。
大部分PC都配有或高端或低端的獨立GPU,對于個人進行的中小規(guī)模神經(jīng)網(wǎng)絡(luò)開發(fā)和訓(xùn)練來說,其實它們的性能已經(jīng)基本足夠。而FPGA卻不是在電腦里能找得到的東西,而多見于各種冰箱、電視等電器設(shè)備及實驗室中,因此想要搞到一塊能用來開發(fā)深度學(xué)習(xí)的FPGA其實還挺麻煩的。不僅如此,F(xiàn)PGA的不普及還體現(xiàn)在以下三個方面:
OpenCL編程平臺應(yīng)用不廣泛
即使GPU有著種種不足,它也不是能夠輕易被取代的。從深度學(xué)習(xí)應(yīng)用的開發(fā)工具角度,具備CUDA支持的GPU為用戶學(xué)習(xí)Caffe、Theano等研究工具提供了很好的入門平臺。自2006年推出CUDA以來,已有超過5億的筆記本電腦、工作站、計算集群和超級計算機安裝了支持CUDA的GPU。
如果FPGA想要攻占深度學(xué)習(xí)的市場,那么產(chǎn)業(yè)鏈下游的編程平臺必不可少。目前較為流行的異構(gòu)硬件編程的替代性工具是OpenCL。不同于CUDA單一供應(yīng)商的做法,OpenCL對開發(fā)者開源、免費,這是一大重要競爭力。但目前來看,其獲得的支持相較CUDA還略遜一籌。
實現(xiàn)硬件編程困難
除了軟件編程的不普及之外,吸引偏好上層編程語言的研究人員和應(yīng)用科學(xué)家來開發(fā)FPGA尤為艱難。雖然能流利使用一種軟件語言常常意味著可以輕松地學(xué)習(xí)另一種軟件語言,但對于硬件語言翻譯技能來說卻非如此。針對FPGA最常用的語言是Verilog和VHDL,兩者均為硬件描述語言(HDL)。這些語言和傳統(tǒng)的軟件語言之間的主要區(qū)別是,HDL只是單純描述硬件,而例如C語言等軟件語言則描述順序指令,并無需了解硬件層面的執(zhí)行細(xì)節(jié)。
有效地描述硬件需要對數(shù)字化設(shè)計和電路的專業(yè)知識,盡管一些下層的實現(xiàn)決定可以留給自動合成工具去實現(xiàn),但往往無法達到高效的設(shè)計。因此,研究人員和應(yīng)用科學(xué)家傾向于選擇軟件設(shè)計,因其已經(jīng)非常成熟,擁有大量抽象和便利的分類來提高程序員的效率。
部署環(huán)節(jié)需要定制復(fù)雜套件
FPGA需要有一個完善的復(fù)雜生態(tài)系統(tǒng)才能保證其使用,不只體現(xiàn)在軟件與硬件編程平臺上,更體現(xiàn)在部署環(huán)節(jié)中。FPGA在安裝過程中需要針對不同的IP核定制一系列復(fù)雜的工具套件,相比之下,GPU通過PCI-e接口可以直接部署在服務(wù)器中,方便而快速。因此,嵌入式FPGA概念雖好,想要發(fā)展起來仍將面臨十分嚴(yán)峻的挑戰(zhàn)。
8.Intel的優(yōu)勢
目前在深度學(xué)習(xí)市場FPGA尚未成氣候,谷歌這樣的超級大廠又喜歡自己研發(fā)專用芯片,因此可以說對于深度學(xué)習(xí)芯片來說,個人開發(fā)者及中小型企業(yè)內(nèi)還有相當(dāng)大的市場。這個市場目前幾乎只有英偉達一家獨大,英特爾想要強勢進入未必沒有機會。而相比于英偉達來說,英特爾有兩個明顯的優(yōu)勢:
更熟悉CPU
盡管目前的人工智能市場幾乎只有英偉達一家獨大,但英偉達的芯片也不是能夠自己完成深度學(xué)習(xí)訓(xùn)練的?;蛘哒f,英偉達的GPU芯片還不足以取代那些英特爾的CPU,大多數(shù)環(huán)境下它們暫時只能加速這些處理器。所以,GPGPU暫時只是概念上的,GPU還不足以在大多數(shù)復(fù)雜運算環(huán)境下代替CPU,而隨著人工智能技術(shù)的進步,對硬件的邏輯運算能力只會更高不會降低,所以搭載強大CPU核心的多核異構(gòu)處理器才是更長期的發(fā)展方向。而論對CPU的熟悉,沒有一家芯片廠商能過勝過英特爾,英特爾是最有可能讓搭載了FPGA與CPU的異構(gòu)處理器真正實現(xiàn)多核心相輔相成的芯片公司。
曾涉足云計算
算法的訓(xùn)練應(yīng)該是貫穿整個應(yīng)用過程的,這樣可以隨時為消費者提供最好體驗的服務(wù)。但是如果要將所有算法都集中于本地訓(xùn)練,不僅會面臨計算瓶頸的問題,也容易面臨從單個用戶處收集到的數(shù)據(jù)量太少的尷尬。我們暫時不考慮很久以后可能出現(xiàn)的基于小樣本的無監(jiān)督學(xué)習(xí)的AI,畢竟那其實已經(jīng)跟人差不多了,在目前AI的發(fā)展?fàn)顩r下,將所有數(shù)據(jù)集中于云端進行計算顯然是更理性且有效的做法。這就對通信提出了極高的要求,而英特爾恰巧在這個領(lǐng)域有著相當(dāng)多的積累。雖然英特爾的通信部門連年虧損,但在現(xiàn)在的形勢下,它卻意外地有了新的價值與潛力。