從GPU、TPU到FPGA及其它:一文讀懂神經網路硬體平臺戰局

機器之心發表於2017-08-17

在如今深度學習大爆發的時代,相關的硬體平臺也在百花齊放,既有英偉達和谷歌這樣的科技巨頭,也有地平線機器人和 Graphcore 等創業公司——它們都各自提出了自己的解決方案。近日,多家公司的技術顧問 Matt Hurd 在其部落格上發表了一篇全面評點各種神經網路硬體平臺的長文,機器之心對本文進行了編譯介紹。

這是我幾周前做的一個傳統的 90 年代風格的性別識別神經網路的很好的隱藏節點。

從GPU、TPU到FPGA及其它:一文讀懂神經網路硬體平臺戰局

一個簡單的性別識別器網路中的 90 年代風格的隱藏節點影象

我的碩士專案是一種類似級聯相關(cascade correlation)的神經網路 Multi-rate Optimising Order Statistic Equaliser(MOOSE:多速率優化順序統計均衡器),可用於日內的 Bund(國庫債券產品)交易。MOOSE 曾經是為獲取高速的 LEO 衛星訊號(McCaw 的 Teledesic)而設計的一點成果,後來在從 LIFFE 遷移到 DTB 時將目標轉向了 Bund。作為一家投資銀行的職業交易員,我可以購買很好的工具。我有那時候世界上最快的計算機:一個 IBM MicroChannel dual Pentium Pro 200MHz 處理器外加帶有幾 MB RAM 的 SCSI。在 1994 年那會兒,將 800,000 個資料點輸入到我的 C++ stream/dag 處理器中看上去就像是黑魔法。有限差分方法讓我可以做許多 O(1) 增量線性迴歸這樣的運算,以獲得 1000 倍的加速。那時候這看起來已經很好了。現在,你的手機都能嘲笑我的大方向。

那時候,在神經網路領域有很多研究。倒不是說它有過人的生產力,只是因為有用。讀到 Lindsay Fortado 和 Robin Wigglesworth 的 FT 文章《Machine learning set to shake up equity hedge funds》中 Eric Schmidt 關於機器學習和交易的看法,還真有點讓人高興:

Eric Schmidt 是谷歌母公司 Alphabet 的執行董事長,他上週對一眾對衝基金經理說他相信在 50 年內,所有交易都會有計算機解讀資料和市場訊號。

「我期待出現在交易方面做機器學習的創業公司,看看我描述的這種模式識別能否比資料分析專家的傳統線性迴歸演算法做得更好。」他補充說,「我這個行業內的許多人都認為這注定將成為一種新的交易形式。」

老朋友 Eric,我在 90 年代早期就已經算是遲到了,你真是有點後知後覺。

好吧,現在情況已經不同了。我喜歡思考它,並喜歡將神經網路的這次新復興稱為感知時代(The Age of Perception)。這並不是智慧,只是擅長模式而已。它仍然無力應對語言歧義。它還要一些時間才能理解基本的價值和概念,從而形成深刻的金融理解。

深度學習既被誇大了,也被低估了。這不是智慧,但會有助於幫我們實現智慧。一些人將其誇大為將會給我們帶來替代人的類人機器的人工智慧突破。我們仍然還受困於常識以及用於推理的簡單文字中的歧義。我們還有很長的路要走。相對簡單的規劃演算法和啟發式方法以及基於神奇的深度學習的視覺、聲音、文字、雷達等等的感知能力將會帶來深刻的影響,就像是每個人和他們的狗現在理解的那樣。所以我叫它「感知時代」。就好像是我們口袋裡的超級計算機突然有了眼睛,並且快速適應了真實世界所帶來的閃光性致盲。

深度學習將會帶來巨大的影響,並且將會改變這顆行星上全人類的生活方式。但我們低估了其對我們的危險。不,我們不會和能激起或挑戰我們最深刻的思想的深度圖靈對話者約會——還不會。這將不可避免地到來,但在可見的未來裡還不可見。藉助語音、文字和 Watson 那樣的資料庫的智慧代理可以實現非常先進的 Eliza,但不會更先進了。自動化運輸、食物生產、建築、協助家事將會極大地改變人們的生活方式和不動產的價值。

