在深度學(xué)習(xí)的領(lǐng)域里,,最重要的是數(shù)據(jù)和運算,。誰的數(shù)據(jù)更多,誰的運算更快,誰就會占據(jù)優(yōu)勢,。因此,,在處理器的選擇上,,可以用于通用基礎(chǔ)計算且運算速率更快的GPU迅速成為人工智能計算的主流芯片,。
2017年度GTC技術(shù)大會上,英偉達推出了他們公司最新研發(fā)的GPU——Volta,。該芯片的核心是一款稱為“Tensor Core(張量處理器)”的人工智能加速器,,這是開發(fā)下一階段AI應(yīng)用的硬件保障。然而,我們需要升級軟件,,更新AI算法,,其原因有兩點:一是現(xiàn)有的AI算法不能充分利用這個加速器的性能,二是為了獲得AI開發(fā)中另外的突破,。
如果我們能充分利用這種新代芯片,,不僅將大大推進AI應(yīng)用的進展,甚至可能會創(chuàng)建新的AI應(yīng)用,。比如說,,AI算法可以利用該種芯片的高速運行速度,來更好地理解和綜合分析人類語言,。語音識別系統(tǒng)將極大地完善,,音頻的轉(zhuǎn)錄將更加準確,計算機將會有能表現(xiàn)出語言風(fēng)格和情感的語音系統(tǒng),。
有許多公司已經(jīng)認識到了AI所具有的巨大潛力,,還研發(fā)出了強大的芯片,以期獲得AI的廣泛應(yīng)用,。例如,,英偉達開發(fā)的 GPU以及谷歌研發(fā)出的TPU。
這些芯片有一個共同點,,就是它們都根據(jù)程序局部性原理來不斷優(yōu)化算法。為了獲得局部性優(yōu)勢,,需要AI芯片和AI算法的共同支持,。目前,新興的AI芯片已經(jīng)可以為此提供基礎(chǔ)框架(例如Volta的“Tensor Core”),,但是更多的AI算法還沒有獲得與這種芯片的相應(yīng)升級,。通俗地說,當下通行的算法不能充分利用到該芯片的高速運行速度,。
AI芯片的第一階段是并行驅(qū)動,,即同時執(zhí)行多種任務(wù)。
在海量數(shù)據(jù)集上訓(xùn)練大型神經(jīng)網(wǎng)絡(luò)可以充分展示其易被現(xiàn)有并行芯片利用的顯著并行性,。然而,,目前來看,內(nèi)存提取性能的發(fā)展遠遠不能滿足人們的需求,。最終這些新芯片會面臨“內(nèi)存墻”的困境,,即內(nèi)存性能會嚴重限制芯片性能的發(fā)揮。
為了進入到下一階段,,AI芯片仍要在局部性上下功夫,。局部性可以體現(xiàn)為重復(fù)引用同一個變量。打個比方,,您在雜貨店里購物,,您要按照購物清單買東西,,清單一共列有10件商品,您如果想加快尋獲商品的速度的話,,可以請10個朋友,,讓他們分別找到1件清單上商品。這種方法雖然是并行驅(qū)動的,,但效率也非常低下,,因為清單上不同的物品可能擺在一起,這就會產(chǎn)生讓不同的朋友來找尋相鄰物品的情況,,從而降低了效率,。一個更好的辦法是讓每個朋友去一個不同的過道,并只找那個過道的物品,。這就是局部性解決目前“內(nèi)存墻”困境的方式,。
新代AI芯片需要具有顯著局部性特點的算法相適應(yīng)。目前,,并不是所有的AI算法都能勝任這一任務(wù),,因為它們不具備顯著的局部性。計算機視覺算法由于其大量使用卷積神經(jīng)網(wǎng)絡(luò)而在局部性上顯有優(yōu)勢,,但語言和語言應(yīng)用中所使用的復(fù)現(xiàn)神經(jīng)網(wǎng)絡(luò)則需要稍加變動(尤其要對其推理能力進行優(yōu)化),,以改善其局部性。
在百度的硅谷AI實驗室,,研究人員嘗試了幾種完善算法的方式,,來挖掘局部性的潛力。早期的實驗顯示出了我們非??赡芸朔@一困難的跡象,。例如,研究人員發(fā)展了RNN網(wǎng)絡(luò),,讓其在低批量大小下達到了30倍速的提升,。這開了一個好頭,但未來AI芯片的性能還要有更大的提升,。另一個研究方向是整合了來自卷積和復(fù)發(fā)神經(jīng)網(wǎng)絡(luò)的想法得來的,,但這個方向的最優(yōu)解還在后頭。
深度學(xué)習(xí)的AI算法計算有限,,迄今為止的突破都是得益于運算速度更快的計算機的出現(xiàn),。然而,當下的算法已經(jīng)取得了突破性進展,,而且已經(jīng)在語音識別,,機器翻譯和人類語音綜合方面得到了成果。目前,進行下一階段AI算法研發(fā)的硬件已經(jīng)到位,。早期實驗中的種種跡象表明——我們正處于下一代算法開發(fā)的前端,。預(yù)計下一代算法能充分利用目前AI芯片的性能,并且可以引領(lǐng)我們得到其他方面的突破,。