關於人工智慧(AI)的報導一直不絕於耳。過去幾年來,幾乎每個月(有時甚至是每週)都會有一款現有或新創公司的全新AI處理器推出市場。

然而,懸而未決的問題是:為什麼有這麼多的AI處理器?每一款AI晶片的設計是為了解決哪些問題?更重要的是,當今的AI版圖中還缺少哪些部份?

Tirias Research首席分析師Kevin Krewell直截了當地說,「AI帶來了一種新典範,並改變了整個電腦系統。」現有企業和新創公司都在爭奪仍處於混亂中的「AI就緒」(AI-ready)運算領域。

以色列Hailo是一家為「邊緣裝置深度學習」打造專用晶片的新創公司,今年6月宣佈完成1,250萬美元的A輪融資。Hailo的目標在於「為任何產品帶來智慧」(to bring intelligence to any product)。因此,Hailo執行長Orr Danon最近呼籲「徹底重新設計電腦架構的支柱——記憶體、控制和運算以及其間的關係。」

這是一個值得稱道的目標。然而,Hailo既不打算透露其架構細節——Danon僅表示「可能就在今年底」,其首款AI處理器最快也要到2019年上半年後才會正式推出。

Danon認為,目前還沒有一家自動駕駛車(AV)供應商能在無數的新一代AI處理器中找到適用於其AV的晶片。

汽車領域正是Hailo看好其新款AI處理器得以發揮的直接目標市場。Danon指出,當今的測試AV實際上都在公共道路上行駛,車後行李箱中還配置了一個資料中心。他說,為了填補這些測試車和自動駕駛車(必須為大量部署而打造)之間的巨大鴻溝,一線(tier one)和汽車OEM需要一種全新的AI處理器,協助其更有效率地執行相同的深度學習任務。

Hailo為此整理了目前每一款AI處理器的每瓦(W)深度學習TMACS。該公司與《EE Times》的讀者分享的重點在於深入探討:AV產業在多大程度上仍無法獲得推動高度自動駕駛車所需的高效能AI處理器。

業界分析師和其他AI新創公司高層也針對目前在AI發展道路上的重大障礙發表看法。

現代CPU架構並不適用於AI

大多數業界觀察家一致認為,目前基於馮·諾依曼(von Neumann)架構的CPU處理器無法有效因應當今的AI處理任務。

The Linley Group首席分析師Linley Gwennap指出,「Von Neumann不適用於AI。」他解釋說,每一次的運算都必須擷取並解碼指令,以及收集並儲存資料於暫存器檔案中。 「為了提高每瓦運算效能,你必須執行更多的運算和更少的擷取任務。」

Krewell同意這一看法。他說:「Von Neumann架構極其適於控制和循序計算:‘If-Then-Else’操作。相形之下,神經網路就像圖形一樣,是高度平行的,而且依賴於記憶體頻寬的處理。試圖用CPU擴展神經網路是相當昂貴的(包括功耗和成本)。」

20180813_AV_AI_NT31P1 典型的馮·諾依曼(von Neumann)電腦架構(來源:Hailo)

Danon說:「儘管Von Neumann架構和現代CPU一般都非常靈活,但在很多情況下,這種靈活性並不是必要的。」它適用於神經網路和其他操作,例如,為未來的許多週期預先確定行為。在這種情況下,他指出,設計系統的更有效方法是「避免以讀取指令來指導每個週期的系統行為。保持每個週期改變元素行為的靈活度非常重要。」

在Danon看來,「神經網路將這一概念推向了極致。『結構』——決定運算元素之間連接性——確定整個會話的行為(又稱『運算圖形』)。」簡言之,AI社群需要的不是基於Von Neumann架構的處理器,而是「善於描述神經網路結構的特定處理器」。

重新關注資料流架構

由於CPU和GPU的深度學習性能無法滿足需求,引發業界積極尋找基於資料流(dataflow)架構的新解決方案。但為什麼是資料流?

根據Gwenapp的說法,業界希望進行更多的運算和更少的擷取,首先嘗試開發寬的單指令/多資料(SIMD)架構。「但是你只能將暫存器檔案做得很寬。」業界很快地發現,該解決方案是「直接自動地將資料從運算單元移動到運算單元」。他說,「這是一種稱為資料流的通用方法,可以大幅降低von Neumann的開銷。」

不久前才收購MIPS的Wave Computing,是一家利用資料流技術的AI新創公司。根據該公司執行長Derek Meyer表示,Wave Computing設計了一款新的處理單元,「可以原生支援Google TensorFlow和微軟(Microsoft)的CNTK」。

Danon坦承Hailo的新款AI處理器也屬於架構的「資料流系列」。他解釋說,資料流「通常更適合深度學習」,因為「用於計算的大多數參數都不需要移動。相反地,它們用於描述資料流動時的圖形。」

20180813_AV_AI_NT31P2 資料流解決方案:典型的平行運算架構(來源:Hailo)

Krewell指出,資料流的概念並不是什麼新鮮事兒,也已經成功地在通用電腦硬體實現商用化了。

但是,隨著AI改變運算領域,資料流正在尋找機器學習的「新機遇」。Krewell補充說:「透過使用資料流和脈動陣列架構,您可以將神經網路處理設計為從一分層到另一分層,而無需太多控制邏輯。」

這種新轉折可說是Wave Computing的天賜良機。該新創公司自2010年以來一直在利用其於資料流技術方面的專業知識以及建立專利組合,積極地專注於機器和深度學習。