除了這些泛泛之談,本文的目的是收集一些關於晶片的思想見解——它們驅動著當前的神經網路革命。其中很多見解都不是最為激動人心的,但這對我來說是一個有用的鍛鍊。

神經網路硬體

與 20 年前相比,今天的神經處理方法並沒有很大不同。深度更多的是一個品牌,而不是一項差異。啟用函式已經得到了簡化,以更好地適配硬體。主要的成功之處在於我們有了更多資料,對如何初始化權重、處理許多層、並行化和提升魯棒性也有了更好的理解,其中要用到像是 dropout 這樣的技術。1980 年的 Neocognitron 架構與今天的深度學習器或 CNN 並沒有顯著差異,但 Yann LeCun 讓它具備了學習能力。

在 90 年代那會兒也有很多神經硬體平臺,比如 CNAPS(1990),它帶有 64 個處理單元和 256kB 記憶體,可以在 8/16 位條件下達到 1.6 GCPS 的速度(CPS 是指每秒連線次數/ connections per second)或在 1 位條件下達到 12.8 GCPS 的速度。你可以在《神經硬體概述(Overview of neural hardware)》[Heemskerk, 1995, draft] 中讀到 Synapse-1、CNAPS、SNAP、CNS Connectionist Supercomputer、Hitachi WSI、My-Neupower、LNeuro 1.0、UTAK1、GNU(通用神經單元/General Neural Unit)Implementation、UCL、Mantra 1、Biologically-Inspired Emulator、INPG Architecture、BACHUS 和 ZISC036。

閱讀地址:https://pdfs.semanticscholar.org/5841/73aa4886f87da4501571957c2b14a8fb9069.pdf

好吧,東西還真多,但實際上還排除了軟體和加速器板/CPU 組合,比如 ANZA plus、SAIC SIGMA-1、NT6000、Balboa 860 協處理器、Ni1000 識別加速器硬體(英特爾)、IBM NEP、NBC、Neuro Turbo I、Neuro Turbo II、WISARD、Mark II & IV、Sandy/8、GCN(索尼)、Topsi、BSP400(400 微處理器)、DREAM Machine、RAP、COKOS、REMAP、通用並行神經計算機(General Purpose Parallel Neurocomputer)、TI NETSIM 和 GeNet。另外還有一些模擬和混合模擬的實現,包括英特爾的電氣式可訓練模擬神經網路(801770NX)。你懂我要表達的意思了,那時候的東西還真是多。

這在 1994 年迎來了一次爆發:

從GPU、TPU到FPGA及其它:一文讀懂神經網路硬體平臺戰局

樂觀的摩爾定律告訴我們,TeraCPS 即將實現:

「未來十年,微電子很可能將繼續主導神經網路實現的領域。如果進展和過去進步得一樣快,那就意味著神經計算機的效能將會增長大約 2 個數量級。因此,神經計算機將會接近 TeraCPS(10^12 CPS)的效能。由 100 萬個節點(每個節點有大約 1000 個輸入)組成的網路可以達到大腦的計算速度(100-1000 Hz)。這將能為實驗合理巨大的網路提供良好的機會。」

由於 Minsky 和 Papert 對隱藏層的不正確簡單概括,打擊了 Rosenblatt 的感知器夢想並最終導致了他不幸的死亡,神經網路研究遭遇了第一個冬天,研究資金被殘酷地撤銷了。1995 年,又出現了另一次神經網路冬天,儘管那時候我其實並不知道。作為溫水鍋裡的一隻青蛙,我沒有注意到正在加熱。第二個冬天的主要原因是缺乏激動人心的進展,讓人們普遍感到無聊了。

到了 2012 年,多虧了 Geoffrey Hinton 的冬季生存技能,多倫多大學基於 AlexNet 開發的 SuperVision 在 ImageNet 處理上實現了極大的提升,第二個神經網路冬天也由此終結了。之後谷歌的 LeNet Inception 模型在 2014 年打破了它的記錄。所以據我估計,感知時代始於 2012 年。將它記在你的日曆裡面吧,五年已經過去了。

