CPU、GPU、FPGA、ASIC等AI晶片特性及對比 - 今天頭條

文章推薦指數: 80 %
投票人數:10人

因此,訓練環節對晶片的算力性能要求比較高,推理環節對簡單指定的重複計算和低延遲的要求很高 ... 當前主流的AI晶片主要分為三類,GPU、FPGA、ASIC。

首頁 計算機視覺life CPU、GPU、FPGA、ASIC等AI晶片特性及對比 2020-08-13  計算機視覺life 原標題:CPU、GPU、FPGA、ASIC等AI晶片特性及對比 作者:William 來源:自動駕駛全棧工程師知乎專欄 連結:https://www.zhihu.com/people/william.hyin/columns 1、前言 目前,智能駕駛領域在處理深度學習AI算法方面,主要採用GPU、FPGA等適合併行計算的通用晶片來實現加速。

同時有部分晶片企業開始設計專門用於AI算法的ASIC專用晶片,比如谷歌TPU、地平線BPU等。

在智能駕駛產業應用沒有大規模興起和批量投放之前,使用GPU、FPGA等已有的通用晶片可以避免專門研發定製晶片(ASIC)的高投入和高風險,但是,由於這類通用晶片設計初衷並非專門針對深度學習,因而存在性能不足、功耗過高等方面的問題。

這些問題隨著自動駕駛行業應用規模的擴大將會日益突出。

本文從晶片種類、性能、應用和供應商等多角度介紹AI晶片,用於給行業內入門新人掃盲。

2、什麼是人工智慧(AI)晶片? 從廣義上講,能運行AI算法的晶片都叫AI晶片。

目前通用的CPU、GPU、FPGA等都能執行AI算法,只是執行效率差異較大。

但狹義上講一般將AI晶片定義為「專門針對AI算法做了特殊加速設計的晶片」。

對汽車行業而言,AI晶片的主要用於就是處理智能駕駛中環境感知、傳感器融合和路徑規劃等算法帶來的大量並行計算需求。

AI晶片可以理解為一個快速計算乘法和加法的計算器,而CPU要處理和運行非常複雜的指令集,難度比AI晶片大很多。

GPU雖然為圖形處理而設計,但是CPU與GPU並不是專用AI晶片,其內部有大量其他邏輯來實現其他功能,這些邏輯對於目前的AI算法來說完全無用。

目前經過專門針對AI算法做過開發的GPU應用較多,也有部分企業用FPGA做開發,但是行業內對於AI算法必然出現專用AI晶片。

3、為什麼要用AI晶片? 人工智慧從功能上來看包括推理和訓練兩個環節,智能駕駛行業亦然。

在訓練環節,通過大數據訓練出一個複雜的神經網絡模型,目前大部分企業在訓練環節主要使用英偉達的GPU集群完成。

推理環節是指利用訓練好的模型,使用大量數據推理出各種結論。

因此,訓練環節對晶片的算力性能要求比較高,推理環節對簡單指定的重複計算和低延遲的要求很高。

從應用場景來看,人工智慧晶片應用於雲端和設備端,在智能駕駛領域同樣具備雲伺服器和車載的各種計算平台或域控制器,在智能駕駛深度學習的訓練階段需要極大的數據量和大量運算,單一處理器無法獨立完成,因此訓練環節只能在雲伺服器實現。

相對的在設備端即車上,各種ECU、DCU等終端數量龐大,而且需求差異較大。

因此,推理環節無法在雲端完成,這就要求車上的各種電子單元、硬體計算平台或域控制器有獨立的推理計算能力,因此必須要有專用的AI晶片來應對這些推理計算需求。

傳統的CPU、GPU都可以拿來執行AI算法,但是速度慢,性能低,尤其是CPU,在智能駕駛領域無法實際投入商用。

4、AI晶片的種類 當前主流的AI晶片主要分為三類,GPU、FPGA、ASIC。

GPU、FPGA均是前期較為成熟的晶片架構,屬於通用型晶片。

ASIC屬於為AI特定場景定製的晶片。

行業內已經確認CPU不適用於AI計算,但是在AI應用領域也是必不可少,另外一種說法是還有一種類腦晶片,算是ASIC的一種。

FPGA(FieldProgrammableGateArray,現場可編程門陣列)具有足夠的計算能力和足夠的靈活性。

FPGA的計算速度快是源於它本質上是無指令、無需共享內存的體系結構。

