人工智能Ai芯片層出不窮,GPU、FPGA、ASIC用于人工智能的優勢和劣勢對比

人工智能(AI)主要包括三大要素,分別是數據、算法和算力。其中數據是基礎,正是因為在實際應用當中的數據量越來越大,使得傳統計算方式和硬件難以滿足要求,才催生了AI應用的落地。而算法是連接軟件、數據、應用和硬件的重要橋梁,非常關鍵。算力方面,主要靠硬件實現,也就是各種實現AI功能的處理器,而隨著應用和技術的發展,能實現各種算力、滿足不同應用的AI處理器陸續登場,經過不同的發展階段,發揮著各自的作用。

在比較成熟的AI平臺方面,在2012年出現了AlexNet,一直到最近,2018年出現了AlphaGo Zero,在短短的6年內,算力提高了20多萬倍,這完全不同于傳統計算硬件(如CPU、MCU等)的演進軌跡,速度之驚人令我們難以預測。

來自OpenAI的分析顯示,近幾年,AI訓練所需的算力每3個多月就會翻倍,這比著名的摩爾定律(每18~24個月,芯片的性能翻倍)演進速度快多了。而提升算力的關鍵是芯片設計,特別是底層的架構設計,目前來看,傳統的芯片架構已經難以滿足AI應用的需要。包括IC廠商和互聯網企業在內,越來越多的廠商開始投入研發或已經推出AI專用芯片。根據Gartner統計,AI芯片在2017年的市場規模約為46億美元,而到2020年,預計將會達到148億美元,年均復合增長率為47%。而據麥肯錫預測,未來10年,人工智能和深度學習將成為提升硅片需求的主要因素,2025年,在AI的推動下,全球硅片營收將超過600億美元,接近全球半導體銷售額的20%。

三種AI芯片的對比

從AI芯片的應用場景類別來看,主要分為云端和終端。目前,AI在云端應用的更多,相對成熟,而其在云端應用又可分為訓練和推理兩種,其中訓練的市場規模占比較高。另外,訓練需要的數據量和計算量較大,所用的處理器主要是GPU。至于推理,也以GPU為主,此外,還有FPGA,以及專用的AI芯片(ASIC),其中,ASIC還不是很成熟,量產的產品也不多,因此用量有限,還處于發展初期,如果能實現大規模量產,其性能和成本是最優的,主要推進廠商是Google,其標志性產品就是TPU。

綜上,目前,行業為實現AI計算,主要采用的芯片有三種,分別是通用型的GPU,可定制的FPGA,以及專用的ASIC。

在計算層面,芯片的晶體管數量和芯片面積決定了算力,面積越大算力越強,但功耗也將隨之增加。過去幾年,在AI處理器的選擇上,可用于通用基礎計算且運算速率更快的GPU迅速成為實現AI計算的主流芯片,英偉達也因此占據著數據中心AI芯片的主要市場份額。

FPGA是典型的半定制化芯片,其功能可以通過編程來修改,并行計算能力很強,但是延遲和功耗遠低于GPU,而與ASIC相比,FPGA的一次性成本要低很多,但其量產成本很高。因此,在實際應用需求還未成規模,且算法需要不斷迭代、改進的情況下,利用FPGA的可重構特性來實現半定制的AI芯片是最佳選擇。

AI專用芯片ASIC是面向特定應用需求而定制的芯片,一旦流片,其功能無法更改,因此,必須要有量的保證,且應用需求穩定,不會發生大的變化。專用ASIC芯片的性能高于FPGA,如果出貨量可觀,其單顆成本可做到遠低于FPGA和GPU。

目前來看,由于GPU具備強大的并行計算能力和完善的生態系統,現在云端AI應用方面處于主導地位。FPGA方面,由于是半定制化的,可以通過編程來實現不同的功能電路,因此,其在通用性和性能之間取得了比較好的平衡,但是較高的開發門檻和量產成本,對其應用是個限制。