谷歌在幾千臺普通機器上進行了出色的並行 CPU 有損更新研究。吳恩達教授和他的朋友們讓數十臺 GPU 就能完成數千臺 CPU 的工作,從而讓規模化成為了可能。因此,我們從需要很好的資助的神經處理前景中解放了出來。好吧,或多或少吧,現在最先進的網路有時候需要數千臺 GPU 或專用晶片。

更多資料和更多處理能力是其中的關鍵。讓我們進入本文的重點,列出一些感知時代大資料之戰中的一些關鍵平臺:

英偉達的 GPU

這一家是很難被戰勝的。來自大型視訊處理市場的收益驅動著巨大的規模經濟。新款英偉達 V100 帶有一種新的 Tensor Core 架構,速度可達 15 TFlops(單精度/SP)或 120 TFlops(浮點精度,其中帶有 FP16 的乘法和 FP32 的累加或加法,非常適合機器學習)。英偉達在它們的 DGX-1 中裝入了 8 塊計算卡,速度可達 960 Tensor TFlops.

AMD 的 GPU

在機器學習領域,AMD 一直是英偉達的追趕者。即將釋出的 AMD Radeon Instinct MI25 有希望達到 12.3 TFlops(SP)或 24.6 TFlops(FP16)。如果你把英偉達的 Tensor Core 也算進來,則 AMD 完全無力競爭。英偉達裝置的頻寬 900GB/s 也是 AMD 484GB/s 的兩倍。

谷歌的 TPU

谷歌原來的 TPU 相比於 GPU 有很大的領先,並幫助 DeepMind 的 AlphaGo 贏得了與李世石的圍棋大戰。據描述,原來的 700 MHz TPU 有 95 TFlops 的 8 位計算能力或 23 TFlops 的 16 位計算能力,同時功耗僅有 40W。這可比當時的 GPU 快得多,但現在落後於英偉達的 V100;但在單位功耗的計算能力上,TPU 並沒落後。據稱新的 TPU2 是一款帶有 4 塊晶片的 TPU 裝置,速度可達到 180 TFlops 左右。每塊晶片的效能都翻倍了,達到了 45 TFlops 的 16 位計算能力。你可以看到與英偉達 V100 的差距正在變小。你沒法買到 TPU 或 TPU2。谷歌正在通過它們的雲提供這些 TPU 服務,包含 64 臺裝置的 TPU pod 速度高達 11.5 PetaFlops。TPU2 上巨大的散熱片說明了一些原因,但市場正在發生變化——從單獨的裝置轉向了裝置的組合以及將這些組合以雲的形式提供。

Wave Computing

Wave 之父澳洲人 CTO Chris Nicol 博士的成果斐然,領導開發了 Wave 的 Compute Appliance 中的非同步資料流處理器(asynchronous data flow processor)。幾年前,Metamako 的創始人 Charles Thomas 在加州簡單介紹了我和 Chris 認識。他們倆都曾在 NICTA 研究過無時鐘非同步。這兩人都很出色。

我不確定 Wave 的裝置最早是不是針對機器學習設計的,但在他們的 3RU appliance 上執行 TensorFlow 的速度可以達到 2.9 PetaOPS/s,這實在了不起。Wave 將他們的處理器稱為 DPU,一個 appliance 有 16 個 DPU。Wave 使用了他們稱之為粗粒度可重構陣列(CGRA:Coarse Grained Reconfigurable Array)的處理元素。我還不清楚 2.9 PetaOPS/s 的速度對應多少位寬。根據他們的白皮書,其 ALU 可以執行 1 位、8 位、16 位和 32 位計算:

「算術單元是分割槽的。它們可以並行執行 8 位運算(完美適用於 DNN 推理)以及 16 位和 32 位運算(或以上的任何組合)。也可以執行一些 64 位運算,而且可以使用軟體擴充套件到任意精度。」

關於其 appliance 中的 16 個 DPU,還有一些額外的資訊:

