從GPU、TPU到FPGA及其它:一文讀懂神經網絡硬件平臺戰(zhàn)局
在如今深度學習大爆發(fā)的時代,相關的硬件平臺也在百花齊放,既有英偉達和谷歌這樣的科技巨頭,也有地平線機器人和 Graphcore 等創(chuàng)業(yè)公司——它們都各自提出了自己的解決方案。近日,多家公司的技術顧問 Matt Hurd 在其博客上發(fā)表了一篇全面評點各種神經網絡硬件平臺的長文,本文進行了編譯介紹。
這是我?guī)字芮白龅囊粋€傳統(tǒng)的 90 年代風格的性別識別神經網絡的很好的隱藏節(jié)點。
一個簡單的性別識別器網絡中的 90 年代風格的隱藏節(jié)點圖像
我的碩士項目是一種類似級聯(lián)相關(cascade correlation)的神經網絡 Multi-rate Optimising Order Statistic Equaliser(MOOSE:多速率優(yōu)化順序統(tǒng)計均衡器),可用于日內的 Bund(國庫債券產品)交易。MOOSE 曾經是為獲取高速的 LEO 衛(wèi)星信號(McCaw 的 Teledesic)而設計的一點成果,后來在從 LIFFE 遷移到 DTB 時將目標轉向了 Bund。作為一家投資銀行的職業(yè)交易員,我可以購買很好的工具。我有那時候世界上最快的計算機:一個 IBM MicroChannel dual Pentium Pro 200MHz 處理器外加帶有幾 MB RAM 的 SCSI。在 1994 年那會兒,將 800,000 個數據點輸入到我的 C++ stream/dag 處理器中看上去就像是黑魔法。有限差分方法讓我可以做許多 O(1) 增量線性回歸這樣的運算,以獲得 1000 倍的加速。那時候這看起來已經很好了?,F(xiàn)在,你的手機都能嘲笑我的大方向。
那時候,在神經網絡領域有很多研究。倒不是說它有過人的生產力,只是因為有用。讀到 Lindsay Fortado 和 Robin Wigglesworth 的 FT 文章《Machine learning set to shake up equity hedge funds》中 Eric Schmidt 關于機器學習和交易的看法,還真有點讓人高興:
Eric Schmidt 是谷歌母公司 Alphabet 的執(zhí)行董事長,他上周對一眾對沖基金經理說他相信在 50 年內,所有交易都會有計算機解讀數據和市場信號。 「我期待出現(xiàn)在交易方面做機器學習的創(chuàng)業(yè)公司,看看我描述的這種模式識別能否比數據分析專家的傳統(tǒng)線性回歸算法做得更好?!顾a充說,「我這個行業(yè)內的許多人都認為這注定將成為一種新的交易形式。」 |
老朋友 Eric,我在 90 年代早期就已經算是遲到了,你真是有點后知后覺。
好吧,現(xiàn)在情況已經不同了。我喜歡思考它,并喜歡將神經網絡的這次新復興稱為感知時代(The Age of Perception)。這并不是智能,只是擅長模式而已。它仍然無力應對語言歧義。它還要一些時間才能理解基本的價值和概念,從而形成深刻的金融理解。
深度學習既被夸大了,也被低估了。這不是智能,但會有助于幫我們實現(xiàn)智能。一些人將其夸大為將會給我們帶來替代人的類人機器的人工智能突破。我們仍然還受困于常識以及用于推理的簡單文本中的歧義。我們還有很長的路要走。相對簡單的規(guī)劃算法和啟發(fā)式方法以及基于神奇的深度學習的視覺、聲音、文本、雷達等等的感知能力將會帶來深刻的影響,就像是每個人和他們的狗現(xiàn)在理解的那樣。所以我叫它「感知時代」。就好像是我們口袋里的超級計算機突然有了眼睛,并且快速適應了真實世界所帶來的閃光性致盲。
深度學習將會帶來巨大的影響,并且將會改變這顆行星上全人類的生活方式。但我們低估了其對我們的危險。不,我們不會和能激起或挑戰(zhàn)我們最深刻的思想的深度圖靈對話者約會——還不會。這將不可避免地到來,但在可見的未來里還不可見。借助語音、文本和 Watson 那樣的數據庫的智能代理可以實現(xiàn)非常先進的 Eliza,但不會更先進了。自動化運輸、食物生產、建筑、協(xié)助家事將會極大地改變人們的生活方式和不動產的價值。
除了這些泛泛之談,本文的目的是收集一些關于芯片的思想見解——它們驅動著當前的神經網絡革命。其中很多見解都不是最為激動人心的,但這對我來說是一個有用的鍛煉。
神經網絡硬件
與 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 協(xié)處理器、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。另外還有一些模擬和混合模擬的實現(xiàn),包括英特爾的電氣式可訓練模擬神經網絡(801770NX)。你懂我要表達的意思了,那時候的東西還真是多。
這在 1994 年迎來了一次爆發(fā):
樂觀的摩爾定律告訴我們,TeraCPS 即將實現(xiàn):
「未來十年,微電子很可能將繼續(xù)主導神經網絡實現(xiàn)的領域。如果進展和過去進步得一樣快,那就意味著神經計算機的性能將會增長大約 2 個數量級。因此,神經計算機將會接近 TeraCPS(10^12 CPS)的性能。由 100 萬個節(jié)點(每個節(jié)點有大約 1000 個輸入)組成的網絡可以達到大腦的計算速度(100-1000 Hz)。這將能為實驗合理巨大的網絡提供良好的機會?!?/td> |
由于 Minsky 和 Papert 對隱藏層的不正確簡單概括,打擊了 Rosenblatt 的感知器夢想并最終導致了他不幸的死亡,神經網絡研究遭遇了第一個冬天,研究資金被殘酷地撤銷了。1995 年,又出現(xiàn)了另一次神經網絡冬天,盡管那時候我其實并不知道。作為溫水鍋里的一只青蛙,我沒有注意到正在加熱。第二個冬天的主要原因是缺乏激動人心的進展,讓人們普遍感到無聊了。
到了 2012 年,多虧了 Geoffrey Hinton 的冬季生存技能,多倫多大學基于 AlexNet 開發(fā)的 SuperVision 在 ImageNet 處理上實現(xiàn)了極大的提升,第二個神經網絡冬天也由此終結了。之后谷歌的 LeNet Inception 模型在 2014 年打破了它的記錄。所以據我估計,感知時代始于 2012 年。將它記在你的日歷里面吧,五年已經過去了。
谷歌在幾千臺普通機器上進行了出色的并行 CPU 有損更新研究。吳恩達教授和他的朋友們讓數十臺 GPU 就能完成數千臺 CPU 的工作,從而讓規(guī)?;蔀榱丝赡?。因此,我們從需要很好的資助的神經處理前景中解放了出來。好吧,或多或少吧,現(xiàn)在最先進的網絡有時候需要數千臺 GPU 或專用芯片。
更多數據和更多處理能力是其中的關鍵。讓我們進入本文的重點,列出一些感知時代大數據之戰(zhàn)中的一些關鍵平臺:
英偉達的 GPU
這一家是很難被戰(zhàn)勝的。來自大型視頻處理市場的收益驅動著巨大的規(guī)模經濟。新款英偉達 V100 帶有一種新的 Tensor Core 架構,速度可達 15 TFlops(單精度/SP)或 120 TFlops(浮點精度,其中帶有 FP16 的乘法和 FP32 的累加或加法,非常適合機器學習)。英偉達在它們的 DGX-1 中裝入了 8 塊計算卡,速度可達 960 Tensor TFlops.
AMD 的 GPU
在機器學習領域,AMD 一直是英偉達的追趕者。即將發(fā)布的 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 贏得了與李世石的圍棋大戰(zhàn)。據描述,原來的 700 MHz TPU 有 95 TFlops 的 8 位計算能力或 23 TFlops 的 16 位計算能力,同時功耗僅有 40W。這可比當時的 GPU 快得多,但現(xiàn)在落后于英偉達的 V100;但在單位功耗的計算能力上,TPU 并沒落后。據稱新的 TPU2 是一款帶有 4 塊芯片的 TPU 設備,速度可達到 180 TFlops 左右。每塊芯片的性能都翻倍了,達到了 45 TFlops 的 16 位計算能力。你可以看到與英偉達 V100 的差距正在變小。你沒法買到 TPU 或 TPU2。谷歌正在通過它們的云提供這些 TPU 服務,包含 64 臺設備的 TPU pod 速度高達 11.5 PetaFlops。TPU2 上巨大的散熱片說明了一些原因,但市場正在發(fā)生變化——從單獨的設備轉向了設備的組合以及將這些組合以云的形式提供。
Wave Computing
Wave 之父澳洲人 CTO Chris Nicol 博士的成果斐然,領導開發(fā)了 Wave 的 Compute Appliance 中的異步數據流處理器(asynchronous data flow processor)。幾年前,Metamako 的創(chuàng)始人 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 可以執(zhí)行 1 位、8 位、16 位和 32 位計算:
算術單元是分區(qū)的。它們可以并行執(zhí)行 8 位運算(完美適用于 DNN 推理)以及 16 位和 32 位運算(或以上的任何組合)。也可以執(zhí)行一些 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 時自動執(zhí)行。 |
對于 TensoFlow 指令:
- Wave DNN Library 團隊為 TensorFlow 等工作流程中所使用的常見 DNN 函數創(chuàng)建了預編譯的可重新定位的 kernel。它們可以被組合到 Agent 中并且可以被實例化成機器,以構建大型的張量數據流圖和 DNN kernel。
- ……一個可與 TensorFlow、CNTK、Caffe 和 MXNet 等機器學習工作流程交互的 session 管理器,可作為用于訓練和推理的工作器過程(worker process)。這些工作流程可為工作器過程提供張量的數據流圖。在運行時,Wave 的 session 管理器會分析數據流圖并將這些軟件智能體放置到 DPU 芯片中,然后將它們連接起來以構建數據流圖。這些軟件智能體會被分配用于輸入緩沖和本地存儲的全局內存區(qū)域。CGRA kernel 的靜態(tài)本質和分布式的內存架構可以讓一個性能模型準確估計智能體的延遲。session 管理器可使用該性能模型來在智能體之間插入 FIFO 緩沖,這有助于 DPU 中通信和計算的重疊。這個可變智能體支持穿過整個圖的數據流的軟件流程,從而可以進一步增加并發(fā)性和性能。這個 session 管理器可以監(jiān)控數據流圖運行時的性能(通過監(jiān)控卡頓、緩沖區(qū)下溢出和/或上溢出),并且可以動態(tài)地調節(jié) FIFO 緩沖區(qū)的大小以實現(xiàn)吞吐量的最大化。在附加了 DPU 的處理器中,有一個分布式運行時管理系統(tǒng)會在運行時安裝和卸載數據流圖的一些部分,從而平衡計算和內存的使用量。這種在數據流計算機中的數據流圖上的運行時重新配置還是有史以來第一次。
是的,我也覺得非常酷。這個平臺的驚人之處是它在架構方面比 FPGA 更加粗粒度,因此靈活性更低,但卻很可能表現(xiàn)更好。非常有意思。
KnuEdge 的 KnuPath
在 2016 年 6 月時我在 Twitter 上談過 KnuPath。那以后他們的產品頁面卻失蹤了。我不確定他們要把那 1 億美元如何用到他們的 MIMD 架構上。那時候他們向我這樣描述的:每個 ASIC 中有 256 個微型 DSP(即 tDSP)核以及一個 ARM 控制器,適用于 35W 包絡中的稀疏矩陣處理。
它的性能未知,但他們把自己的芯片與一款當時的英偉達芯片進行了比較,那時候他們說實現(xiàn)了 2.5 倍的性能。我們知道英偉達現(xiàn)在憑借 Tensor 內核已經提速了十倍以上,所以 KnuEdge 還要努力才能跟上節(jié)奏。MIMD 或 DSP 方法必須要得到非常好的效果才能在這一領域占據一席之地。時間會給我們答案。
英特爾的 Nervana
Nervana Systems 曾經除了開發(fā)他們的 Nervana Engine ASIC,還開發(fā)著一種 GPU/軟件方法,后來英特爾收購了這家公司。性能比較方面還不清楚。英特爾也在規(guī)劃通過一個 Knights Crest 項目將其集成到 Phi 平臺中。NextPlatform 認為其 2017 年在 28nm 節(jié)點上的目標是在某個位寬的運算速度達到 55 TOPS/s。英特爾還安排一個 NervanaCon,將在 12 月份舉辦,所以那時候我們也許將能看到他們的第一批成果。
地平線機器人
這家中國創(chuàng)業(yè)公司正在研發(fā)一種大腦處理單元(BPU:Brain Processing Unit)。余凱博士是正規(guī)軍出身,他曾是百度深度學習研究院的負責人。今年早些時候,一段 YouTube 視頻演示了基于 Arria 10 FPGA 的 BPU 仿真:
https://youtu.be/GI9U9lUFaDo。目前關于這一平臺的公開消息還很少。
Eyeriss
Eyeriss 是 MIT 的一個項目,開發(fā)出了一款具有出色原始性能表現(xiàn)的 64nm ASIC。在 AlexNet 上,這款芯片的速度大約是英偉達 TK1 的一半。其優(yōu)勢在于借助于其行固定(row stationary)方法,僅需要一個 278mW 的可重新配置加速器就能實現(xiàn)這樣中規(guī)中矩的性能。贊。
Graphcore
去年 Graphcore 拿到了 3000 萬美元的 A 輪融資,以開發(fā)他們的智能處理單元(IPU: Intelligence Processing Unit)。他們的網站還缺少細節(jié),只是給出了一些亮眼的事實,比如多于 14000 個獨立的處理器線程和大于 100 倍的內存帶寬。根據 NextPlatform 報道的零星信息,其在一塊芯片上具有多于 1000 個真實內核,并且采用了定制的互連方式。它的 PCIe 板具有一個 16 個處理器的元件。聽起來似乎是數據流。拋開公關的言論,這個團隊確實有很強的背景,而且投資者也不并不傻,所以就拭目以待吧。
Tenstorrent
Tenstorrent 是加拿大多倫多的一家小創(chuàng)業(yè)公司,它宣稱在深度學習的效率上實現(xiàn)了一個數量級的提升,和大多數公司一樣,還沒有什么公開的細節(jié),但該公司入選了 Cognitive 300 榜單。
Cerebras
Cerebras 值得一提,因為它得到了 Benchmark 的支持,而且其創(chuàng)始人是 SeaMicro 的 CEO。它似乎已經融資 2500 萬美元了,而且仍然處于隱身模式。
Thinci
Thinci 正在美國薩克拉門托開發(fā)視覺處理器,并且在印度也有員工。他們宣稱即將推出他們的第一款硅芯片 Thinci-tc500,而且已經開始進行標準評測和贏得客戶了。但除了「一切都并行處理」之外,我們所知甚少。
Koniku
Koniku 的網站正在倒計時,現(xiàn)在還有 20 幾天。我已經等不及了。他們沒有融到多少錢,而看過它們在福布斯上的這個視頻之后(https://goo.gl/VA1PJx),你很可能也不得不相信他們,但你也無法預料究竟會如何。利用生物細胞肯定是不一樣的。聽起來就像是一個科研項目,但他們這樣說:
「我們是一個企業(yè)。我們不是一個科研項目?!瓜轮軐⒃诰S也納的 Pioneers Festival 上發(fā)表演講的 Agabi 這樣說,「今天有些需求是硅所不能滿足的,而我們可以通過我們的系統(tǒng)提供?!?/p>
Koniku 提供的核心是所謂的神經元殼(neuron-shell),這家創(chuàng)業(yè)公司稱其內部可以控制神經元彼此通信的方式,加上一種正在申請專利的電極,就可以在神經元上讀寫信息。所有這些都可以裝在一個 iPad 大小的設備里,他們還希望能在 2018 年之前將其減小到一枚五美分硬幣大小。
Adapteva
Adapteva 是我最喜歡的一家小技術公司,正如你在之前文章《Adapteva tapes out Epiphany-V:一款 1024 核 64 位 RISC 處理器》:https://goo.gl/6ZH7JP。去年年底時 Andreas Olofsson 拿出了他的 1024 核芯片,我們都等著看它的性能表現(xiàn)。Epiphany-V 有用于深度學習的新指令,我們必須要看看這種帶有 64MB 片上內存的更少內存控制器的設計是否具有合適的擴展能力。Andrea 的設計和構建的出色效率可能能讓我們真正負擔得起這種芯片,所以讓我們希望它有良好的表現(xiàn)吧。
Knowm
Known 研究的是 Anti-Hebbian and Hebbian(AHaH)可塑性和憶阻器。這里有篇覆蓋這一主題的論文《AHaH 計算:從 Metastable Switches 到 Attractors 到機器學》:https://doi.org/10.1371/journal.pone.0085175。這對我來說有點太高級了。簡單看了看,我看不出這項技術和胡言亂語的區(qū)別,但看起來確實科學味道十足。我需要親眼看到才能相信。神經憶阻式處理器(neuromemristive processor)的思想是很有趣的。我早上確實需要一個好的流行術語。
Mythic
Mythic 的一款電池驅動的神經芯片具有低 50 倍的功耗。目前還看不到太多真正的細節(jié)。這款芯片大約紐扣大小,但大多數芯片不都這樣嗎?
「Mythic 的平臺能在紐扣大小的芯片上提供桌面 GPU 的性能?!?/p>
也許這又是一款適合無人機和手機的芯片,很可能被用在手機中,也可能被排除在外。
高通
手機顯然是機器學習硬件的一大用武之地。我們希望能夠識別狗的品種、花朵、樹葉、癌癥痣、翻譯標識、理解口語等等。我們口袋里的超級計算機愿意用上它能得到的所有幫助,以便能邁入感知時代。高通一直以來都在鼓搗機器學習,推出了 Zeroth SDK 和 Snapdragon 神經處理引擎(NPE)。這種 NPE 顯然在高通所用的 Hexagon DSP 上效果良好。
Hexagon DSP 已經遠遠不止是一個非常廣泛的并行平臺了,Yann LeCun 已經證實高通和 Facebook 正在合作開發(fā)一種更好的方法,參見 Wired 的文章《業(yè)界 | 谷歌 TPU 之后還有高通,人工智能芯片競賽已經展開》:
最近,高通已經開始制造執(zhí)行神經網絡的專用芯片,這條消息來自 LeCun,因為 Facebook 正幫助高通開發(fā)機器學習相關技術,所以他對高通的計劃很了解;高通技術副總裁 Jeff Gehlhaar 證實了這個項目,他說:『在原型設計和開發(fā)方面,我們還有很長的路要走。』 |
也許我們很快就會看到 Kryo CPU、Adreno GPU、Hexagon DSP 和 Hexagon Vector Extensions 之外的其它東西。對于這一領域的創(chuàng)業(yè)公司來說,和高通的機器學習競爭將會艱難無比。
Pezy-SC 和 Pezy-SC2
這兩者是 Pezy 開發(fā)的 1024 核和 2048 核處理器。Pezy-SC 1024 核芯片可以驅動 2015 年 Green500 超級計算機榜單的前三名的系統(tǒng)。Pezy-SC2 是現(xiàn)在已經開始提供的后續(xù)芯片,我在 6 月份也做過關于它的演講,但相關細節(jié)還很少,不過仍然很吸引人:
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 系統(tǒng)拿到了頭把交椅,而排名第 7 的是一個 Pezy-SC2 系統(tǒng)。所以看起來這款芯片還活著,但相關細節(jié)卻很少。Motoaki Saito(齊藤元章)當然值得一看。
Kalray
盡管做了很多承諾,但 Kalray 的芯片還沒有超過 256 核,我在 2015 年的一篇文章就談到:https://goo.gl/pxqn7Z。Kalray 宣傳自己的產品說是適合嵌入式自動駕駛汽車應用,但我覺得其目前產品架構的形式并不是一種完美的 CNN 平臺。Kalray 有一個 Kalray Neural Network(KaNN)軟件包并且宣稱有比 GPU 更好的效率,在芯片上能實現(xiàn)高達 1 TFlop/s 的速度。
隨著即將到來的產品更新,Kalray 的神經網絡財富可能還會提升,就在這個月 Kalray 完成了新一輪 2600 萬美元的融資。他們新的 Coolidge 處理器預計將在 2018 年年中上市,它會帶有 80 或 160 個核,另外還有 80 或 160 個為視覺和深度學習優(yōu)化的協(xié)處理器。
這在他們的多于 1000 核的方法上有了很大的改變,而我認為這是最明智的。
IBM TrueNorth
TrueNorth 是 IBM 的神經形態(tài) CMOS ASIC,是與 DARPA 的 StNAPSE 項目一起開發(fā)的。
這是一種單個芯片設計上的多核處理器網絡,具有 4096 個核,每個核模擬 256 個可編程的硅「神經元」,總共就超過了 100 萬個神經元。另外,每個神經元還有 256 個可編程的「突觸」,信號可以在這些突觸之間傳遞。因此,可編程突觸的總是超過了 2.68 億(2^28)。在基本構建模塊方面,它的晶體管數量為 54 億。因為存儲、計算和通信都是在這 4096 個神經突觸核中各自處理的,所以 TrueNorth 避開了馮·諾依曼架構的瓶頸,而且能效非常高,功耗為 70 mW,大約是傳統(tǒng)微處理器的功率密度的萬分之一(來自維基百科)。
IBM 之前還在批評脈沖神經網絡(spiking neural network)無法適配深度學習,現(xiàn)在 IBM 開發(fā)了一種在 TureNorth 上運行 CNN 的新算法。
這些神經元不會在每個周期內都放電,脈沖神經網絡中的神經元必須逐漸積累它們的電勢,然后才能放電……深度學習專家普遍認為脈沖神經網絡在深度學習上沒有效率——至少和卷積神經網絡比起來是這樣。Facebook 人工智能研究院主任和深度學習先驅 Yann LeCun 曾經批評過 IBM 的 TureNorth 芯片,因為它主要支持脈沖神經網絡……
……這種神經形態(tài)芯片不會太激動人心,因為它們注重的脈沖神經網絡在深度學習領域并不受歡迎。 |
為了讓 TrueNorth 芯片很好地契合深度學習,IBM 不得不開發(fā)了一種新算法,讓卷積神經網絡可以在這款神經形態(tài)計算硬件上很好地運行。這種組合方法實現(xiàn)了 IBM 所謂的「接近當前最佳」的分類準確度,實驗涉及了視覺和語音挑戰(zhàn)賽方面的 8 個數據集。在最好的情況下,它們的準確度達到了 65% 到 97%。
當只使用一塊 TrueNorth 芯片時,它只在這 8 個數據集中的 1 個數據集上超越了當前最佳的準確度。但如果使用多達 8 塊芯片,IBM 的研究者可以極大提升這款硬件在深度學習挑戰(zhàn)上的準確度。這使 TureNorth 可以在其中 3 個數據集上媲美或超越當前最佳的準確度。
這個 TureNorth 測試也做到了每秒處理 1200 到 2600 視頻幀。這意味著單個 TureNorth 芯片就能實時檢測來自多達 100 個同時工作的相機的數據的模式……(來自 IEEE Spectrum)
TrueNorth 的功率效率非常出色,所以非常值得考慮。
Brainchip 的脈沖神經元自適應處理器(SNAP:Spiking Neuron Adaptive Processor)
SNAP 不能做深度學習,這只是一個源于好奇心的項目,還沒有實際落地成 CNN 工程解決方案,至少現(xiàn)在還沒有。如果你想探索這條路,IBM 的隨機相變神經元(stochastic phase-change neurons)似乎更有意思。
蘋果的神經引擎(Neural Engine)
到底會不會有?彭博社報道稱這會是一款次級處理器,但沒有什么細節(jié)信息。對蘋果來說,這不僅是一個重要領域,而且也有助于與高通的競爭。
其它
1. 寒武紀(Cambricon)——中國科學院在芯片上投入的 140 萬美元。它是一個用于神經網絡的指令集架構,具有數據級的并行、自定義向量/矩陣指令、片上 scratchpad memory。宣稱速度是 x86 CPU 的 91 倍,是 K40M 的 3 倍,且峰值功率僅有 1%,即 1.695W。參閱這兩篇論文:
- Cambricon-X:一個用于稀疏神經網絡的加速器: http://cslt.riit.tsinghua.edu.cn/mediawiki/images/f/f1/Cambricon-X.pdf
- Cambricon:一個用于神經網絡的指令集架構 s:http://dl.acm.org/citation.cfm?id=3001179
2. 前谷歌員工創(chuàng)立的 Groq Inc.,也許是另一種 TPU?
3. Aimotive:https://aimotive.com/
4. Deep Vision 正在開發(fā)用于深度學習的低功耗芯片,也許這兩篇創(chuàng)始人的論文能提供一點線索:
- Convolution Engine: Balancing Efficiency & Flexibility in Specialized Computing [2013]:http://csl.stanford.edu/~christos/publications/2013.convolution.isca.pdf
- Convolution Engine: Balancing Efficiency and Flexibility in Specialized Computing [2015]:http://csl.stanford.edu/~christos/publications/2015.convolution_engine.cacm.pdf
5. DeepScale
6. Reduced Energy Microsystems 正在開發(fā)用于 CNN 推理的低功耗異步芯片。據 TechCrunch 報道,REM 是 Y Combinator 第一個 ASIC 領域的風險投資。
7. Leapmind 也很忙。
FPGA
微軟已經站隊 FPGA 了。Wired 這篇文章說得很好:《深度 |《連線》長文揭秘微軟 Project Catapult:人工智能時代押注 FPGA》。
Bing 占據著世界上 20% 的桌面搜索市場和 6% 的移動手機市場,在 Bing 上,這個芯片能幫助 Bing 適應新品種的人工智能:深度神經網絡。 |
我對這種方法也有些興趣。賽靈思和英特爾(收購了 Altera)的 FPGA 是很強大的引擎。賽靈思自然宣稱他們的 FPGA 是對 INT8 最好的,他們的一份白皮書里面包含了下面的幻燈片:
這兩家供應商都很支持使用他們的 FPGA 做機器學習:
- Xilinx - Acceleration Zone:https://goo.gl/KheG5W
- Intel FPGA OpenCL(https://goo.gl/S62fMA)和 Solutions(https://goo.gl/zkYyXB)
盡管 FPGA 單位功耗的性能是很出色的,但這些供應商的更大型的芯片的售價卻長時間以來都高得嚇人。賽靈思的 VU9P 在 Avnet 上的售價超過 5 萬美元。
尋找價格和能力之間的平衡點是 FPGA 的主要難題。
FPGA 方法的一大優(yōu)勢是可以用來制定一些非常出色的架構決策。比如如果因為 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。
這種動態(tài)的架構敏捷性(architectural agility)很困難,幾乎無法用其它任何方法實現(xiàn)。
架構選擇太多可能也是一個問題,但我自己還是挺喜歡這個問題的。這篇論文很不錯《使用 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)。
誰是贏家?
在這樣的競爭中,預測誰是贏家是傻瓜的舉動。高通憑借其手機市場的主導地位,可以輕松進入贏家榜單。蘋果不管做什么都會成功的。英偉達的 V100 有 Tensor 單元,也基本上贏了。我不確定我能否看到谷歌的 TPU 在無休止的長期硅谷競賽中幸存下來,盡管目前它的性能很出色。我很喜歡 FPGA 方法,但我也不禁想他們應該以遠遠更低的價格發(fā)布 DNN 版本,這樣才不會被大眾漠視。英特爾和 AMD 會做自己的協(xié)處理器。因為所有主要玩家都參戰(zhàn)了,所以其中很多都會支持標準的工具包,比如 TensorFlow,這樣我們就不必太在意規(guī)格了,關心基準就可以了。
在更小型的玩家中,我很喜歡而且支持的是 Adapteva 方法,我認為他們的內存架構可能并不適合 DNN。我希望我錯了。
Wave Computing 可能是我繼 FPGA 之后最喜歡的方法。他們的整個異步數據流方法是非常棒的。REM 似乎也在做類似的事情;但我認為他們可能太遲了。Wave Computing 能否在面對所有競爭對手時繼續(xù)保持領先嗎?也許只要他們的異步 CGRA 有一個本質優(yōu)勢,就可以。盡管我不確定他們是否只要 DNN 上的成功,因為他們的技術有更加廣泛的應用能力。
神經形態(tài)脈沖處理器也許現(xiàn)在暫時可以忽略,但也可以保持關注,因為它們有很大的功耗優(yōu)勢。量子計算反正會讓所有這些都稍遜風騷。IBM 的 TrueNorth 可能會是個例外,因為它不僅能執(zhí)行脈沖網絡,還能有效地運行 DNN。
原文:https://meanderful.blogspot.jp/2017/06/fpgas-and-ai-processors-dnn-and-cnn-for.html
【本文是51CTO專欄機構“機器之心”的原創(chuàng)譯文,微信公眾號“機器之心( id: almosthuman2014)”】