圖:在實現AI功能方面,GPU、FPGA和ASIC的優缺點對比(來源:長城證券研究所)

專用的AI芯片應該是未來的發展趨勢,無論是在云端還是在邊緣側,隨著應用的逐漸落地,應用場景和各種專用功能會愈加清晰,市場需求也會越來越多。另外,與GPU和FPGA相比,ASIC的專利壁壘要小得多,而且其設計難度也是最小的。隨著AI應用場景的落地,專用的ASIC芯片量產成本低、性能高、功耗低的優勢會逐漸凸顯出來。

AI芯片案例

目前,在AI應用方面,全球數據中心用GPU市場基本被英偉達壟斷,這里用到的都是高性能GPU,其門檻很高,又是用于AI,因此,還沒有什么競爭對手。

除了GPU芯片本身之外,英偉達還有一個優勢,那就是其在AI計算方面,有CUDA軟件生態系統的配合。CUDA編程工具包讓開發者可以對每一個像素輕松編程,在這之前,對程序員來說,GPU編程是一件很痛苦的事,CUDA成功將Java、C++等高級語言開放給了GPU編程,從而讓GPU編程變得簡單了許多,研究者也可以更低的成本快速開發他們的深度學習模型。以圖形處理器加速卡Tesla V100 PCIe/SXM2為例,其芯片采用臺積電的12nm制程工藝,通過與CUDA軟件和NVLink快速通道的配合,能達到近125兆次深度學習的浮點運算訓練速度,而以16bit的半精度浮點性能來看,可達到31Tera FLOPS。

FPGA方面,Altera被英特爾收購之后,賽靈思是目前的霸主,作為傳統的CPU廠商,英特爾近幾年正在AI領域大力布局,收購相關公司自然是一個重要手段,通過收購全面布局 FPGA和ASIC,除了Altera的FPGA之外,還通過收購Mobileye和視覺處理器公司Movidius,布局無人駕駛和計算機視覺,這也是將來AI大有可為的兩個應用領域。

在收購Altera之后,英特爾的技術發展路線就出現了調整,例如,其原來的產品策略是做分立的CPU+FPGA加速器,而兩家公司整合后,由簡單的分立器件疊加改為了封裝集成,即將CPU和FPGA芯片封裝在一起,這還不算完,英特爾下一步還要將CPU和FPGA集成在同一芯片內,做成SoC。

賽靈思方面,該公司于2018年底推出了以低成本、低延遲、高能效深度神經網絡(DNN)算法為基礎的Alveo加速卡,基于該公司的UltraScale架構,采用了臺積電的16nm制程工藝,目標市場就是數據中心和云端的AI推理市場。

AI專用ASIC方面,國內外已經有多家企業投入了研發,例如國內的寒武紀(正在開發NPU)、地平線(BPU系列),還有華為海思和比特大陸,也在專用AI芯片方面投入了不少資源。國外最為知名的就是谷歌的TPU了,這也是到目前為止,最為成熟的高性能AI專用芯片了。做ASIC需要對應用場景有深刻和精確到位的了解,而這方面卻是傳統芯片設計企業和IDM的短板,因此,目前做AI專用ASIC的,大多是系統產商,互聯網巨頭,或者以算法起家的公司。

在中國,比特大陸的算豐 (SOPHON) BM1680和BM1682云端安防及大數據AI推理系列產品已經上市,此外,還有其它幾家沒有量產的芯片,如華為海思的昇騰Ascend 910系列,據悉會采用臺積電的7nm制程工藝,預計會在今年年底量產。此外,百度的昆侖芯片(采用三星的14nm制程),以及阿里平頭哥的Ali-NPU等,也處在研發階段,距離量產還有一段時日。

以上談的主要是用于云端的AI芯片,包括GPU、FPGA和ASIC,這也是目前AI的主要應用領域,而在終端和邊緣側,更多的要依靠不斷成熟的ASIC,因為ASIC與應用場景有著非常緊密的關系,而這里說的應用場景,主要是在終端和邊緣側。

結語