「Wave Computing DPU 是一種包含了 16384 PE 的 SoC,它們被配置成了一個 32×32 叢集的 CGRA。它包含了 4 個 HMC(Hybrid Memory Cube)第二代介面、一個 PCIe 第三代 16 通道介面和一個用於 SoC 資源管理的嵌入式 32 位 RISC 微控制器。這款 Wave DPU 可以在沒有主機 CPU 時自動執行。」

對於 TensoFlow 指令:

「Wave DNN Library 團隊為 TensorFlow 等工作流程中所使用的常見 DNN 函式建立了預編譯的可重新定位的 kernel。它們可以被組合到 Agent 中並且可以被例項化成機器,以構建大型的張量資料流圖和 DNN kernel。」

「……一個可與 TensorFlow、CNTK、Caffe 和 MXNet 等機器學習工作流程互動的 session 管理器,可作為用於訓練和推理的工作器過程(worker process)。這些工作流程可為工作器過程提供張量的資料流圖。在執行時,Wave 的 session 管理器會分析資料流圖並將這些軟體智慧體放置到 DPU 晶片中,然後將它們連線起來以構建資料流圖。這些軟體智慧體會被分配用於輸入緩衝和本地儲存的全域性記憶體區域。CGRA kernel 的靜態本質和分散式的記憶體架構可以讓一個效能模型準確估計智慧體的延遲。session 管理器可使用該效能模型來在智慧體之間插入 FIFO 緩衝,這有助於 DPU 中通訊和計算的重疊。這個可變智慧體支援穿過整個圖的資料流的軟體流程,從而可以進一步增加併發性和效能。這個 session 管理器可以監控資料流圖執行時的效能(通過監控卡頓、緩衝區下溢位和/或上溢位),並且可以動態地調節 FIFO 緩衝區的大小以實現吞吐量的最大化。在附加了 DPU 的處理器中,有一個分散式執行時管理系統會在執行時安裝和解除安裝資料流圖的一些部分,從而平衡計算和記憶體的使用量。這種在資料流計算機中的資料流圖上的執行時重新配置還是有史以來第一次。」

是的,我也覺得非常酷。這個平臺的驚人之處是它在架構方面比 FPGA 更加粗粒度,因此靈活性更低,但卻很可能表現更好。非常有意思。

KnuEdge 的 KnuPath

在 2016 年 6 月時我在 Twitter 上談過 KnuPath。那以後他們的產品頁面卻失蹤了。我不確定他們要把那 1 億美元如何用到他們的 MIMD 架構上。那時候他們向我這樣描述的:每個 ASIC 中有 256 個微型 DSP(即 tDSP)核以及一個 ARM 控制器,適用於 35W 包絡中的稀疏矩陣處理。

從GPU、TPU到FPGA及其它:一文讀懂神經網路硬體平臺戰局

它的效能未知,但他們把自己的晶片與一款當時的英偉達晶片進行了比較,那時候他們說實現了 2.5 倍的效能。我們知道英偉達現在憑藉 Tensor 核心已經提速了十倍以上,所以 KnuEdge 還要努力才能跟上節奏。MIMD 或 DSP 方法必須要得到非常好的效果才能在這一領域佔據一席之地。時間會給我們答案。

英特爾的 Nervana

Nervana Systems 曾經除了開發他們的 Nervana Engine ASIC,還開發著一種 GPU/軟體方法,後來英特爾收購了這家公司。效能比較方面還不清楚。英特爾也在規劃通過一個 Knights Crest 專案將其整合到 Phi 平臺中。NextPlatform 認為其 2017 年在 28nm 節點上的目標是在某個位寬的運算速度達到 55 TOPS/s。英特爾還安排一個 NervanaCon,將在 12 月份舉辦,所以那時候我們也許將能看到他們的第一批成果。

地平線機器人

這家中國創業公司正在研發一種大腦處理單元(BPU:Brain Processing Unit)。餘凱博士是正規軍出身,他曾是百度深度學習研究院的負責人。今年早些時候,一段 YouTube 視訊演示了基於 Arria 10 FPGA 的 BPU 模擬:https://youtu.be/GI9U9lUFaDo。目前關於這一平臺的公開訊息還很少。

Eyeriss

