2020人工智能Ai芯片前言解讀

芯片的概念:(半導體元件產品的統稱)集成電路,縮寫作 IC;或稱微電路、微芯片、晶片/芯片,在電子學中是一種把電路(主要包括半導體設備,也包括被動組件等)小型化的方式,並時常製造在半導體晶圓表面上。

專業地講就是:將電路製造在半導體芯片表面上的集成電路又稱薄膜(thin-film)集成電路。另有一種厚膜(thick-film)集成電路(hybrid integrated circuit)是由獨立半導體設備和被動組件,集成到襯底或線路板所構成的小型化電路

人工智能(Artificial Intelligence,AI)芯片的定義:從廣義上講只要能夠運行人工智能算法的芯片都叫作 AI 芯片。但是通常意義上的 AI 芯片指的是針對人工智能算法做了特殊加速設計的芯片,現階段,這些人工智能算法一般以深度學習算法爲主,也可以包括其它機器學習算法。

AI芯片也被稱爲AI加速器或計算卡,即專門用於處理人工智能應用中的大量計算任務的模塊(其他非計算任務仍由CPU負責)。當前,AI芯片主要分爲GPUFPGAASIC

人工智能芯片四大類(按技術架構分類):

1、通用芯片(GPU)。
GPU是單指令、多數據處理,採用數量衆多的計算單元和超長的流水線,主要處理圖像領域的運算加速。
GPU是不能單獨使用的,它只是處理大數據計算時的能手,必須由CPU進行調用,下達指令才能工作。
但CPU可單獨作用,處理複雜的邏輯運算和不同的數據類型,但當需要處理大數據計算時,則可調用GPU進行並行計算。
2、半定製化芯片(FPGA)。
FPGA適用於多指令,單數據流的分析,與GPU相反,因此常用於預測階段,如雲端。FPGA是用硬件實現軟件算法,因此在實現複雜算法方面有一定的難度,缺點是價格比較高。與 GPU 不同,FPGA 同時擁有硬件流水線並行和數據並行處理能力,適用於以硬件流水線方式處理一條數據,且整數運算性能更高,因此常用於深度學習算法中的推斷階段。不過FPGA 通過硬件的配置實現軟件算法,因此在實現複雜算法方面有一定的難度。將FPGA 和 CPU 對比可以發現兩個特點,一是 FPGA 沒有內存和控制所帶來的存儲和讀取部 分速度更快,二是 FPGA 沒有讀取指令操作,所以功耗更低。劣勢是價格比較高、編程複雜、整體運算能力不是很高。目前國內的AI 芯片公司如深鑑科技就提供基於 FPGA 的解決方案。 
3、全定製化芯片(ASIC)。
ASIC是爲實現特定場景應用要求時,而定製的專用AI芯片。除了不能擴展以外,在功耗、可靠性、體積方面都有優勢,尤其在高性能、低功耗的移動設備端。
定製的特性有助於提高 ASIC 的性能功耗比,缺點是電路設計需要定製,相對開發週期長,功能難以擴展。但在功耗、可靠性、集成度等方面都有優勢,尤其在要求高性能、低功耗的移動應用端體現明顯。谷歌的 TPU、 寒武紀的 GPU,地平線的 BPU都屬於 ASIC芯片。谷歌的 TPU比 CPU和 GPU的方案快 30 至 80 倍,與 CPU和 GPU相比,TPU把控制電路進行了簡化,因此減少了芯片的面積,降低了功耗。 
4、類腦芯片。
類腦芯片架構是一款模擬人腦的神經網絡模型的新型芯片編程架構,這一系統可以模擬人腦功能進行感知方式、行爲方式和思維方式。
有人說,ASIC是人工智能芯片的一個主要發展方向,但真正的人工智能芯片未來發展的方向是類腦芯片。
類腦芯片研究是非常艱難的,IBM、高通、英特爾等公司的芯片策略都是用硬件來模仿人腦的神經突觸。

AI 芯片按功能分類 :

根據機器學習算法步驟,可分爲訓練(training)推斷(inference)兩個環節: 
訓練環節通常需要通過大量的數據輸入,訓練出一個複雜的深度神經網絡模型。訓練過程由於涉及海量的訓練數據和複雜的深度神經網絡結構,運算量巨大,需要龐大的計算規模,對於處理器的計算能力、精度、可擴展性等性能要求很高。目前市場上通常使用英偉達的GPU集羣來完成,Google的 TPU2.0/3.0也支持訓練環節的深度網絡加速。 
推斷環節是指利用訓練好的模型,使用新的數據去“推斷”出各種結論。這個環節的
計算量相對訓練環節少很多,但仍然會涉及到大量的矩陣運算。
在推斷環節中,除了使用CPU或 GPU進行運算外,FPGA以及 ASIC均能發揮重大作用。

