在深度學(xué)習(xí)的領(lǐng)域里,最重要的是數(shù)據(jù)和運算。誰的數(shù)據(jù)更多,誰的運算更快,誰就會占據(jù)優(yōu)勢。因此,在處理器的選擇上,可以用于通用基礎(chǔ)計算且運算速率更快的GPU迅速成為人工智能計算的主流芯片。
2017年度GTC技術(shù)大會上,英偉達推出了他們公司最新研發(fā)的GPU——Volta。該芯片的核心是一款稱為“TensorCore(張量處理器)”的人工智能加速器,這是開發(fā)下一階段AI應(yīng)用的硬件保障。然而,我們需要升級軟件,更新AI算法,其原因有兩點:一是現(xiàn)有的AI算法不能充分利用這個加速器的性能,二是為了獲得AI開發(fā)中另外的突破。
如果我們能充分利用這種新代芯片,不僅將大大推進AI應(yīng)用的進展,甚至可能會創(chuàng)建新的AI應(yīng)用。比如說,AI算法可以利用該種芯片的高速運行速度,來更好地理解和綜合分析人類語言。語音識別系統(tǒng)將極大地完善,音頻的轉(zhuǎn)錄將更加準(zhǔn)確,計算機將會有能表現(xiàn)出語言風(fēng)格和情感的語音系統(tǒng)。
有許多公司已經(jīng)認(rèn)識到了AI所具有的巨大潛力,還研發(fā)出了強大的芯片,以期獲得AI的廣泛應(yīng)用。例如,英偉達開發(fā)的GPU以及谷歌研發(fā)出的TPU。
這些芯片有一個共同點,就是它們都根據(jù)程序局部性原理來不斷優(yōu)化算法。為了獲得局部性優(yōu)勢,需要AI芯片和AI算法的共同支持。目前,新興的AI芯片已經(jīng)可以為此提供基礎(chǔ)框架(例如Volta的“TensorCore”),但是更多的AI算法還沒有獲得與這種芯片的相應(yīng)升級。通俗地說,當(dāng)下通行的算法不能充分利用到該芯片的高速運行速度。
AI芯片的第一階段是并行驅(qū)動,即同時執(zhí)行多種任務(wù)。
在海量數(shù)據(jù)集上訓(xùn)練大型神經(jīng)網(wǎng)絡(luò)可以充分展示其易被現(xiàn)有并行芯片利用的顯著并行性。然而,目前來看,內(nèi)存提取性能的發(fā)展遠遠不能滿足人們的需求。最終這些新芯片會面臨“內(nèi)存墻”的困境,即內(nèi)存性能會嚴(yán)重限制芯片性能的發(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)。然而,當(dāng)下的算法已經(jīng)取得了突破性進展,而且已經(jīng)在語音識別,機器翻譯和人類語音綜合方面得到了成果。目前,進行下一階段AI算法研發(fā)的硬件已經(jīng)到位。早期實驗中的種種跡象表明——我們正處于下一代算法開發(fā)的前端。預(yù)計下一代算法能充分利用目前AI芯片的性能,并且可以引領(lǐng)我們得到其他方面的突破。
更多資訊請關(guān)注PC BASED頻道