由亞馬遜(Amazon)、Google和Facebook等網路巨擘所收集的大量資料集,正推動處理這些巨量資料的新晶片復興。預計在六月底的年度電腦架構大會上將亮相其中兩項最新成果。

史丹佛大學(Stanford University)的研究人員將介紹一種可重配置處理器——Plasticine,它可支援比FPGA更高近100倍的每瓦特性能,同時也更易於編程。此外,Nvidia的兩名資深設計人員定義了一款推理處理器,可提供較現有元件更高2倍性能與能源效率。

這些晶片象徵著這項任務的冰山一角。過去一年來,英特爾(Intel)收購了三家機器學習創業公司。而其競爭對手——三星(Samsung)則聯手Dell EMC投資英國公司Graphcore,這是該領域的六家獨立新創公司之一。

Nvidia正致力於推動其GPU作為神經網路訓練引擎的銷售。同時,該公司也正調整其晶片架構,使其得以更有效地處理這些任務。

Google則聲稱其龐大的x86 CPU叢集以及Nvidia的GPU均不足以勝任這項處理任務。因此,Google推出了自家的兩款加速器版本——Tensor處理器(TPU)。

Graphcore執行長Nigel Toon說:「如今正是『運算2.0』(Compute 2.0)的時代,它象徵著一個全新的運算世界。Google最終將使用以TPU為基礎的機架結構,幾乎不使用任何CPU,因為它有98%的營收都來自搜尋——這正是機器學習的理想應用。」

最終,機器學習晶片將出現在廣泛的嵌入式系統中。以汽車每年賣出1,800萬輛和伺服器約1,000萬套的年銷售量來看,Toon說:「自動駕駛車應用可望為這項技術帶來一個比雲端更大的市場,而且是一個以往從未存在過的市場。」

如今業界共同的願景是開發一款人工智慧(AI)處理器,它可為神經網路處理訓練與推理等任務,甚至可能出現一些新的自我學習技術。這種AI處理器還必須能透過大規模的平行化方式提供強大的性能,同時具有高功效且易於編程。

即使是這項開發任務的基本數學也引發熱烈討論。Toon認為,16位元浮點乘法與32位元累加運算的組合,能夠帶來最佳化精確度以及最小誤差。

這正是Nvidia Volta架構導入的Tensor核心所使用的途徑,同時也是Graphcore將在今年10月出樣給早期合作夥伴的高階晶片。該新創公司正專注於開發一款採用新記憶體與互連的大型晶片,該晶片並可外接至各種單元與叢集。

後多核心時代的靈活性

由Kunle Olukotun帶領的史丹佛大學研究團隊也有類似的目標,不過,他們採取了一條與Plasticine不一樣的道路。

Olukotun說:「多核心時代即將結束......我們正處於一個現代應用程式(app)改變運算模式的時代。」Olukotun曾經協助一家新創公司率先打造出多核心設計,該技術最終成為Oracle基於Sparc處理器的一部份。

「對於機器學習的統計模型,真正需要的運算方式與古典的確定性運算途徑截然不同,所以這將帶來一個真正的機會。」

如同英國布里斯托的競爭對手Graphcore一樣,史丹佛大學研究團隊摒棄了共享一致的快取等傳統思維。史丹佛大學資料科學計劃執行總監Stephen Eglash認為,Plasticine「最令人興奮之處在於硬體可在運行時重新配置,為特定計算方式實現最佳化。」

Olukotun說:「我們的目標在於讓擁有專業知識的任何人都能建立可生產的機器學習系統,而不一定得由機器學習或硬體領域的專家來做。」

為了實現這一目標,史丹佛大學定義了一種新的語言Spatial,可將演算法的各部份映射至平行處理器的各部份。Olukotun說:「我們擁有完整的編譯器流程,從高層級的Tensor Flow架構到硬體呈現……事實上,它具有比FPGA更高10倍每瓦特性能,也更易於編程100倍。」

Spatial類似於Nvidia的Cuda GPU編程語言,但應該更易於使用。它能將諸如分散/收集或MapReduce等功能映射至硬體中的外顯記憶體階層架構,經由DRAM和SRAM實現串流資料集。

因此,Pasticine處理器「是一項軟體至上的計劃,」Olukotun說。

Eglash認為在物聯網的邊緣節點正需要這樣的技術。「我們所產生的資料將會比傳送至雲端的更龐大,所以必須採用一些分佈式的本地運算。」

短期來看,機器學習將為智慧型手機帶來「超級個性化」,針對使用者的喜好自動量身打造。別再為密碼和指紋傷腦筋了。Eglash說:「你的手機可能在幾秒內就知道你是不是本尊。」

在工業物聯網(IIoT),推理任務已經被分配至閘道器了。GE Digital雲端工程主管Darren Haas說,「我們所打造的一切都可以被劃分成較小的裝置,甚至是Raspberry Pi ...我們在雲端建立了大規模的模型,並使其得以在邊緣執行於輕量級硬體上。」