AI芯片的比較:

GPU未來的應用方向是高級複雜算法和通用性人工智能平臺,買來就能使用。

FPGA更適用於各種具體的行業,人工智能會應用到各個具體領域。

ASIC芯片是全定製芯片。因爲算法複雜度越強,越需要一套專用的芯片架構與其進行對應。定製就是當客戶處在某一特殊場景時,可以爲其獨立設計一套專業智能算法軟件。

而ASIC基於人工智能算法進行獨立定製,其發展前景看好。

類腦芯片是人工智能最終的發展模式,但是離產業化還很遙遠。

深度學習芯片使用情況比較:

⚫ CPU通用性最強,但延遲嚴重,散熱高,效率最低。

⚫ GPU 通用性強、速度快、效率高,特別適合用在深度學習訓練方面,但是性能功耗比較低。

⚫ FPGA具有低能耗、高性能以及可編程等特性,相對於 CPU與 GPU有明顯的性能或者能耗優勢,但對使用者要求高。

⚫ ASIC 可以更有針對性地進行硬件層次的優化,從而獲得更好的性能、功耗比。但是 ASIC 芯片的設計和製造需要大量的資金、較長的研發週期和工程週期,而且深度學習算法仍在快速發展,若深度學習算法發生大的變化,FPGA 能很快改變架構,適應最新的變化,ASIC類芯片一旦定製則難於進行修改。

當前階段,GPU 配合 CPU 仍然是 AI 芯片的主流,而後隨着視覺、語音、深度學習的 算法在FPGA以及ASIC芯片上的不斷優化,此兩者也將逐步佔有更多的市場份額,從而與 GPU達成長期共存的局面。從長遠看,人工智能類腦神經芯片是發展的路徑和方向。

人工智能芯片目前有兩種發展路徑:

一種是延續傳統計算架構,加速硬件計算能力,主要以 3 種類型的芯片爲代表,即 GPU、FPGA、ASIC, 但CPU依舊發揮着不可替代的作用;另一種是顛覆經典的馮·諾依曼計算架構,採用類腦神 經結構來提升計算能力,以 IBM TrueNorth 芯片爲代表。

GPU芯片發展歷程

AI芯片與以往的普通芯片有什麼區別呢?

手機AI芯片對於各種AI算子能夠以30倍到50倍左右的速度處理。以拍照場景爲例,AI芯片能夠做更好的一個圖像檢測,圖像分割和圖像語義理解。另外,對聲音可以聽清、聽懂,並根據所瞭解的客戶意圖提供客戶真正想要的服務。比如,內置獨立神經網絡單元NPU的麒麟970的圖片處理速度可達到約2005張每分鐘,而在沒有NPU的情況下每分鐘只能處理97張圖像。當然,其他應用場景在AI的加持下同樣變得高能。

傳統的 CPU及其侷限性 :

計算機工業從 1960 年代早期開始使用 CPU 這個術語。迄今爲止,CPU 從形態、設計到實現都已發生了巨大的變化,但是其基本工作原理卻一直沒有大的改變。通常 CPU 由控制器和運算器這兩個主要部件組成。實質上僅單獨的 ALU模塊(邏輯運算單元)是用來完成數據計算的,其他各個模塊的存在都是爲了保證指令能夠一條接一條的有序執行。這種通用性結構對於傳統的編程計算模式非常適合,同時可以通過提升 CPU 主頻(提升單位時間內執行指令的條數)來提升計算速度。但對於深度學習中的並不需要太多的程序指令、卻需要海量數據運算的計算需求,這種結構就顯得有些力不從心。尤其是在功耗限制下,無法通過無限制的提升CPU 和內存的工作頻率來加快指令執行速度,這種情況導致CPU系統的發展遇到不可逾越的瓶頸。

並行加速計算的 GPU :

GPU作爲最早從事並行加速計算的處理器,相比 CPU速度快,同時比其他加速器芯片編程靈活簡單。

傳統的CPU之所以不適合人工智能算法的執行,主要原因在於其計算指令遵循串行執行的方式,沒能發揮出芯片的全部潛力。與之不同的是,GPU 具有高並行結構,在處理圖形數據和複雜算法方面擁有比 CPU 更高的效率。對比 GPU 和 CPU 在結構上的差異,CPU 大部分面積爲控制器和寄存器,而 GPU擁有更多的 ALU(ARITHMETIC LOGIC UNIT,邏輯運算單元)用於數據處理,這樣的結構適合對密集型數據進行並行處理。程序在GPU系統上的運行速度相較於單核 CPU往往提升幾十倍乃至上千倍。隨着英偉達、AMD 等公司不斷推進其對 GPU 大規模並行架構的支持,面向通用計算的 GPU(即 GPGPU,GENERAL PURPOSE GPU,通用計算圖形處理器)已成爲加速可並行應用程序的重要手段。