對於保存狀態的需求,FPGA中的寄存器和片上內存(BRAM)是屬於各自的控制邏輯的,無需不必要的仲裁和緩存,因此FPGA在運算速度足夠快,優於GPU。

同時FPGA也是一種半定製的硬體,通過編程可定義其中的單元配置和連結架構進行計算,因此具有較強的靈活性。

相對於GPU,FPGA能管理能運算,但是相對開發周期長,複雜算法開發難度大。

ASIC(ApplicationSpecificIntegratedCircuit特定用途集成電路)根據產品的需求進行特定設計和製造的集成電路,能夠在特定功能上進行強化,具有更高的處理速度和更低的能耗。

缺點是研發成本高,前期研發投入周期長,且由於是定製化,可複製性一般,因此只有用量足夠大時才能夠分攤前期投入,降低成本。

4.1CPU(CentralProcessingUnit) 中央處理器作為計算機系統的運算和控制核心,是信息處理、程序運行的最終執行單元,CPU是對計算機的所有硬體資源(如存儲器、輸入輸出單元)進行控制調配、執行通用運算的核心硬體單元。

優點:CPU有大量的緩存和複雜的邏輯控制單元,非常擅長邏輯控制、串行的運算 缺點:不擅長複雜算法運算和處理並行重複的操作。

對於AI晶片來說,算力最弱的是cpu。

雖然cpu主頻最高,但是單顆也就8核,16核的樣子,一個核3.5g,16核也就56g,再考慮指令周期,每秒最多也就30g次乘法。

還是定點的。

生產廠商:intel、AMD 4.2GPU(GraphicsProcessingUnit) 圖形處理器,又稱顯示核心、視覺處理器、顯示晶片,是一種專門在個人電腦、工作站、遊戲機和一些移動設備(如平板電腦、智慧型手機等)上做圖像和圖形相關運算工作的微處理器。

優點:提供了多核並行計算的基礎結構,且核心數非常多,可以支撐大量數據的並行計算,擁有更高的浮點運算能力。

缺點:管理控制能力(最弱),功耗(最高)。

生產廠商:AMD、NVIDIA 4.3FPGA(FieldProgrammableGateArray) FPGA是在PAL、GAL等可編程器件的基礎上進一步發展的產物。

它是作為專用集成電路(ASIC)領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。

優點:可以無限次編程,延時性比較低,同時擁有流水線並行和數據並行(GPU只有數據並行)、實時性最強、靈活性最高 缺點:開發難度大、只適合定點運算、價格比較昂貴 生產廠商:Altera(Intel收購)、Xilinx 4.4ASIC(ApplicationSpecificIntegratedCircuit) ASIC,即專用集成電路,指應特定用戶要求和特定電子系統的需要而設計、製造的集成電路。

目前用CPLD(複雜可編程邏輯器件)和FPGA(現場可編程邏輯陣列)來進行ASIC設計是最為流行的方式之一。

優點:它作為集成電路技術與特定用戶的整機或系統技術緊密結合的產物,與通用集成電路相比具有體積更小、重量更輕、功耗更低、可靠性提高、性能提高、保密性增強、成本降低等優點。

缺點:靈活性不夠,成本比FPGA貴 主要性能指標:功耗、速度、成本 生產廠商:谷歌、地平線、寒武紀等 4.5四種晶片的特性總結 CPU是一個有多種功能的優秀領導者。

它的優點在於調度、管理、協調能力強,計算能力則位於其次。

而GPU相當於一個接受CPU調度的「擁有大量計算能力」的員工。

GPU作為圖像處理器,設計初衷是為了應對圖像處理中需要大規模並行計算。

因此,其在應用於深度學習算法時,有三個方面的局限性: 第一,應用過程中無法充分發揮並行計算優勢。

深度學習包含訓練和應用兩個計算環節,GPU在深度學習算法訓練上非常高效,但在應用時一次性只能對於一張輸入圖像進行處理,並行度的優勢不能完全發揮。

第二,硬體結構固定不具備可編程性。

深度學習算法還未完全穩定,若深度學習算法發生大的變化,GPU無法像FPGA一樣可以靈活的配置硬體結構。

第三,運行深度學習算法能效遠低於FPGA。

學術界和產業界研究已經證明,運行深度學習算法中實現同樣的性能,GPU所需功耗遠大於FPGA,例如國內初創企業深鑒科技基於FPGA平台的人工智慧晶片在同樣開發周期內相對GPU能效有一個數量級的提升。