記憶體頻寬面臨瓶頸

AI——特別是卷積神經網路(CNN),似乎非常適合資料流設計。但是,Gwenapp強調,這並不表示所有的資料流設計都對AI有利,「系統中還存在著其他瓶頸,如記憶體頻寬。」

業界開始看到這樣的暗示:記憶體導向的裝置是客製深度學習硬體的未來。例如,新創公司Mythic瞄準了將神經網路映射到NOR記憶體陣列。該公司將「記憶體處理器」(processor-in-memory;PIM)架構用於AI,使其晶片得以在快閃記憶體中儲存並處理神經網路權重,而其結果(最終和中間)則儲存在SRAM中。因為這樣的記憶體陣列無需將資料移入和移出外部記憶體,所以,Mythic承諾將在其晶片中實現性能/功耗的巨大進展。

20180813_AV_AI_NT31P3 記憶體處理器(PIM)(來源:Mythic)

Mythic的設計概念當然具有吸引力,特別是當大多數晶片設計者試圖提高記憶體頻寬時,一般都採用可能造成破壞的方法。然而,Danon抱持謹慎看法,他表示還不確定Mythic的記憶體處理器晶片能否正常運作,但很可能「將技術推得太遠了」。

Danon說,目前更實際和更現實的方法是「共同定位記憶體和運算」。「我們需要讓運算結構能以高利用率存取所需的記憶體,從而產生非常高的頻寬。」他補充說,這對於實現運算元素的高利用率至關重要。

Krewell則解釋,「一些挑戰是在訓練期間保持權重。這就是像GraphCore在晶片上打造大型記憶體的原因。」他並補充說:「這也就是為什麼GPU和英特爾(Intel)的Nervana使用高頻寬記憶體(HBM)、Wave Computing使用美光(Micron) Hypercube記憶體的原因。」

除了TPU,如何調整軟體和硬體?

Danon表示,Google經由其Tensor處理器,「展示了一種樣板」,用於從頭開始設計高效率的架構,並針對推論任務進行了最佳化。這是個大好消息。然而,壞消息是,如果客戶想要使用除了TensorFlow之外的深度學習架構呢?

在這種情況下,他們就需要翻譯。雖然許多新興工具,包括ONNX,都用於翻譯幾個AI架構,但Danon解釋說,在此過程中,即使內容不會在翻譯中完全遺失,計算也可能變得「非常低效」。他指出,產生這種困境的原因在於,以簡潔方式描述問題的神經網路「結構」必須轉換為von Neumann架構的通用處理器所使用的一系列規則操作。

Danon指出,當今的AI處理器在軟體和硬體之間缺乏一致性。他說,在理想情況下,軟體和硬體二者都使用基於結構的描述方法。Hailo計劃將本機描述為「神經網路分層」,從而使其處理器有別於其他處理器。

Danon解釋說,Hailo的目標「有點類似於組合語言本身能夠在基於規則的系統中描述規則一樣——條件敘述和分支的形式。」

實現更高每瓦性能的競賽

深度學習性能效率是AI處理器競爭對手之間經常引爆的一場大辯論。在輝達(Nvidia)和英特爾/Mobileye之間,兩家競爭對手的高層還公開爭辯其於Xavier SoC和EyeQ5的主張。

20180813_AV_AI_NT31P4 針對深度學習影像進行處理的實際處理器效率比較(來源:Hailo)

Hailo根據每家供應商發佈的資料,編製了一份AI處理器比較表——從Nvidia的Volta V100、Pascal P4和Google TPU,到GraphCore IPU和Wave Computing DPU,詳細列出每家供應商的深度學習tera級每秒乘積累加(TMAC)運算和功耗資料。Hailo的目標是為每個AI處理器計算深度學習的每瓦TMACS。Hailo並觀察到當前的AI處理器可達到每瓦低於0.1TMACS的效能,而在使用批次處理方法時可能略高於此。

20180813_AV_AI_NT31P5 神經網路(來源:Hailo)

Danon以處理高解析(HD)視訊為例指出,如果車輛以每秒30格(30f/s)的速度接收全高解析(FHD)視訊,並使用ResNet50網路進行深度學習。處理FHD視訊串流通常需要每個感測器約5TMACS。根據自動駕駛的等級,一般汽車預計將配備4到12個攝影機感測器。

這意味著部署在自動駕駛車的任何現有AI處理器已經讓每個感測器消耗約幾十瓦功耗,或每輛汽車幾百瓦了。Danon認為這已經超出太多了。或者,他懷疑,如果OEM無力應付這麼多的電力浪費,他們別無選擇,最終將只能在性能上大幅妥協。

理論上,「相較於傳統的von Neumann處理器,精心設計的CNN加速器應該能達到更高數十倍的每瓦性能」。但是,Gwenapp說:「即便採用這種方法也不足以滿足4/5級自動駕駛車的挑戰性要求。」

換句話說,儘管市場上充斥過多的AI處理器,但沒有一款能夠達到讓全自動駕駛車實現商用化可行的性能標準。

但Gwennap仍抱持樂觀看法。「幸運的是,我們還處於AI競賽的早期階段。預計在未來十年內將能在硬體和軟體方面看到大幅的進展。」

編譯:Susan Hong

(參考原文:Hailo Hunts Missing AI Puzzle Pieces,by Junko Yoshida)