我國AI芯片發展情況 :

目前,我國的人工智能芯片行業發展尚處於起步階段。
長期以來,中國在 CPU、GPU、DSP 處理器設計上一直處於追趕地位,絕大部分芯片設計企業依靠國外的 IP 核設計芯片,在自主創新上受到了極大的限制。然而,人工智能的興起,無疑爲中國在處理器領域實現彎道超車提供了絕佳的機遇。人工智能領域的應用目前還處於面向行業應用階段,生態上尚未形成壟斷,國產處理器廠商與國外競爭對手在人工智能這一全新賽場上處在同一起跑線上,因此,基於新興技術和應用市場,中國在建立人工智能生態圈方面將大有可爲。 
由於我國特殊的環境和市場,國內 AI 芯片的發展目前呈現出百花齊放、百家爭鳴的態勢,AI 芯片的應用領域也遍佈股票交易、金融、商品推薦、安防、早教機器人以及無人駕駛等衆多領域,催生了大量的人工智能芯片創業公司,如地平線、深鑑科技、中科寒武紀等。儘管如此,國內公司卻並未如國外大公司一樣形成市場規模,反而出現各自爲政的散裂發展現狀。除了新興創業公司,國內研究機構如北京大學、清華大學、中國科學院等在AI芯片領域都有深入研究;而其他公司如百度和比特大陸等,2017年也有一些成果發佈。 可以預見,未來誰先在人工智能領域掌握了生態系統,誰就掌握住了這個產業的主動權。

展望未來:

目前主流 AI芯片的核心主要是利用 MAC(Multiplier and Accumulation,乘加計算)加速陣列來實現對 CNN(卷積神經網絡)中最主要的卷積運算的加速。這一代 AI 芯片主要有如下 3個方面的問題。

(1)深度學習計算所需數據量巨大,造成內存帶寬成爲整個系統的瓶頸,即所謂的“memory wall”問題。 
(2)與第一個問題相關,內存大量訪問和MAC陣列的大量運算,造成AI芯片整體功耗的增加。 
(3)深度學習對算力要求很高,要提升算力,最好的方法是做硬件加速,但是同時深度學習算法的發展也是日新月異,新的算法可能在已經固化的硬件加速器上無法得到很好的支持,即性能和靈活度之間的平衡問題。

因此,我們可以預見,下一代 AI芯片將有如下的幾個發展趨勢:

趨勢一:更高效的大卷積解構/複用 
在標準 SIMD 的基礎上,CNN 由於其特殊的複用機制,可以進一步減少總線上的數據通信。而複用這一概念,在超大型神經網絡中就顯得格外重要。如何合理地分解、映射這些超大卷積到有效的硬件上成爲了一個值得研究的方向。 
趨勢二:更低的 Inference計算/存儲位寬 
AI 芯片最大的演進方向之一可能就是神經網絡參數/計算位寬的迅速減少——從 32 位浮點到 16 位浮點/定點、8 位定點,甚至是 4 位定點。在理論計算領域,2 位甚至 1 位參數位寬,都已經逐漸進入實踐領域。 
趨勢三:更多樣的存儲器定製設計 
當計算部件不再成爲神經網絡加速器的設計瓶頸時,如何減少存儲器的訪問延時將會成爲下一個研究方向。通常,離計算越近的存儲器速度越快,每字節的成本也越高,同時容量也越受限,因此新型的存儲結構也將應運而生。 
趨勢四:更稀疏的大規模向量實現 
神經網絡雖然大,但是,實際上有很多以零爲輸入的情況,此時稀疏計算可以高效的減少無用能效。來自哈佛大學的團隊就該問題提出了優化的五級流水線結構, 在最後一級輸出了觸發信號。在Activation層後對下一次計算的必要性進行預先判斷,如果發現這是一個稀疏節點,則觸發 SKIP信號,避免乘法運算的功耗,以達到減少無用功耗的目的。 
趨勢五:計算和存儲一體化 
計算和存儲一體化(process-in-memory)技術,其要點是通過使用新型非易失性存儲 (如ReRAM)器件,在存儲陣列裏面加上神經網絡計算功能,從而省去數據搬移操作,即實現了計算存儲一體化的神經網絡處理,在功耗性能方面可以獲得顯著提升。
發佈了14 篇原創文章 · 獲贊 19 · 訪問量 6430
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章