超越英偉達Pascal五倍?揭祕英特爾深度學習芯片架構

 2018-01-12 13:27:00.0

原標題:業界 | 超越英偉達Pascal五倍?揭祕英特爾深度學習芯片架構

選自The Next Platform

作者:Nicole Hemsoth

在被英特爾收購兩年之後,深度學習芯片公司 Nervana 終於準備將代號爲「Lake Crest」的架構轉化爲實際的產品了。

對於英特爾來說,現在入局或許有些遲到,英偉達已經佔據深度學習芯片市場很長一段時間了,後者有充分的時間通過新的深度學習專用 GPU 和軟件加速器來維持並擴張自己的市場。換句話說,即使技術優秀,價格合理,英特爾想要把 Nervana 推上深度學習訓練市場並佔據一席之地也需要大量的努力——現在看來,英特爾似乎正把籌碼押注在 Nervana 的激進路線圖上。

現在,我們可以在架構上對它一窺究竟了——它究竟與 GPU 有多大區別,存在哪些優勢,以及它的性能優勢主要在哪裏——確切地說,是功耗效率優勢。據 Nervana 元老,現任英特爾 AI 硬件負責人 Carey Kloss 介紹,Nervana Intel 目前的芯片與初代 Nervana 芯片非常相似,但由於英特爾提供了更多專業技術,新的深度學習芯片可以以每年一次的頻率快速更新換代。

「加入英特爾之後,我們並沒有改變很多,但我們確實應用了母公司很多技術資源,包括封裝、電路板設計、電力傳輸、實驗室和接口,在很多事情上一切如常,但在很多技術方面上我們也有了很大進步,」Kloss 告訴 The Next Platform。相比他看到的其他半導體公司,Nervana 的產品先進很多,他們很有信心讓新款英特爾集成產品保持穩定的性能曲線。

現在,英特爾已經非常接近推出「Lake Crest」,或它的新名稱:英特爾神經網絡處理器(Intel Nervana Neural Network Processor,NNP),越來越多的硬件架構細節正逐步被披露。我們從英特爾收購 Nervana 之後幾年裏陸續獲知了這款芯片是如何在模型訓練上優於 GPU 的,現在更瞭解了新的芯片通過改變內存帶寬瓶頸獲得了更加高效的表現。

雖然目前我們還沒有得到任何英特爾 NNP 的性能基準測試結果,Kloss 表示在未來幾個月內我們將會看到重大的結果發表。當然,將 NNP 的性能以 GPU 常用的浮點運算速度來測量並不容易,因爲兩種架構(儘管有一些結構相同)在浮點依賴上的運行方式非常不同。換句話說,即將出現的基準測試將展示 NNP 的高性能,但並不是簡單地將其映射到「TFLOPS」數字上。

如果想了解這種新架構的潛力,我們需要先回到 2016 年 8 月,英特爾收購 Nervana 前夕。那時該公司披露了一些內存技巧之外,有關架構方面的細節。時任 Nervana 首席執行官 Naveen Rao 曾告訴我們,在僅握有 2800 萬美元資金的情況下,想要推出 28nm 製程的芯片還需要相當大的努力。他簡要解釋了公司產品在連接和內存構造的特點,並指出它將成爲英偉達 NVlink 技術的有力競爭者。Rao 表示,在純每秒處理速度上,第一塊 Nervana 芯片的速度將是英偉達 Pascal 架構的 5-6 倍。

「我們知道目前人們都在使用 Pascal 架構來做深度學習,所以我們在數據上很有信心,他們(英偉達)引入了 NVLink,但我們從底層開始開發了自己的多芯片解決方案。我們的芯片擁有更快的速度,芯片之間擁有專用的串行鏈路。我們也有相應的軟件,讓很多芯片運行起來就像一塊芯片。我們拋棄了累贅——而不是在已有內存層級之上分層,構建只能解決單一問題的結構。」Naveen Rao 表示。