AI發展正處于強勁的上升階段,此時,各種AI芯片實現方案都有其發揮的空間,可以說是處于最佳時期,這也給眾多廠商占領各自擅長之應用市場提供了更多的機會。而隨著應用場景的完全落地,以及AI專用芯片的成熟和大規模量產,這一發展窗口期很可能就將關閉,因此,眼下各家廠商,無論是做GPU、FPGA,還是做ASIC的,都在抓緊時間研發和拓展市場,競爭愈發激烈。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252634.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252634.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252634.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

dom和bom

先看幾個兩個例題&#xff1a; 星座對應日期&#xff1a; <select id"s1">   <option>a</option>   <option>b</option>   <option>c</option>   <option>d</option>   </select>   <se…

分享自己針對Automation做的兩個成熟的框架(QTP 和Selenium)

自己在google code中開源了自己一直以來做的兩個自動化的框架&#xff0c;一個是針對QTP的一個是針對Selenium的&#xff0c;顯而易見&#xff0c;一個是商業的UI automation工具&#xff0c;一個是開源的自動化工具。 只是代碼&#xff0c;可能你直接看的話&#xff0c;有點不…

全景視頻拼接關鍵技術

一、原理介紹 圖像拼接(Image Stitching)是一種利用實景圖像組成全景空間的技術&#xff0c;它將多幅圖像拼接成一幅大尺度圖像或360度全景圖&#xff0c;圖像拼接技術涉及到計算機視覺、計算機圖形學、數字圖像處理以及一些數學工具等技術。圖像拼接其基本步驟主要包括以下幾…

Part8 多態性 8.1運算符重載

1運算符重載的規則C 幾乎可以重載全部的運算符&#xff0c;而且只能夠重載C中已經有的。不能重載的運算符&#xff1a;“.”、“.*”、“::”、“?:”重載之后運算符的優先級和結合性都不會改變。 重載的兩種形式&#xff1a;   1 重載為類的非靜態成員函數&#xff1b;   …

H面試程序(29):求最大遞增數

要求&#xff1a;求最大遞增數 如&#xff1a;1231123451 輸出12345 #include<stdio.h> #include<assert.h> void find(char *s) {int maxleng 0;int length 1;int pos 0;int i 0;while(s[i] !\0){ if((s[i])<0||(s[i]>9)){assert(0);}if((s[i1]-0) &g…

reorder-list

/*** Definition for singly-linked list.* class ListNode {* int val;* ListNode next;* ListNode(int x) {* val x;* next null;* }* }*///思路:通過不同的首結點獲取到不同的尾結點,然后拼接public class Solution {public ListNode get…

四大主流芯片架構(X86、ARM、RISC-V和MIPS)

目前市場上主流的芯片架構有 X86、ARM、RISC-V和MIPS四種&#xff1a; 序號架構特點代表性的廠商運營機構發明時間1X86性能高&#xff0c;速度快&#xff0c;兼容性好英特爾&#xff0c;AMD英特爾1978年2ARM成本低&#xff0c;低功耗蘋果&#xff0c;谷歌&#xff0c;IBM&…

微博預計要火一陣的SleepSort之Shell及C實現

今日在微博看到如此奇妙的代碼。竟然還有新的sort算法&#xff0c;對于我這樣的渣渣必須研究一下&#xff0c;代碼例如以下&#xff1a; #!/bin.bash function f() {sleep "$1" //sleep 這么多secho "$1" }while [ -n "$1" ] //第一個參數不為空…

相關類以及常用方法

1、system&#xff1a;(系統相關類&#xff09; 常用方法&#xff1a; a) : system.arraycopy(制定數組&#xff0c;開始復制的位置&#xff0c;目標數組&#xff0c;開始粘貼的位置&#xff0c;需要復制的長度) 。 將指定源數組中的數組從指定位置復制到目標數組的指定位…

2021-11-15

