隨著技術的發(fā)展,神經(jīng)網(wǎng)絡處理仍處于起步階段。因此,仍有一些高層次的問題需要回答。例如,“你如何實際執(zhí)行神經(jīng)網(wǎng)絡圖?”
有幾種可能的方法,但是神經(jīng)網(wǎng)絡(都是圖)的出現(xiàn)揭示了傳統(tǒng)處理器架構中的一些缺陷,這些缺陷并不是為了執(zhí)行它們而設計的。例如,CPU 和 DSP 按順序執(zhí)行工作負載,這意味著必須將 AI 和機器學習工作負載重復寫入不可緩存的中間 DRAM。
這種串行處理方法,其中一個任務(或任務的一部分)必須在下一個任務開始之前完成,這會影響延遲、功耗等。而不是一個好辦法。圖 1 顯示了如何在這些傳統(tǒng)處理器上執(zhí)行圖形工作負載。
圖 1. 神經(jīng)網(wǎng)絡圖的串行執(zhí)行導致高功耗、延遲和整體系統(tǒng)成本。
圖中,氣泡節(jié)點 A、B、C 和 D 代表功函數(shù),而矩形顯示每個節(jié)點生成的中間結(jié)果。Blaize(前身為 ThinCi)戰(zhàn)略業(yè)務發(fā)展副總裁 Richard Terrill 解釋了以這種方式處理神經(jīng)網(wǎng)絡圖的影響。
“這些中間結(jié)果通常非常龐大,將它們存儲在芯片上可能非常昂貴,”Terrel 解釋說?!澳阋醋鲆粋€非常大的籌碼?;蛘撸R姷氖?,您將其發(fā)送到芯片外,等待它完成。完成后,您可以加載下一個節(jié)點并運行它。
“但是發(fā)生的情況是,必須在 B 加載并運行后將結(jié)果帶回芯片上,然后在 C 加載并運行后將兩個結(jié)果帶回芯片上。這里發(fā)生了很多片外、片上、片外、片上交易?!?/p>
面向圖表
隨著神經(jīng)網(wǎng)絡技術的使用和應用的增長,最先進的技術必須改變。Blaize 正在開發(fā)一種圖形流處理器 (GSP) 架構,它認為該架構可以與未來的人工智能和機器學習工作負載一起擴展。
該公司的“完全可編程”芯片包含一系列指令可編程處理器、專用數(shù)據(jù)緩存和專有硬件調(diào)度程序,可為神經(jīng)網(wǎng)絡圖帶來任務級并行性。如圖 2 所示,該架構有助于減少外部存儲器訪問,而集成 GSP 和專用數(shù)學處理器的運行頻率僅為數(shù)百兆赫以節(jié)省電力。
雖然 Blaize 仍然對其 GSP 架構的細節(jié)保持不變,但從高層次來看,該技術似乎可以解決當今的許多圖形處理挑戰(zhàn)。
“機器是底層的核心技術,它旨在高效地實施和運行數(shù)據(jù)流圖,”Terrill 說。“這是一種抽象,但它代表了當今許多非常有趣的問題,要求你能夠?qū)ζ溥M行不同類型的運算,不同的計算、算術和控制、不同精度的算術、不同運算符的算術、專用數(shù)學功能等。
“在里面,如果我們把它打開,我們專有的 SoC 有一系列專有處理器。它們是一個級別的一類 CPU,但它們是由我們的編譯器用二進制文件編程的,以便在其中運行,”他補充道。
圖 3 顯示了如何使用該機器有效地執(zhí)行圖形流處理。如圖所示,標記為 0、1、2、3、4、5 和 6 的矩形表示任務平行。數(shù)據(jù)從第一個并行發(fā)送到標記為“A”的氣泡節(jié)點。從氣泡中,它通過一個嚴重截斷的中間緩沖區(qū),允許任務繼續(xù)執(zhí)行而不必離開芯片。
從理論上講,這意味著更低的能耗、更高的性能以及所需內(nèi)存帶寬的大幅減少。所有這些都可以轉(zhuǎn)化為更低的系統(tǒng)成本。
與 Blaize 的 GSP 技術配合使用的專用硬件調(diào)度程序允許開發(fā)人員利用這種性能,而無需了解目標架構的低級細節(jié),Terrill 指出這是關鍵,因為沒有人可以真正處理這些類型的任務調(diào)度。工作量。事實上,調(diào)度程序非常高效,它可以在單個時鐘周期內(nèi)基于上下文切換對內(nèi)核進行重新編程。
調(diào)度程序能夠通過與實際工作負載執(zhí)行并行運行流程圖的映射來實現(xiàn)這一點
“它可以對傳入數(shù)據(jù)的單個周期以及何時何地運行的中間結(jié)果做出決策,”特里爾說?!八粌H是可編程的,它是單周期可重新編程的,并且有很大的不同。您無法使用已修復的內(nèi)容或使用程序計數(shù)器來跟蹤正在完成的工作來執(zhí)行此類工作。對 FPGA 重新編程非常困難。這需要半秒鐘,你會失去所有的狀態(tài)。它永遠跟不上人們希望完成事情的這種速度?!?/p>
該公司的測試芯片是基于 28 納米工藝技術開發(fā)的。然而,有趣的是,Blaize 計劃通過一系列行業(yè)標準模塊、電路板和系統(tǒng)來生產(chǎn)這項技術。
GSP 的軟件方面
圖形原生處理器架構當然需要圖形原生軟件開發(fā)工具。在這里,Blaize“畢加索”開發(fā)平臺允許用戶高效地迭代和改變神經(jīng)網(wǎng)絡;量化、修剪和壓縮它們;如果需要,甚至可以創(chuàng)建自定義網(wǎng)絡層(圖 4)。
Picaso 支持 ONNX、TensorFlow、PyTorch 和 Caffe 等 ML 框架,基于 OpenVX 并采用類似 C++ 的語言,簡化了將應用程序的神經(jīng)網(wǎng)絡部分集成到軟件堆棧中的其他組件的過程。圖 4 顯示了 Picaso 的主要元素——一個幫助開發(fā)預處理和后處理指令的 AI 工具包和一個處理編譯的圖形框架。
有趣的是,在生成可執(zhí)行文件后,編譯器在運行時一直保留數(shù)據(jù)流圖,這允許硬件調(diào)度程序執(zhí)行上述單周期上下文切換。它還自動將工作負載定位到芯片上最高效的內(nèi)核,以最大限度地提高性能和節(jié)能。
但是在上圖中更仔細地放大,我們會遇到“NetDeploy”。這是 Blaize 開發(fā)的一項技術,用于自動優(yōu)化現(xiàn)有模型以部署在邊緣設備中。
在修剪、壓縮和拉出東西的第一遍過程中,它最終成為一個非常循環(huán)的問題,”特里爾說。“準確性通常會下降,它會回到訓練階段說,‘好吧,像這樣訓練它,然后這樣做,看看會發(fā)生什么。’”
“這不是一個非常確定的過程。這需要很多周期?!?/p>
與 OpenVINO 等工具類似,NetDeploy 允許用戶指定所需的精度和準確度,并在將模型優(yōu)化為將在邊緣運行的算法時保留這些特征。據(jù) Terrill 稱,一位在 GPU 上進行培訓并在 FPGA 上進行部署的客戶使用 NetDeploy 將模型移植時間從數(shù)周縮短到幾分鐘,同時保持準確性并滿足內(nèi)存占用目標。
描繪未來
在過去的 24 個月中,隨著人工智能工作負載變得越來越普遍,并且縮小硅幾何尺寸的能力停滯不前,我們看到了許多新穎的架構出現(xiàn)。
Blaize 通過其圖形流處理 (GSP) 解決方案提供了一種獨特的方法,該解決方案涵蓋了計算、人工智能開發(fā)和移植軟件,很快,甚至可以輕松集成到設計中的硬件。這可能使公司的技術比其他新興替代品更快地被采用。
審核編輯:郭婷
-
神經(jīng)網(wǎng)絡
+關注
關注
42文章
4814瀏覽量
103599 -
gpu
+關注
關注
28文章
4945瀏覽量
131228 -
人工智能
+關注
關注
1806文章
49014瀏覽量
249425
發(fā)布評論請先 登錄
BP神經(jīng)網(wǎng)絡與卷積神經(jīng)網(wǎng)絡的比較
BP神經(jīng)網(wǎng)絡與深度學習的關系
BP神經(jīng)網(wǎng)絡的基本原理
人工神經(jīng)網(wǎng)絡的原理和多種神經(jīng)網(wǎng)絡架構方法

卷積神經(jīng)網(wǎng)絡在自然語言處理中的應用
卷積神經(jīng)網(wǎng)絡與傳統(tǒng)神經(jīng)網(wǎng)絡的比較
RNN模型與傳統(tǒng)神經(jīng)網(wǎng)絡的區(qū)別
LSTM神經(jīng)網(wǎng)絡的結(jié)構與工作機制
LSTM神經(jīng)網(wǎng)絡與傳統(tǒng)RNN的區(qū)別
LSTM神經(jīng)網(wǎng)絡的優(yōu)缺點分析
LSTM神經(jīng)網(wǎng)絡的基本原理 如何實現(xiàn)LSTM神經(jīng)網(wǎng)絡
Moku人工神經(jīng)網(wǎng)絡101

評論