今天看來,所有這些都仍然適用,除了日益增長的 FP16 運算速度,低精度訓練已經成爲了深度學習硬件上的一個熱門話題,而英偉達的新一代 GPU 架構 Volta 也加入了專門用於處理矩陣乘法的 TensorCore。英特爾 Nervana 也會在今年的晚些時候推出自己的強力產品,但其性能、功耗和先進性如何,還有待考量。

Nervana 芯片是如何處理大規模低精度訓練的,以內存連接策略是什麼機制,這些特性都是人們期待已久的。其中的一些問題已經在 2017 年底的論文《Flexpoint: An Adaptive Numerical Format for Efficient Training of Deep Neural Networks》,及其在 NIPS 2017 上的演講中得到了解答。除了論文之外,Flexpoint 也有一個更加簡單的展示頁:https://ai.intel.com/flexpoint-numerical-innovation-underlying-intel-nervana-neural-network-processor/

實際上,與更標準的 FP16 方法相比,使用 16 位整數乘法器和加法器樹,NNP 更加節省功耗與面積。這是一個有趣的選擇,因爲 FP16 有更小的乘法器,但是也有加法器樹和移位的需要,這抹去了 FP16 的優勢,Kloss 解釋道。「我們相信 Flexpoint 是神經網絡性能與功耗的最佳平衡。我們已經看到大量神經網絡在其之上運行良好,所以 16 位動態範圍是足夠的,同時我們也通過更少的移位器和低位運算降低了浮點運算量的需求,提高了效率。」

「在單個芯片上的神經網絡計算極大地受到能源與帶寬的限制。爲了讓神經網絡負載獲得更高的吞吐量,除了前面提到的存儲創新之外,我們還創造了一種新的數字格式 Flexpoint。Flexpoint 能讓標量計算(scalar computation)部署爲固定點相乘和相加,同時可使用共享的指數做大型動態範疇。因此,每個迴路變得更小,這可帶來芯片上並行處理的增加,同時可同步降低每次運算的能耗。」

對 Nervana 和英特爾而言,神經網絡優秀表現的另一面是其存儲和網絡優勢帶來的帶寬提升。如果你觀察 NIPS 上展示的芯片,其片上高速網格網絡都帶有高頻寬存儲(HBM)。Nervana 的目標是最大化芯片上處理矩陣乘積和卷積運算的區域,而不是讓這些區域做其他事,例如像 GPU 這樣的芯片會設置做常見工作負載的區域。面對大型的神經網絡,這種設計能使用外部網絡,加上有足夠頻寬的多個芯片進行擴展,從而使組合的芯片能像單個大型計算節點一樣做運算。

「矩陣相乘和卷積在深度學習中都是非常重要的計算。這些計算不同於常用工作負載,因爲這些計算和數據移動大部分都可以提前知道。如此情況下,NNP 芯片沒有標準的緩存層級,片上存儲也直接由軟件管理。更好的存儲管理能讓芯片在每個單元裸片(die)上都能獲得最大的計算量,也就是對深度學習模型更快的訓練。」

這些芯片上的連接性是架構寬帶的另一個重要指標,它通過 SerDes(串行器/解串器,被拆分爲四個 100GB 的「quads」),具有 1.2Terabits 的雙向帶寬。不幸的是,對此機制的性能我們沒有看到圖示。然而,就像 Kloss 告訴我們的,非常明顯,能夠把多個芯片組合成單個大型虛擬芯片,從而滿足更大的模型。

再次強調,這些啓示並不令人驚訝,因爲 Nervana 幾年前就曾介紹過這是一種快速地、定製化的、互相連接、高寬帶內存、高精準的芯片。然而,最終能看到已經很好了,因爲我們能把已有方法與巨頭的訓練方法、深度學習芯片創業公司的方法做對比了。

英特爾在深度學習上的目的是做出一款能夠面相所有實現大小的產品。除了以上對此芯片的討論,他指出最近的論文只強調 Xeon CPU 和 FPGA 的訓練時間,以及 Movidius 對大規模機器學習推理的有利條件。英特爾和 Nervana 的未來將會如何發展?時間將會給我們答案。

原文鏈接:https://www.nextplatform.com/2018/01/11/intel-nervana-shed-light-deep-learning-chip-architecture/


文章來源:機器之心