本文將重點圍繞國產CPU的發展歷程與當前產業鏈各領軍企業的布局情況作詳盡解讀&#xff08;并包含特大號獨家整理的最新進展&#xff09;&#xff0c;具體如下&#xff1a; 1、國產CPU發展歷程回溯 2、飛騰&#xff1a;PK生態的主導者 3、鯤鵬&#xff1a;快速崛起的領導者 …

關于在ubuntu下配置AMD顯卡驅動的總結

同樣先卸載先前版本 代碼:sudo sh /usr/share/ati/fglrx-uninstall.sh代碼:sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*重啟 代碼:sudo reboot下載驅動&#xff0c;右邊直接有ubuntu32位和64位驅動鏈接&#xff1a;http://support.amd.com/en-us/do…

Python3中的hasattr()

Python3已經將此內置函數移除了。查閱Python v3.0 documentation發現可以使用 hasattr(object, name)內置函數來完成callable的功能&#xff0c;方式如下&#xff1a; 3.0之前&#xff1a;callable(func) 3.0之后&#xff1a;hasattr(func, __call__) 這兩者結果是相同的。 轉載…

計算機結構簡圖

北橋,南橋是主板上芯片組中最重要的兩塊了.它們都是總線控制器.他們是總線控制芯片.相對的來講,北橋要比南橋更加重要.北橋連接系統總線,擔負著cpu訪問內存的重任.同時連接這AGP插口,控制PCI總線,割斷了系統總線和局部總線,在這一段上速度是最快的.南橋不和CPU連接通常用來作I/…

原始Ajax

var $ { request:function(obj){ //1. 獲得xmlhttprequest對象兼容性處理 var xhr; //undefined未定義 try{ //主流瀏覽器里面的ajax對象 xhr new XMLHttpRequest(); }catch(e){ //IE低版本的瀏覽器 xhr new ActiveXObject("Microsoft.XMLHTTP"); } //2. 建立和…

Servlet 與 Ajax 交互一直報status=parsererror

Servlet 與 Ajax 交互一直報statusparsererror 原因&#xff1a;servlet 返回的數據不是 Json 格式 1、JS代碼為&#xff1a; 1 var jsonStr {clusterNum:2,iterationNum:3,runTimes:4};2 $.ajax({3 type: "post",4 //http://172.2…

25LINQ拾遺及實例

投影 □ 遍歷數組索引&#xff0c;Select獲取 int[] indexes {0, 2}; string[] strs {"a", "b", "c", "d"}; var result from i in indexes select strs[i]; foreach (string str in result) { Console.Write(str " &quo…

國產CPU的6大品牌,3大路線對比

這些年來&#xff0c;中國最想發展的科技產品是什么&#xff1f;那必須是芯片&#xff0c;特別是2018年中興事件、2019年華為事件之后&#xff0c;國內的芯片產業就徹底地火爆了起來。 按照數據顯示&#xff0c;截止至2020年10月份&#xff0c;國內已經有27萬家芯片企業&#…

BluePrint和ORM

一、藍圖創建 1 #引入庫文件2 from flask import Blueprint,request,jsonify3 4 user Blueprint(5 "site",6 __name__,7 template_floder"templates_folder_path",8 static_floder"static" 9 ) #創建藍圖 10 1…

【js實例】Array類型的9個數組方法,Date類型的41個日期方法,Function類型

前文提要:【js實例】js中的5種基本數據類型和9種操作符 Array類型的9個數組方法 Array中有9個數組方法: 1.檢測數組 2.轉換方法 3.棧方法 4.隊列方法 5.沖排序方法6.操作方法 7.位置方法 8.迭代方法 9.歸并方法 在實例中介紹,實例如下 /* Array類型 js數組中的每一項可以用來保…

調用詠南中間件插件演示

function GetSvrData(const accountNo, defineId: WideString; inParams: OleVariant): OleVariant; virtual; abstract; // accountNo&#xff0c;帳套編號 // defineId3位插件編號2位自定義編號&#xff0c;defineId必須是唯一的 // inParams&#xff0c;TDataSet.Params的OL…