Eyeriss 是 MIT 的一個專案,開發出了一款具有出色原始效能表現的 64nm ASIC。在 AlexNet 上,這款晶片的速度大約是英偉達 TK1 的一半。其優勢在於藉助於其行固定(row stationary)方法,僅需要一個 278mW 的可重新配置加速器就能實現這樣中規中矩的效能。贊。

Graphcore

去年 Graphcore 拿到了 3000 萬美元的 A 輪融資,以開發他們的智慧處理單元(IPU: Intelligence Processing Unit)。他們的網站還缺少細節,只是給出了一些亮眼的事實,比如多於 14000 個獨立的處理器執行緒和大於 100 倍的記憶體頻寬。根據 NextPlatform 報導的零星資訊,其在一塊晶片上具有多於 1000 個真實核心,並且採用了定製的互連方式。它的 PCIe 板具有一個 16 個處理器的元件。聽起來似乎是資料流。拋開公關的言論,這個團隊確實有很強的背景,而且投資者也不併不傻,所以就拭目以待吧。

Tenstorrent

Tenstorrent 是加拿大多倫多的一家小創業公司,它宣稱在深度學習的效率上實現了一個數量級的提升,和大多數公司一樣,還沒有什麼公開的細節,但該公司入選了 Cognitive 300 榜單。

Cerebras

Cerebras 值得一提,因為它得到了 Benchmark 的支援,而且其創始人是 SeaMicro 的 CEO。它似乎已經融資 2500 萬美元了,而且仍然處於隱身模式。

Thinci

Thinci 正在美國薩克拉門託開發視覺處理器,並且在印度也有員工。他們宣稱即將推出他們的第一款矽晶片 Thinci-tc500,而且已經開始進行標準評測和贏得客戶了。但除了「一切都並行處理」之外,我們所知甚少。

Koniku

