陸芃臣
摘 要:隨著互聯(lián)網(wǎng)技術(shù)、物聯(lián)網(wǎng)技術(shù)、人工智能等技術(shù)的不斷發(fā)展,作為各種算法、程序、軟件的承載者——芯片的重要性也愈發(fā)凸顯。各大互聯(lián)網(wǎng)公司和科技公司也相繼推出了人工智能芯片產(chǎn)品。隨著人工智能技術(shù)的“熱潮”逐漸退去,人們也隨之質(zhì)疑所謂的人工智能芯片是否真的“智能”。本文介紹了人工智能技術(shù)原理和人工智能芯片分類,并對未來的人工智能芯片作出展望。
關(guān)鍵詞:人工智能;芯片;功能;分類
中圖分類號:TP33 文獻標識碼:A 文章編號:1671-2064(2019)22-0049-02
0 引言
隨著人工智能技術(shù)和芯片技術(shù)的不斷發(fā)展,人工智能芯片已經(jīng)從最初的概念落地,成為了新一代“網(wǎng)紅科技產(chǎn)品”,而隨著多家互聯(lián)網(wǎng)巨頭相繼入局,人工智能芯片熱度再次上升:預(yù)計到2020年全球市場規(guī)模將超過100億美元,在這其中中國市場就獨占了將近1/4。人工智能芯片行業(yè)增長非常迅猛,且發(fā)展空間巨大,因此目前全球的各大芯片公司都在積極進行對AI芯片的新布局。
為了搶奪市場,不同公司針對不同場景推出了各種各樣的產(chǎn)品[1]:英偉達公司的GPU不僅應(yīng)用于各大圖像處理場景,更被眾多實驗室采購以作為深度學(xué)習的計算基礎(chǔ);谷歌為Tensorflow開發(fā)出專用的TPU來為用戶提供計算服務(wù),這種處理器的處理能力達到180Tflop;國內(nèi)以寒武紀為首的諸多廠商也生產(chǎn)出了自己的AI芯片。如果說在傳統(tǒng)的CPU等高端芯片領(lǐng)域技術(shù)壁壘高,后起國家難以進入,那么AI芯片則是一片藍海,等待著科技工作者的進入。
1 人工智能芯片兩大功能
顧名思義,人工智能芯片即為搭載人工智能的芯片,在不同的時代人工智能有著不同的實現(xiàn)方式和數(shù)學(xué)算法。而在今天,當我們談起人工智能芯片時,我們更多的是在談?wù)摯钶d有人工神經(jīng)網(wǎng)絡(luò)的芯片,這是因為在當前的科技階段,人工智能的發(fā)展主要依托于統(tǒng)計學(xué)原理與日益強大的計算機能力,而一個具體的人工神經(jīng)網(wǎng)絡(luò)也往往是單純?yōu)槟骋粋€具體的問題而設(shè)計與訓(xùn)練的,比如識別人臉、特征提取等,顯然,這與人們所想象的“機器人統(tǒng)治世界”的情景天差地別。
神經(jīng)網(wǎng)絡(luò)從構(gòu)造到應(yīng)用無非是要完成兩個任務(wù):訓(xùn)練與推理。神經(jīng)網(wǎng)絡(luò)并不是憑空得來的,一個表現(xiàn)優(yōu)秀的神經(jīng)網(wǎng)絡(luò)需要大量的樣本數(shù)據(jù)來完成其自身的訓(xùn)練,在這個過程中,神經(jīng)網(wǎng)絡(luò)在傳統(tǒng)的線性傳遞函數(shù)中加入了“非線性函數(shù)”,即激活函數(shù),來完成一種空間映射。在這種空間映射中,神經(jīng)網(wǎng)絡(luò)將數(shù)據(jù)的無用信息剔除,有用信息保留并進行非線性變換,以達到精確分類的目的。因此,神經(jīng)網(wǎng)絡(luò)的“產(chǎn)出過程”往往是:發(fā)現(xiàn)問題——問題建模——獲取樣本數(shù)據(jù)——訓(xùn)練網(wǎng)絡(luò)——網(wǎng)絡(luò)驗證——網(wǎng)絡(luò)確定——網(wǎng)絡(luò)優(yōu)化。在確定了網(wǎng)絡(luò)之后,我們就可以將這種網(wǎng)絡(luò)用語具體環(huán)境中以進行推理。而在當今的工業(yè)體系中,不同的群體所面臨的網(wǎng)絡(luò)構(gòu)建環(huán)節(jié)往往是不同的。對于那些希望加速訓(xùn)練過程,提高產(chǎn)品迭代頻率的研發(fā)與科學(xué)人員來說,他們需要的是能夠加速計算、提高帶寬的芯片,并且這種芯片的使用環(huán)境也往往不會對芯片功耗提出苛刻的要求;對于那些希望將芯片應(yīng)用于具體場景中以加速實際情況判斷的研發(fā)人員來說,他們需求雖然依然是加速計算,但他們的需求卻往往是“定向”的,這是因為在網(wǎng)絡(luò)訓(xùn)練成功后,其數(shù)據(jù)的流向與網(wǎng)絡(luò)的機構(gòu)就已經(jīng)確定了,如果能夠針對性地搭建一款芯片來完成相應(yīng)計算,就可以大大加速解決這個特定問題的計算過程。
舉個例子,對于大多數(shù)手機用戶而言,他們并沒有“構(gòu)造神經(jīng)網(wǎng)絡(luò)”的需求,反而是更加需要一個可靠、快速的神經(jīng)網(wǎng)絡(luò)供其在具體應(yīng)用場景中進行智能判斷。例如,在前些日子風靡一時的谷歌“猜話小歌”微信小程序中,手機實時地將用戶的繪畫涂鴉上傳至云端,并交由谷歌的人工智能系統(tǒng)進行判斷,并且判斷結(jié)果也會進一步影響人工智能的訓(xùn)練(即訓(xùn)練與推理是實時進行的);而很多女孩子所使用的“智能美顏”實際上也是軟件將訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)下載到數(shù)據(jù)庫中,并根據(jù)用戶的外形數(shù)據(jù)(例如臉型、眼睛的大小)進行智能判斷,挑選出最適合用戶的美顏方式進行美顏[2]。
由此我們不難總結(jié),人工智能芯片也對應(yīng)著兩種功能[3]:訓(xùn)練與推理,其本質(zhì)都在于加速計算,不同點在于在訓(xùn)練任務(wù)中每次迭代之后芯片的計算任務(wù)都有可能發(fā)生變化,這是因為擬合函數(shù)的過程本身就是不斷變化的;在推理任務(wù)中每次迭代芯片所執(zhí)行的任務(wù)都是相通的。在速度上雖然我們都希望盡可能地加速,但具體要求又不盡相同。例如,對于某些需要傳輸大量數(shù)據(jù)或是不能允許延時的應(yīng)用如無人駕駛汽車的推斷,就必須在邊緣節(jié)點上自行執(zhí)行推斷(相應(yīng)的,有些任務(wù)則可以先上傳到云端,再由服務(wù)器進行運算,這樣的任務(wù)往往對實時性要求不高)。在可以預(yù)見的未來,消費級的終端設(shè)備也需要滿足自行推斷計算的需求,這是當前的處理芯片遠遠達不到的。所以能夠賦予設(shè)備足夠計算能力來應(yīng)對越來越多場景的AI芯片成為現(xiàn)在市場所最需要的。
在當前的歷史階段,智能手機毫無疑問是最為廣泛的邊緣計算終端設(shè)備,隨著移動辦公、娛樂的發(fā)展,用戶對手機的計算能力的要求也原來越高,三星、蘋果、高通等一眾公司紛紛開始了自己的AI芯片研發(fā)之路。而傳統(tǒng)的IP廠商也都在為各類邊緣計算終端設(shè)備開發(fā)專用的IP產(chǎn)品。由此我們可見,手機的人工智能功能更多的是聚焦于“推理”而非“訓(xùn)練”,因此,手機制造廠商需要的是能夠迅速進行人工智能推理的芯片系統(tǒng),那么同樣是芯片系統(tǒng),為什么需要單獨制造所謂的人工智能芯片呢?
2 人工智能芯片必要性與分類
在傳統(tǒng)的馮諾依曼結(jié)構(gòu)中,計算機將大量的資源留給了邏輯運算系統(tǒng),即傳統(tǒng)CPU的邏輯計算能力和串行執(zhí)行能力非常出色,但在面對大規(guī)模數(shù)據(jù)運算時,盡管有多層流水線這種優(yōu)化結(jié)構(gòu),但指令的數(shù)量仍然限制了深度學(xué)習的速度。傳統(tǒng)CPU只有ALU模塊是用來完成指令數(shù)據(jù)計算,其他各個模塊都是為了保證指令能夠一條一條的有序進行而存在的[4]。這種通用型結(jié)構(gòu)對于傳統(tǒng)的編程計算機模式非常適合,但對于需要大量計算的深度學(xué)習來說就不夠了。
為了解決這個問題,工程師們一直在探求新的硬件架構(gòu),以求在根本上改善集成電路搭載神經(jīng)網(wǎng)絡(luò)的能力,從根本上來講,這些新的硬件架構(gòu)大體分為三類,分別是圖形處理器(GPU),現(xiàn)場可編輯邏輯門陣列(FPGA),面向具體應(yīng)用場景的片上系統(tǒng)(ASIC)。
GPU因其海量數(shù)據(jù)并行運算的能力被深度學(xué)習首先引入。經(jīng)實驗證明,12顆NVIDIAD的GPU可以提供相當于2000顆CPU的深度學(xué)習能力。但是同樣,GPU也有局限性,它在應(yīng)用過程中無法充分使用計算優(yōu)勢,而且無法編程,并且對深度學(xué)習的運行能效也遠不如FPGA。然而,F(xiàn)PGA作為可編輯門陣列,計算能力依然有限且制造價格有限。
ASIC:ASIC是面向具體的應(yīng)用場景所設(shè)計和制造的“專用”芯片,簡單來說,通用的加速芯片GPU雖然能顯著提高計算速度,但遠遠不如專門為某種計算設(shè)計的專用芯片。在目前為人工智能專門定制芯片的潮流已經(jīng)開始初步顯露了,以英偉達公司和寒武紀公司為代表,許多公司已經(jīng)開始了這方面的研究探索。
FPGA:FPGA是在研發(fā)階段常用的人工智能芯片,它就像是樂高積木一樣,根據(jù)不同的引腳搭配,可以將芯片配制成不同的功能,因此可以模擬各種情況下的芯片。但其缺點在于規(guī)模過大,因此一般不應(yīng)用于實際產(chǎn)品。
我們不難發(fā)現(xiàn),當前手機上所搭載的人工智能芯片其本質(zhì)上是ASIC的一種,是各大廠商為了應(yīng)對大規(guī)模數(shù)據(jù)推理的問題所搭載的一種“神經(jīng)網(wǎng)絡(luò)加速器”[5]。當然,此處的“大規(guī)模”是相對而言,比起神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程,推理所需要的計算資源要小得多,但仍然遠大于手機的日常使用所需的計算量。因此,搭載人工智能芯片除了能夠節(jié)省CPU資源,更重要的是能夠大大加快計算速度(手機上所搭載的ASIC往往可以搭載各種各樣的神經(jīng)網(wǎng)絡(luò),從這個角度上講,更應(yīng)該叫面向多個場景的集成電路)。
當然,手機所要面臨的大規(guī)模數(shù)據(jù)計算問題未必唯此一條出路,實際上,無人駕駛等神經(jīng)網(wǎng)絡(luò)的應(yīng)用場景也給了我們很多啟示:我們完全可以將數(shù)據(jù)上傳至云端,并交由大規(guī)模GPU或是ASIC進行計算并反饋結(jié)果,而具體哪種結(jié)果更能令人滿意或未可知。
3 總結(jié)與展望
目前的AI運算都各具優(yōu)劣,必須在合適的場景才能發(fā)揮作用,所以能夠適合各種場景的芯片成為了現(xiàn)今市場所最渴求的產(chǎn)品。從這個角度上講,AI芯片和傳統(tǒng)芯片在很長的一段時間內(nèi)都需要“和平共處”,無法相互替代,因此當前的人工智能芯片還僅僅只是起步階段,距離真正進入大眾生活還要走很長的路。
當然,對于現(xiàn)在人工智能芯片所處的比較滯后的狀態(tài),我們大可不必悲觀,雖然現(xiàn)在有很多人對于人工智能芯片持懷疑甚至反對態(tài)度,但這的確是人類通向弱人工智能并進一步走向強人工智能所必須經(jīng)歷的階段,在技術(shù)發(fā)展的每一個時期都不可能完美無缺、普適眾生。相信在不遠的將來,人工智能的發(fā)展將邁上新的臺階。
參考文獻
[1] 尹首一,郭珩,魏少軍.人工智能芯片發(fā)展的現(xiàn)狀及趨勢[J].科技導(dǎo)報,2018,36(17):45-51.
[2] 孫學(xué)全,馮英浚.多層感知器的靈敏度分析[J].計算機學(xué)報,2001,24(9):951-958.
[3] 宋光慧.基于遷移學(xué)習與深度卷積特征的圖像標注方法研究[D].浙江大學(xué),2016.
[4] 岳珂娟.馮·諾依曼體系結(jié)構(gòu)在計算機組成原理教學(xué)中的重要性[J].計算機教育,2012(24):99-101.
[5] 司春杰,章磊,張詩歡.寒武紀:自主“芯”引領(lǐng)人工智能時代[J].浦東開發(fā),2018,317(06):22-24.