深度學習全稱深度神經網絡,,本質上是多層次的人工神經網絡算法,,即模仿人腦的神經網絡,從最基本的單元上模擬了人類大腦的運行機制,。近年來,,其所取得的前所未有的突破掀起了人工智能新一輪的發(fā)展熱潮,。
最早的神經網絡的思想起源于 1943 年的 MCP 人工神經元模型,當時是希望能夠用計算機來模擬人的神經元反應的過程,,但直到最近,,它才真正讓人工智能火起來。主要原因在于:算法的突破,、數據量的激增和計算機能力/成本的下降,。其中計算能力的提升的作為人工智能實現(xiàn)的物理基礎,對人工智能發(fā)展的意義不言而喻。
本文我們就來分析目前主流的深度學習芯片的優(yōu)缺點,。
CPU 不適合深度學習
深度學習與傳統(tǒng)計算模式最大的區(qū)別就是不需要編程,,它是從輸入的大量數據中自發(fā)地總結出規(guī)律,而傳統(tǒng)計算模式更多都需要人為提取所需解決問題的特征或者總結規(guī)律來進行編程,。也正因為如此,,深度學習對計算能力要求非常高,以至于有人將深度學習稱之為“暴力計算”,。
因此,,傳統(tǒng)的 CPU 并不適用于深度學習。
從內部結構上來看,,CPU 中 70%晶體管都是用來構建 Cache(高速緩沖存儲器)和一部分控制單元,,負責邏輯運算的部分(ALU 模塊)并不多??刂茊卧饶K的存在都是為了保證指令能夠一條接一條的有序執(zhí)行,。
這種通用性結構對于傳統(tǒng)的編程計算模式非常適合,但對于并不需要太多的程序指令,,卻需要海量數據運算的深度學習的計算需求,,這種結構就顯得有心無力了。
GPU 深度學習主流芯片
與 CPU 少量的邏輯運算單元相比,,GPU 整個就是一個龐大的計算矩陣,,GPU 具有數以千計的計算核心、可實現(xiàn) 10-100 倍應用吞吐量,,而且它還支持對深度學習至關重要的并行計算能力,,可以比傳統(tǒng)處理器更加快速,大大加快了訓練過程,。GPU 是目前最普遍采用的深度學習運算單元之一,。
目前,谷歌,、Facebook,、微軟、Twitter 和百度等互聯(lián)網巨頭,,都在使用 GPU 作為其深度學習載體,,讓服務器學習海量的照片、視頻,、聲音文檔,,以及社交媒體上的信息,來改善搜索和自動化照片標記等各種各樣的軟件功能,。而某些汽車制造商也在利用這項技術開發(fā)無人駕駛汽車,。
不過,,由于 GPU 的設計初衷是為了應對圖像處理中需要大規(guī)模并行計算。因此,,根據樂晴智庫介紹,,其在應用于深度學習算法時有數個方面的局限性:
第一, 應用過程中無法充分發(fā)揮并行計算優(yōu)勢,。深度學習包含訓練和應用兩個計算環(huán)節(jié),,GPU 在深度學習算法訓練上非常高效,但在應用時一次性只能對于一張輸入圖像進行處理,, 并行度的優(yōu)勢不能完全發(fā)揮,。
第二, 硬件結構固定不具備可編程性,。深度學習算法還未完全穩(wěn)定,,若深度學習算法發(fā)生大的變化,GPU 無法靈活的配置硬件結構,。
另外,,在能耗上面,雖然 GPU 要好于 CPU,,但其能耗仍舊很大。
備受看好的 FPGA
FPGA,,即現(xiàn)場可編輯門陣列,,是一種新型的可編程邏輯器件,由于其具有靜態(tài)可重復編程和動態(tài)在系統(tǒng)重構的特性,,使得硬件的功能可以像軟件一樣通過編程來修改,。
FPGA 作為人工智能深度學習方面的計算工具,主要原因就在于其本身特性:可編程專用性,,高性能,,低功耗。
北京大學與加州大學的一個關于 FPGA 加速深度學習算法的合作研究,。展示了 FPGA 與 CPU 在執(zhí)行深度學習算法時的耗時對比,。在運行一次迭代時,使用 CPU 耗時 375 毫秒,,而使用 FPGA 只耗時 21 毫秒,,取得了 18 倍左右的加速比。
根據瑞士蘇黎世聯(lián)邦理工學院 (ETHZurich) 研究發(fā)現(xiàn),,基于 FPGA 的應用加速比 CPU/GPU 方案,,單位功耗性能可提升 25 倍,而時延則縮短了 50 到 75 倍,,與此同時還能實現(xiàn)出色的 I/O 集成,。而微軟的研究也表明,,F(xiàn)PGA 的單位功耗性能是 GPU 的 10 倍以上,由多個 FPGA 組成的集群能達到 GPU 的圖像處理能力并保持低功耗的特點,。
根據英特爾預計,,到 2020 年,將有 1/3 的云數據中心節(jié)點采用 FPGA 技術,。
不可估量的 ASIC
ASIC(Application Specific Integrated Circuits,,專用集成電路),是指應特定用戶要求或特定電子系統(tǒng)的需要而設計,、制造的集成電路,。ASIC 用于專門的任務,比如去除噪聲的電路,,播放視頻的電路,,但是 ASIC 明顯的短板是不可更改任務。但與通用集成電路相比,,具有以下幾個方面的優(yōu)越性:體積更小,、功耗更低、可靠性提高,、性能提高,、保密性增強、成本降低,。
從算力上來說,,ASIC 產品的計算能力是 GK210 的 2.5 倍。功耗上,,ASIC 功耗做到了 GK210 的 1/15,。
當然 ASIC 是能效最高的,但目前,,都在早期階段,,算法變化各異。想搞一款通用的 ASIC 適配多種場景,,還是有很多路需要走的,。但從比特幣挖礦機經歷的從 CPU、GPU,、FPGA 到最后 ASIC 的四個階段來推論,,ASIC 將是人工智能發(fā)展的重要趨勢之一。另外,,在通信領域,,F(xiàn)PGA 曾經也是風靡一時,但是隨著 ASIC 的不斷發(fā)展和蠶食,,F(xiàn)PGA 的份額和市場空間已經岌岌可危,。
據了解,,谷歌最近曝光的專用于人工智能深度學習計算的 TPU,其實也是一款 ASIC,。