史丹佛大學的Plasticine架構

史丹佛大學的Plasticine是一種全新的架構,可能是Graphcore等新創公司將會採用的技術。它充份利用了平行模式和高層級抽象,以擷取有關資料位置、記憶體存取模式和控制流程等細節,從而在「一系列的密集與稀疏應用上進行操作」。

在該晶片核心採用16×8的交錯式圖形運算單元(PCU)陣列與圖形記憶體單元(PMU),透過3個互連通道利用3種控制協議進行連接。這款尺寸為113mm2的晶片採用Spatial將應用映射至陣列上;相較於採用類似28nm製程打造的FPGA,該晶片可提供更高95倍的性能以及高達77倍的每瓦性能。

Plasticine在1GHz時脈頻率下的功耗高達49W,支援12.3TFlops的峰值浮點運算性能,以及16 MB的晶片容量。

PCU是執行巢狀模式之可重配置SIMD功能單元的多級管線。PMU使用庫存的暫存器記憶體和專用尋址邏輯與位址解碼器。

20170531_bigdata_NT01P1 Plasticine採用16×8的PCU與PMU陣列,以及位址產生器和交換盒

這些主單元和其他周邊元件透過字級純量、多字元向量和位元級控制互連進行連接,且全部都採用相同的拓撲結構。各個連接都採用分佈式的分層控制機制,以盡可能減少使用同步單元,從而實現序列、流水線或串流的執行。

該途徑簡化了編譯器映射並可提高執行效率。「每個Plasticine元件均用於映射應用的特定部份:本地位址計算在PMU中完成,DRAM位址運算發生在DRAM位址管理單元,其餘的資料運算則在PCU中進行。」

Olukotun解釋說:「本質上,它是一組高度庫存的記憶體,支援專用位址單元產生附近的位址。只需執行計算,即可讓記憶體在正確的時間將資料串流至運算單元,而無需解譯指令。」

該晶片採用四個DDR通道外接DRAM,並進行緩衝和管理,以盡可能減少晶片外處理。

Olukotun說:「許多機器學習都專注於建置卷積神經網路(CNN),但我們的目標是打造更靈活且涵蓋稀不斷變化中的疏密集演算法,讓開發人員可以將其設計想法傳達給硬體。」

研究人員採用週期精確模擬來合成設計的RTL,為線性代數、機器學習、資料分析與圖形分析等任務產生基準。他說:「我們希望這些設計概念能直接用於晶片上,並計劃在6到18個月內進行晶片設計。」

20170531_bigdata_NT01P2 Plasticine與英特爾28nm Stratix-V的性能比較 (來源:Stanford)

Nvidia研究人員打造稀疏推理引擎

另一組由9名研究人員組成的研究團隊(其中有7人來自Nvidia)將介紹稀疏卷積神經網路(SCNN)推理加速器。該研究團隊包括資深的微處理器設計人員Joel Emer(曾協助定義同步多執行緒),以及Nvdia首席科學家William Dally。

相較於同級配置的密集CNN加速器,SCNN可提供更高2.7倍的性能和2.3倍的能源效率。該晶片採取較以往的研究更先進的途徑,可消除無關緊要的數學運算,並專注於以最高效的方法處理CNN權重與啟動。

此外,它採用了一種新的資料流程,可在壓縮編碼過程中保持稀疏權重與啟動,從而避免不必要的資料傳輸以及減少儲存的需求。此外,「SCNN資料流程有助於將這些權重與啟動有效地傳遞到乘法器陣列,並在此廣泛重覆使用。」

該途徑可讓「較大CNN的所有操作量保留在各層間的晶片緩衝區,完全不必使用大規模網路所需的高成本跨層DRAM參考資源。」

20170531_bigdata_NT01P3 SCNN使用處理元素(PE)陣列,處理權重以及輸入/輸出啟動 (來源:Nvidia)

該晶片的處理元素(PE)採用支援權重和啟動向量的乘法器陣列。該晶片採用16nm製程技術,將64個PE與16個乘法器封裝於7.4mm2模組中,使其尺寸略大於類似的密集CNN加速器。

該論文並比較了SCNN與其他研究中的晶片。然而,Dally猜測這款晶片「比商用推理加速器的效率更高,因為它利用的是稀疏設計途徑。」

如同Plasticine一樣,目前的研究成果是以模擬為基礎,尚未製造晶片。Dally說:「我們正為這款設計進行佈局以及時序收斂。」

Nvidia尚未宣佈商用化SCNN技術的任何計劃,但在研究論中指出,「我們正持續在這個領域的研發工作。」

編譯:Susan Hong

(參考原文:Big Data Reshapes Silicon,by Rick Merritt)