FPGA,其設計初衷是為了實現半定製晶片的功能,即硬體結構可根據需要實時配置靈活改變。

研究報告顯示,目前的FPGA市場由Xilinx和Altera主導,兩者共同占有85%的市場份額,其中Altera在2015年被intel以167億美元收購,Xilinx則選擇與IBM進行深度合作,背後都體現了FPGA在人工智慧時代的重要地位。

儘管FPGA倍受看好,甚至百度大腦、地平線AI晶片也是基於FPGA平台研發,但其畢竟不是專門為了適用深度學習算法而研發,實際仍然存在不少局限: 第一,基本單元的計算能力有限。

為了實現可重構特性,FPGA內部有大量極細粒度的基本單元,但是每個單元的計算能力(主要依靠LUT查找表)都遠遠低於CPU和GPU中的ALU模塊。

第二,速度和功耗相對專用定製晶片(ASIC)仍然存在不小差距。

第三,FPGA價格較為昂貴,在規模放量的情況下單塊FPGA的成本要遠高於專用定製晶片。

人工智慧定製晶片是大趨勢,從發展趨勢上看,人工智慧定製晶片將是計算晶片發展的大方向。

5、AI晶片算力對比5.1通用晶片—GPU GPU(GraphicsProcessingUnit)即為圖形處理器。

NVIDIA公司在1999年發布GeForce256圖形處理晶片時首先提出GPU的概念。

從此NVIDIA顯卡的芯就用這個新名字GPU來稱呼。

GPU使顯卡削減了對CPU的依賴,部分替代原本CPU的工作,特別是在3D圖形處理方面。

由於在浮點運算、並行計算等方面,GPU可以提供數十倍乃至於上百倍於CPU的性能。

GPU相比CPU更適合人工智慧計算。

GPU和CPU分別針對的是兩種不同的應用場景,他們的設計目標不同,CPU需要很強的通用性來處理各種不同的數據類型,同時邏輯判斷又會引入大量的分支跳轉和中斷的處理。

這些都使得CPU的內部結構異常複雜。

而GPU擅長的則是在不需要被打斷的純凈的計算環境中進行類型高度統一的、相互無依賴的大規模數據處理,人工智慧的計算恰巧主要是後者,這使得原本為圖像處理而生的GPU在人工智慧時代煥發第二春。

CPU的邏輯運算單元(ALU)較少,控制器(control)占比較大;GPU的邏輯運算單元(ALU)小而多,控制器功能簡單,緩存(cache)也較少。

架構的不同使得CPU擅長進行邏輯控制、串行計算,而GPU擅長高強度的並行計算。

GPU單個運算單元處理能力弱於CPU的ALU,但是數量眾多的運算單元可以同時工作,當面對高強度並行計算時,其性能要優於CPU。

現如今GPU除了圖像處理外,也越來越多的運用到別的計算中。

CPU根據功能劃分,將需要大量並行計算的任務分配給GPU。

GPU從CPU獲得指令後,把大規模、無結構化的數據分解成許多獨立部分,分配給各個流處理集群(SMM)。

每個流處理集群再次把數據分解,分配給調度器,調度器將任務放入自身所控制的計算核心core中完成最終的數據處理任務。

GPU性能較強但功耗較高。

以NVIDIA開發的GPU為例,Xavier最高算力為30Tops,功耗為30W,NVIDIA最新發布的GPUA100相比Volta架構的640個TensorCore,A100核心的TensorCore減少到了432個,但是性能大幅增強,支持全新的TF32運算,浮點性能156TFLOPS,同時INT8浮點性能624TOPS,FP16性能312TFLOPS,同時功耗也達到了400W。

5.2半定製化晶片—FPGA FPGA(Field-ProgrammableGateArray),即現場可編程門陣列。

它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。

它是作為專用集成電路(ASIC)領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。

FPGA內部有很多可配置邏輯模塊(CLB),這些模塊是現實邏輯功能的基本單元,FPGA可通過靈活地配置CLB來令其實現工程師想要實現的邏輯功能。

FPGA的並行處理能力也很強大,其可編程性也適用於不斷優化的深度學習算法的運算。

目前很多公司基於FPGA開發人工智慧處理器。

於2016年成立的深鑒科技,就在研發深度學習通用解決方案。

2016年初,深鑒科技就設計了基於FPGA、針對深度學習的DPU硬體架構。