Koniku 的網站正在倒數計時,現在還有 20 幾天。我已經等不及了。他們沒有融到多少錢,而看過它們在福布斯上的這個視訊之後(https://goo.gl/VA1PJx),你很可能也不得不相信他們,但你也無法預料究竟會如何。利用生物細胞肯定是不一樣的。聽起來就像是一個科研專案,但他們這樣說:

「我們是一個企業。我們不是一個科研專案。」下週將在維也納的 Pioneers Festival 上發表演講的 Agabi 這樣說,「今天有些需求是矽所不能滿足的,而我們可以通過我們的系統提供。」

Koniku 提供的核心是所謂的神經元殼(neuron-shell),這家創業公司稱其內部可以控制神經元彼此通訊的方式,加上一種正在申請專利的電極,就可以在神經元上讀寫資訊。所有這些都可以裝在一個 iPad 大小的裝置裡,他們還希望能在 2018 年之前將其減小到一枚五美分硬幣大小。


Adapteva

Adapteva 是我最喜歡的一家小技術公司,正如你在之前文章《Adapteva tapes out Epiphany-V:一款 1024 核 64 位 RISC 處理器》:https://goo.gl/6ZH7JP。去年年底時 Andreas Olofsson 拿出了他的 1024 核晶片,我們都等著看它的效能表現。Epiphany-V 有用於深度學習的新指令,我們必須要看看這種帶有 64MB 片上記憶體的更少記憶體控制器的設計是否具有合適的擴充套件能力。Andrea 的設計和構建的出色效率可能能讓我們真正負擔得起這種晶片,所以讓我們希望它有良好的表現吧。

Knowm

Known 研究的是 Anti-Hebbian and Hebbian(AHaH)可塑性和憶阻器。這裡有篇覆蓋這一主題的論文《AHaH 計算:從 Metastable Switches 到 Attractors 到機器學》:https://doi.org/10.1371/journal.pone.0085175。這對我來說有點太高階了。簡單看了看,我看不出這項技術和胡言亂語的區別,但看起來確實科學味道十足。我需要親眼看到才能相信。神經憶阻式處理器(neuromemristive processor)的思想是很有趣的。我早上確實需要一個好的流行術語。


Mythic

Mythic 的一款電池驅動的神經晶片具有低 50 倍的功耗。目前還看不到太多真正的細節。這款晶片大約鈕釦大小,但大多數晶片不都這樣嗎?

「Mythic 的平臺能在鈕釦大小的晶片上提供桌面 GPU 的效能。」

也許這又是一款適合無人機和手機的晶片,很可能被用在手機中,也可能被排除在外。

高通

手機顯然是機器學習硬體的一大用武之地。我們希望能夠識別狗的品種、花朵、樹葉、癌症痣、翻譯標識、理解口語等等。我們口袋裡的超級計算機願意用上它能得到的所有幫助,以便能邁入感知時代。高通一直以來都在鼓搗機器學習,推出了 Zeroth SDK 和 Snapdragon 神經處理引擎(NPE)。這種 NPE 顯然在高通所用的 Hexagon DSP 上效果良好。

Hexagon DSP 已經遠遠不止是一個非常廣泛的並行平臺了,Yann LeCun 已經證實高通和 Facebook 正在合作開發一種更好的方法,參見 Wired 的文章《業界 | 谷歌 TPU 之後還有高通,人工智慧晶片競賽已經展開》:

「最近,高通已經開始製造執行神經網路的專用晶片,這條訊息來自 LeCun,因為 Facebook 正幫助高通開發機器學習相關技術,所以他對高通的計劃很瞭解;高通技術副總裁 Jeff Gehlhaar 證實了這個專案,他說:『在原型設計和開發方面,我們還有很長的路要走。』」

也許我們很快就會看到 Kryo CPU、Adreno GPU、Hexagon DSP 和 Hexagon Vector Extensions 之外的其它東西。對於這一領域的創業公司來說,和高通的機器學習競爭將會艱難無比。


Pezy-SC 和 Pezy-SC2

這兩者是 Pezy 開發的 1024 核和 2048 核處理器。Pezy-SC 1024 核晶片可以驅動 2015 年 Green500 超級計算機榜單的前三名的系統。Pezy-SC2 是現在已經開始提供的後續晶片,我在 6 月份也做過關於它的演講,但相關細節還很少,不過仍然很吸引人:

「PEZY-SC2 HPC Brick:單個機箱中有 32 個帶有 64GB DDR4 DIMM(2.1 PetaFLOPS(DP))的 Pezy-SC2 模組卡,速度可達 6.4 Tb/s.」

不知道 2048 個 MIMD MIPS Warrior 64 位核的機器能做到什麼?在 6 月份的 2017 年 Green500 榜單中,一個英偉達 P100 系統拿到了頭把交椅,而排名第 7 的是一個 Pezy-SC2 系統。所以看起來這款晶片還活著,但相關細節卻很少。Motoaki Saito(齊藤元章)當然值得一看。

Kalray

儘管做了很多承諾,但 Kalray 的晶片還沒有超過 256 核,我在 2015 年的一篇文章就談到:https://goo.gl/pxqn7Z。Kalray 宣傳自己的產品說是適合嵌入式自動駕駛汽車應用,但我覺得其目前產品架構的形式並不是一種完美的 CNN 平臺。Kalray 有一個 Kalray Neural Network(KaNN)軟體包並且宣稱有比 GPU 更好的效率,在晶片上能實現高達 1 TFlop/s 的速度。

隨著即將到來的產品更新,Kalray 的神經網路財富可能還會提升,就在這個月 Kalray 完成了新一輪 2600 萬美元的融資。他們新的 Coolidge 處理器預計將在 2018 年年中上市,它會帶有 80 或 160 個核,另外還有 80 或 160 個為視覺和深度學習優化的協處理器。

這在他們的多於 1000 核的方法上有了很大的改變,而我認為這是最明智的。

IBM TrueNorth

TrueNorth 是 IBM 的神經形態 CMOS ASIC,是與 DARPA 的 StNAPSE 專案一起開發的。

這是一種單個晶片設計上的多核處理器網路,具有 4096 個核,每個核模擬 256 個可程式設計的矽「神經元」,總共就超過了 100 萬個神經元。另外,每個神經元還有 256 個可程式設計的「突觸」,訊號可以在這些突觸之間傳遞。因此,可程式設計突觸的總是超過了 2.68 億(2^28)。在基本構建模組方面,它的電晶體數量為 54 億。因為儲存、計算和通訊都是在這 4096 個神經突觸核中各自處理的,所以 TrueNorth 避開了馮·諾依曼架構的瓶頸,而且能效非常高,功耗為 70 mW,大約是傳統微處理器的功率密度的萬分之一(來自維基百科)。

IBM 之前還在批評脈衝神經網路(spiking neural network)無法適配深度學習,現在 IBM 開發了一種在 TureNorth 上執行 CNN 的新演算法。

這些神經元不會在每個週期內都放電,脈衝神經網路中的神經元必須逐漸積累它們的電勢,然後才能放電……深度學習專家普遍認為脈衝神經網路在深度學習上沒有效率——至少和卷積神經網路比起來是這樣。Facebook 人工智慧研究院主任和深度學習先驅 Yann LeCun 曾經批評過 IBM 的 TureNorth 晶片,因為它主要支援脈衝神經網路……

……這種神經形態晶片不會太激動人心,因為它們注重的脈衝神經網路在深度學習領域並不受歡迎。

為了讓 TrueNorth 晶片很好地契合深度學習,IBM 不得不開發了一種新演算法,讓卷積神經網路可以在這款神經形態計算硬體上很好地執行。這種組合方法實現了 IBM 所謂的「接近當前最佳」的分類準確度,實驗涉及了視覺和語音挑戰賽方面的 8 個資料集。在最好的情況下,它們的準確度達到了 65% 到 97%。

當只使用一塊 TrueNorth 晶片時,它只在這 8 個資料集中的 1 個資料集上超越了當前最佳的準確度。但如果使用多達 8 塊晶片,IBM 的研究者可以極大提升這款硬體在深度學習挑戰上的準確度。這使 TureNorth 可以在其中 3 個資料集上媲美或超越當前最佳的準確度。

這個 TureNorth 測試也做到了每秒處理 1200 到 2600 視訊幀。這意味著單個 TureNorth 晶片就能實時檢測來自多達 100 個同時工作的相機的資料的模式……(來自 IEEE Spectrum)

TrueNorth 的功率效率非常出色,所以非常值得考慮。

Brainchip 的脈衝神經元自適應處理器(SNAP:Spiking Neuron Adaptive Processor)

SNAP 不能做深度學習,這只是一個源於好奇心的專案,還沒有實際落地成 CNN 工程解決方案,至少現在還沒有。如果你想探索這條路,IBM 的隨機相變神經元(stochastic phase-change neurons)似乎更有意思。

蘋果的神經引擎(Neural Engine)

到底會不會有?彭博社報導稱這會是一款次級處理器,但沒有什麼細節資訊。對蘋果來說,這不僅是一個重要領域,而且也有助於與高通的競爭。

其它

1. 寒武紀(Cambricon)——中國科學院在晶片上投入的 140 萬美元。它是一個用於神經網路的指令集架構,具有資料級的並行、自定義向量/矩陣指令、片上 scratchpad memory。宣稱速度是 x86 CPU 的 91 倍,是 K40M 的 3 倍,且峰值功率僅有 1%,即 1.695W。參閱這兩篇論文:


2. 前谷歌員工創立的 Groq Inc.,也許是另一種 TPU?

3. Aimotive:https://aimotive.com/

4. Deep Vision 正在開發用於深度學習的低功耗晶片,也許這兩篇創始人的論文能提供一點線索:

5. DeepScale 

6. Reduced Energy Microsystems 正在開發用於 CNN 推理的低功耗非同步晶片。據 TechCrunch 報導,REM 是 Y Combinator 第一個 ASIC 領域的風險投資。

7. Leapmind 也很忙。

FPGA

微軟已經站隊 FPGA 了。Wired 這篇文章說得很好:《深度 |《連線》長文揭祕微軟 Project Catapult:人工智慧時代押注 FPGA》。

「Bing 佔據著世界上 20% 的桌面搜尋市場和 6% 的移動手機市場,在 Bing 上,這個晶片能幫助 Bing 適應新品種的人工智慧:深度神經網路。」

我對這種方法也有些興趣。賽靈思和英特爾(收購了 Altera)的 FPGA 是很強大的引擎。賽靈思自然宣稱他們的 FPGA 是對 INT8 最好的,他們的一份白皮書裡面包含了下面的幻燈片:

從GPU、TPU到FPGA及其它:一文讀懂神經網路硬體平臺戰局

這兩家供應商都很支援使用他們的 FPGA 做機器學習:


儘管 FPGA 單位功耗的效能是很出色的,但這些供應商的更大型的晶片的售價卻長時間以來都高得嚇人。賽靈思的 VU9P 在 Avnet 上的售價超過 5 萬美元。

尋找價格和能力之間的平衡點是 FPGA 的主要難題。

FPGA 方法的一大優勢是可以用來制定一些非常出色的架構決策。比如如果因為 HBM,你想在板上 DRAM 壓縮並且實時地解壓,然後希望藉此改善你的記憶體的浮點資料流,如果你足夠努力,你能找到解決方案。參閱《用於基於 FGPA 的高效能運算的浮點數值資料流的頻寬壓縮(Bandwidth Compression of Floating-Point Numerical Data Streams for FPGA-Based High-Performance Computing)》:http://dl.acm.org/citation.cfm?id=3053688

從GPU、TPU到FPGA及其它:一文讀懂神經網路硬體平臺戰局

這種動態的架構敏捷性(architectural agility)很困難,幾乎無法用其它任何方法實現。

架構選擇太多可能也是一個問題,但我自己還是挺喜歡這個問題的。這篇論文很不錯《使用 TILT 減少 Soft Scalar CPU 和定製硬體之間的效能差距(Reducing the Performance Gap between Soft Scalar CPUs and Custom Hardware with TILT)》:http://dl.acm.org/citation.cfm?id=3079757,其中研究了定製硬體和 FPGA 處理器(帶有基於 FPGA 的水平微編碼的計算引擎)的效能差距,這讓人想起了古老的 DISC 和很多個月前的離散指令集計算機(discrete instruction set computer)。

從GPU、TPU到FPGA及其它:一文讀懂神經網路硬體平臺戰局

從GPU、TPU到FPGA及其它:一文讀懂神經網路硬體平臺戰局

誰是贏家?

在這樣的競爭中,預測誰是贏家是傻瓜的舉動。高通憑藉其手機市場的主導地位,可以輕鬆進入贏家榜單。蘋果不管做什麼都會成功的。英偉達的 V100 有 Tensor 單元,也基本上贏了。我不確定我能否看到谷歌的 TPU 在無休止的長期矽谷競賽中倖存下來,儘管目前它的效能很出色。我很喜歡 FPGA 方法,但我也不禁想他們應該以遠遠更低的價格釋出 DNN 版本,這樣才不會被大眾漠視。英特爾和 AMD 會做自己的協處理器。因為所有主要玩家都參戰了,所以其中很多都會支援標準的工具包,比如 TensorFlow,這樣我們就不必太在意規格了,關心基準就可以了。

在更小型的玩家中,我很喜歡而且支援的是 Adapteva 方法,我認為他們的記憶體架構可能並不適合 DNN。我希望我錯了。

Wave Computing 可能是我繼 FPGA 之後最喜歡的方法。他們的整個非同步資料流方法是非常棒的。REM 似乎也在做類似的事情;但我認為他們可能太遲了。Wave Computing 能否在面對所有競爭對手時繼續保持領先嗎?也許只要他們的非同步 CGRA 有一個本質優勢,就可以。儘管我不確定他們是否只要 DNN 上的成功,因為他們的技術有更加廣泛的應用能力。

神經形態脈衝處理器也許現在暫時可以忽略,但也可以保持關注,因為它們有很大的功耗優勢。量子計算反正會讓所有這些都稍遜風騷。IBM 的 TrueNorth 可能會是個例外,因為它不僅能執行脈衝網路,還能有效地執行 DNN。 

原文連結:https://meanderful.blogspot.jp/2017/06/fpgas-and-ai-processors-dnn-and-cnn-for.html

相關文章