該產品實現了高性能功耗比,並且成本也比GPU產品低很多。

今年8月加州的HotChips大會上,百度也發布了其基於FPGA晶片的A.I加速晶片—XPU。

該晶片有256核,旨在尋求性能和效率的平衡,處理多樣化計算任務。

基於FPGA開發的人工智慧處理器具有高性能、低能耗、可硬體編程的特點。

1)高性能 除了GPU,FPGA也擅長並行計算,基於FPGA開發的處理器可以實現更高的並行計算。

而且FPGA帶有豐富的片上存儲資源,可以大大減少訪問片外存儲的延遲,提高計算性能,訪問DRAM儲存大約是訪問寄存器存儲延遲的幾百倍以上。

2)低能耗 相比於CPU和GPU,FPGA的能耗優勢主要有兩個原因:1)相比於CPU、GPU,FPGA架構有一定的優化,CPU、GPU需要頻繁的訪問DRAM,而這個能量消耗較大,FPGA可以減少這方面的能耗。

2)FPGA的主頻低,CPU和GPU的主頻一般在1-3GHz之間,而FPGA的主頻一般在500MHz一下。

因此,FPGA的能耗要低於CPU、GPU。

3)可硬體編程 FPGA可硬體編程,並且可以進行靜態重複編程和動態系統重配置。

用戶可像編程修改軟體一樣修改系統的硬體功能,大大增強了系統設計的靈活性和通用性。

使得FPGA可以靈活地部署在需要修改硬體設置場景中。

FPGA+CPU異構架構被越來越多地研究和認可。

相比於CPU+GPU,因為FPGA的高性能低功耗等優勢使FPGA+CPU可以提供更好的單位功耗性能,且更易於修改和編程。

因此FPGA適合做可並行計算的任務,如矩陣運算。

如果是一些判斷類的問題,FPGA算得並沒有CPU快。

所以已經有研究人員探討FPGA+CPU的架構模式。

5.3全定製晶片—ASIC ASIC(ApplicationSpecificIntegratedCircuit)在集成電路界被認為是一種為專門目的而設計的集成電路。

是指應特定用戶要求和特定電子系統的需要而設計、製造的集成電路。

ASIC的特點是面向特定用戶的需求,ASIC在批量生產時與通用集成電路相比具有體積更小、功耗更低、可靠性提高、性能提高、保密性增強、成本降低等優點。

簡單地講,ASIC晶片就是通過台積電等代工廠流片的晶片。

目前,基於ASIC的人工智慧晶片有地平線BPU、谷歌的TPU。

基於ASIC開發人工智慧晶片開發周期較長。

基於ASIC開發人工智慧晶片更像是電路設計,需要反覆優化,需要經歷較長的流片周期,故開發周期較長。

量產後ASIC人工智慧晶片成本及價格較低。

雖然相較於FPGA,ASIC人工智慧晶片需要經歷較長的開發周期,並且需要價格昂貴的流片投入,但是這些前期開發投入在量產後會被攤薄,所以量產後,ASIC人工智慧晶片的成本和價格會低於FPGA人工智慧晶片。

ASIC晶片性能功耗比較高。

從性能功耗比來看,ASIC作為定製晶片,其性能要比基於通用晶片FPGA開發出的各種半定製人工智慧晶片更具有優勢。

而且ASIC也並不是完全不具備可配置能力,只是沒有FPGA那麼靈活,只要在設計的時候把電路做成某些參數可調即可。

ASIC人工智慧晶片主要面向消費電子市場。

ASIC更高的性能,更低的量產成本以及有限可配置特性,使其主要面向消費電子市場,如寒武紀等公司。

5.4類腦晶片 類人腦晶片架構是一款基於神經形態的工程,旨在打破「馮·諾依曼」架構的束縛,模擬人腦處理過程,感知世界、處理問題。

這種晶片的功能類似於大腦的神經突觸,處理器類似於神經元,而其通訊系統類似於神經纖維,可以允許開發者為類人腦晶片設計應用程式。

通過這種神經元網絡系統,計算機可以感知、記憶和處理大量不同的信息。

類腦晶片的兩大突破:1、有望形成自主認知的新形式;2、突破傳統計算機體系結構的限制,實現數據並行傳送、分布式處理,能以極低功耗實時處理大量數據。

6、總結 CPU有強大的調度、管理、協調能力。

應用範圍廣。

開發方便且靈活。

但其在大量數據處理上沒有GPU專業,相對運算量低,但功耗不低。

GPU:是單指令、多數據處理,採用數量眾多的計算單元和超長的流水線,如名字一樣,圖形處理器,GPU善於處理圖像領域的運算加速。

但GPU無法單獨工作,必須由CPU進行控制調用才能工作。

CPU可單獨作用,處理複雜的邏輯運算和不同的數據類型,但當需要大量的處理類型統一的數據時,則可調用GPU進行並行計算。

FPGA:和GPU相反,FPGA適用於多指令,單數據流的分析,因此常用於預測階段,如雲端。

FPGA是用硬體實現軟體算法,因此在實現複雜算法方面有一定的難度,缺點是價格比較高。

將FPGA和GPU對比發現,一是缺少內存和控制所帶來的存儲和讀取部分,速度更快。

二是因為缺少讀取的作用,所以功耗低,劣勢是運算量並不是很大。

結合CPU和GPU各自的優勢,有一種解決方案就是異構。

ASIC晶片:是專用定製晶片,為實現特定要求而定製的晶片。

除了不能擴展以外,在功耗、可靠性、體積方面都有優勢,尤其在高性能、低功耗的移動端。

谷歌的TPU、寒武紀的MLU,地平線的BPU都屬於ASIC晶片。

谷歌的TPU比CPU和GPU的方案快30-80倍,與CPU和GPU相比,TPU把控制縮小了,因此減少了晶片的面積,降低了功耗。

四種架構將走向哪裡? 眾所周知,通用處理器(CPU)的摩爾定律已入暮年,而機器學習和Web服務的規模卻在指數級增長。

人們使用定製硬體來加速常見的計算任務,然而日新月異的行業又要求這些定製的硬體可被重新編程來執行新類型的計算任務。

將以上四種架構對比,GPU未來的主攻方向是高級複雜算法和通用性人工智慧平台,其發展路線分兩條走:一是主攻高端算法的實現,對於指令的邏輯性控制要更複雜一些,在面向需求通用的AI計算方面具有優勢;二是主攻通用性人工智慧平台,GPU的通用性強,所以應用於大型人工智慧平台可高效完成不同的需求。

FPGA更適用於各種細分的行業,人工智慧會應用到各個細分領域。

ASIC晶片是全定製晶片,長遠看適用於人工智慧。

現在很多做AI算法的企業也是從這個點切入。

因為算法複雜度越強,越需要一套專用的晶片架構與其進行對應,ASIC基於人工智慧算法進行定製,其發展前景看好。

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

幾個品牌的SOC及域控制器做的還是不錯的,尤其是基於NVIDIAXavier以及前期PX2等晶片的開發。

國內大部分企業的應用比較集中在Xavier平台和Linux系統,尤其是新勢力造車企業,而傳統車企更青睞TI、瑞薩等半導體公司的智能AI晶片以及QNX系統。

國內基於Xavier做開發的企業很多,天津優控智行目前的域控制器產品在行業內屬於中等偏上水平,但是其軟體工具和服務做得相對有些優勢,後期有時間也扒一扒地平線、智行者等企業的域控制器學習學習。

文章來源:https://twgreatdaily.com/Me4k6HMBd8y1i3sJ3iR7.html CPU、GPU、FPGA、ASIC等AI晶片特性及對比 2020-08-13 華為「天才少年」最高年薪201萬元,你羨慕了嗎? 2020-08-06 時隔一年,盤點CVPR2019影響力最大的20篇論文 2020-08-06 全球自動駕駛AI晶片最新、最全盤點 2020-08-05 YOLO系目標檢測算法家族全景圖! 2020-08-04 ECV2020開賽!識別火焰/頭盔/後廚老鼠/摔倒,30萬獎金,4萬張數據集,等你來戰! 2020-07-23 百度官方論文復現營來啦!頂會審稿人免費帶你復現頂會論文|GPU算力免費使用 2020-07-20 為什麼國家將加快人工智慧研究生培養?又為什麼很多人說AI是個大坑呢? 2020-07-20 目前機器人、SLAM現狀如何?行業內頂尖技術在哪些高校或企業? 2019-10-30 中國計算機視覺的前途在哪?機器視覺工程師又何去何從? 2019-10-30 計算機視覺畢業後找不到工作怎麼辦? 2019-10-16



請為這篇文章評分?