人工智能芯片:發(fā)展史、CPU、FPGA和專用集成電路
人工智能芯片(一):發(fā)展史
本文引用地址:http://m.butianyuan.cn/article/201709/363960.htm人工智能算法的實現(xiàn)需要強大的計算能力支撐,特別是深度學習算法的大規(guī)模使用,對計算能力提出了更高的要求。深度學習模型參數(shù)多、計算量大、數(shù)據(jù)的規(guī)模更大,在早期使用深度學習算法進行語音識別的模型中,擁有429個神經(jīng)元的輸入層,整個網(wǎng)絡擁有156M個參數(shù),訓練時間超過75天;人工智能領軍人物Andrew Ng和Jeff Dean打造的Google Brain項目,使用包含16000個CPU核的并行計算平臺,訓練超過10億個神經(jīng)元的深度神經(jīng)網(wǎng)絡。下一步,如果模擬人類大腦的神經(jīng)系統(tǒng),需要模擬1000億個神經(jīng)元,計算能力將有數(shù)個量級的提升。
除此之外,隨著以智能手機為代表的移動終端快速發(fā)展,人們也希望將人工智能應用于移動終端,而這對硬件的計算能力和能耗提出了更高的要求。傳統(tǒng)實現(xiàn)移動終端人工智能的方法是通過網(wǎng)絡把終端數(shù)據(jù)全部傳送到云端,之后在云端計算后再把結果發(fā)回移動端,例如蘋果的Siri服務。然而,這樣的方式會遇到一些問題:第一,使用網(wǎng)絡傳輸數(shù)據(jù)會產生延遲,很可能數(shù)據(jù)計算的結果會需要等待數(shù)秒甚至數(shù)十秒才能傳回終端。這樣一來,那些需要立刻得到計算結果的應用就不能用這種方式。例如無人機上使用的深度學習躲避障礙物算法,ADAS系統(tǒng)中使用的圖像識別算法等,如果計算過程不是本地進行而是依賴云端,那么云端和終端的通訊延遲、可靠性等問題有可能對汽車和無人機造成非常嚴重的后果。第二,一旦使用網(wǎng)絡傳送數(shù)據(jù),那么數(shù)據(jù)就有被劫持的風險。因此,那些要求低計算延遲以及對于數(shù)據(jù)安全性非常敏感的應用就需要把人工智能算法全部在終端實現(xiàn),或者至少在終端完成一些預處理運算然后再把少量運算結果(而不是大量的原始數(shù)據(jù))傳送到云端完成最終計算,這就需要移動終端硬件能夠快速完成這些運算。因此,移動端硬件完成這些運算必須同時滿足高速度和低功耗的要求。
針對這些需求,人工智能核心計算芯片也經(jīng)歷了四次大的變化。2007年以前,人工智能研究和應用經(jīng)歷了數(shù)次起伏,一直沒有發(fā)展成為成熟的產業(yè);同時受限于當時算法、數(shù)據(jù)等因素,這一階段人工智能對于芯片并沒有特別強烈的需求,通用的CPU芯片即可提供足夠的計算能力。之后,由于高清視頻、游戲等行業(yè)的發(fā)展,GPU產品取得快速的突破;同時人們發(fā)現(xiàn)GPU的并行計算特性恰好適應人工智能算法大數(shù)據(jù)并行計算的要求,如GPU比之前傳統(tǒng)的CPU在深度學習算法的運算上可以提高9倍到72倍的效率,因此開始嘗試使用GPU進行人工智能的計算。進入2010年后,云計算廣泛推廣,人工智能的研究人員可以通過云計算借助大量CPU和GPU進行混合運算,事實上今天人工智能主要的計算平臺還是云計算。但人工智能業(yè)界對于計算能力的要求不斷快速地提升,因此進入2015年后,業(yè)界開始研發(fā)針對人工智能的專用芯片,通過更好的硬件和芯片架構,在計算效率上進一步帶來10倍的提升。
人工智能核心計算芯片發(fā)展趨勢
目前,根據(jù)計算模式,人工智能核心計算芯片的發(fā)展分為兩個方向:一個是利用人工神經(jīng)網(wǎng)絡從功能層面模仿大腦的能力,其主要產品就是通常的CPU、GPU、FPGA及專用定制芯片ASIC。另一個神經(jīng)擬態(tài)計算則是從結構層面去逼近大腦,其結構還可進一步分為兩個層次,一是神經(jīng)網(wǎng)絡層面,與之相應的是神經(jīng)擬態(tài)架構和處理器,如IBM的TrueNorth芯片,這種芯片把數(shù)字處理器當作神經(jīng)元,把內存作為突觸。與傳統(tǒng)馮諾依曼結構不同,它的內存、CPU和通信部件完全集成在一起,因此信息的處理完全在本地進行,克服了傳統(tǒng)計算機內存與CPU之間的瓶頸。同時神經(jīng)元之間可以方便快捷地相互溝通,只要接收到其他神經(jīng)元發(fā)過來的脈沖(動作電位),這些神經(jīng)元就會同時做動作。二是神經(jīng)元層面,與之相應的是元器件層面的創(chuàng)新。如IBM蘇黎世研究中心宣布制造出世界上首個人造納米尺度隨機相變神經(jīng)元,可實現(xiàn)高速無監(jiān)督學習。
人工智能類腦芯片主要類型
從人工智能芯片所處的發(fā)展階段來看,從結構層面去模仿大腦運算雖然是人工智能追求的終極目標,但距離現(xiàn)實應用仍然較為遙遠,功能層面的模仿才是當前主流。因此CPU、GPU和FPGA等通用芯片是目前人工智能領域的主要芯片,而針對神經(jīng)網(wǎng)絡算法的專用芯片ASIC也正在被Intel、Google、英偉達和眾多初創(chuàng)公司陸續(xù)推出,并有望將在今后數(shù)年內取代當前的通用芯片成為人工智能芯片的主力。
人工智能芯片(二):GPU
“人工智能算法的實現(xiàn)需要強大的計算能力支撐,特別是深度學習算法的大規(guī)模使用,對計算能力提出了更高的要求。”
傳統(tǒng)的通用CPU之所以不適合人工智能算法的執(zhí)行,主要原因在于其計算指令遵循串行執(zhí)行的方式,沒能發(fā)揮出芯片的全部潛力。與之不同的是,GPU具有高并行結構,在處理圖形數(shù)據(jù)和復雜算法方面擁有比CPU更高的效率。對比GPU和CPU在結構上的差異,CPU大部分面積為控制器和寄存器,而GPU擁有更多的ALU(ARITHMETIC LOGIC UNIT,邏輯運算單元)用于數(shù)據(jù)處理,這樣的結構適合對密集型數(shù)據(jù)進行并行處理。CPU執(zhí)行計算任務時,一個時刻只處理一個數(shù)據(jù),不存在真正意義上的并行,而GPU具有多個處理器核,在一個時刻可以并行處理多個數(shù)據(jù)。程序在GPU系統(tǒng)上的運行速度相較于單核CPU往往提升幾十倍乃至上千倍。隨著英偉達、AMD等公司不斷推進其GPU的大規(guī)模并行架構支持,面向通用計算的GPU(即GPGPU,GENERAL PURPOSE GPU,通用計算圖形處理器)已成為加速可并行應用程序的重要手段。
CPU及GPU結構及功能對比
GPU的發(fā)展經(jīng)歷了三個階段:第一代GPU(1999年以前),部分功能從CPU分離,實現(xiàn)硬件加速,以GE(GEOMETRY ENGINE)為代表,只能起到3D 圖像處理的加速作用,不具有軟件編程特性。
第二代GPU(1999-2005年),實現(xiàn)進一步的硬件加速和有限的編程性。1999年英偉達GEFORCE 256將T&L(TRANSFORM AND LIGHTING)等功能從CPU分離出來,實現(xiàn)了快速變換,這成為GPU真正出現(xiàn)的標志;2001年英偉達和ATI分別推出的GEFORCE3和RADEON 8500,圖形硬件的流水線被定義為流處理器,出現(xiàn)了頂點級可編程性,同時像素級也具有有限的編程性,但GPU 的編程性比較有限。
第三代GPU(2006年以后),GPU實現(xiàn)方便的編程環(huán)境可以直接編寫程序;2006年英偉達與ATI分別推出了CUDA(COMPUTER UNIFIED DEVICE ARCHITECTURE,統(tǒng)一計算架構)編程環(huán)境和CTM(CLOSE TO THE METAL)編程環(huán)境;2008年,蘋果公司提出一個通用的并行計算編程平臺OPENCL(OPEN COMPUTING LANGUAGE,開放運算語言),與CUDA綁定在英偉達的顯卡上不同,OPENCL和具體的計算設備沒有關系。
GPU芯片的發(fā)展階段
目前,GPU已經(jīng)發(fā)展到較為成熟的階段。谷歌、FACEBOOK、微軟、TWITTER和百度等公司都在使用GPU分析圖片、視頻和音頻文件,以改進搜索和圖像標簽等應用功能。GPU也被應用于VR/AR 相關的產業(yè)。此外,很多汽車生產商也在使用GPU芯片發(fā)展無人駕駛。
根據(jù)研究公司TRACTICA LLC 預測,用于人工智能的GPU將從2016年的不到一億美元增長到2025年的140億美元,GPU將出現(xiàn)爆炸式增長。
2016-2025年不同區(qū)域人工智能GPU收入預測(來源:TRACTICA)
近十年來,人工智能的通用計算GPU完全由英偉達引領。2010年英偉達就開始布局人工智能產品,2014年宣布了新一代PASCAL GPU芯片架構,這是英偉達的第五代GPU架構,也是首個為深度學習而設計的GPU,它支持所有主流的深度學習計算框架。2016年上半年,英偉達又針對神經(jīng)網(wǎng)絡訓練過程推出了基于PASCAL架構的TESLA P100芯片以及相應的超級計算機DGX-1。對于TESLA P100,英偉達首席執(zhí)行官黃仁勛稱這款GPU的開發(fā)費用高達20億美元,而英偉達全年的營收也不過才50億美元。深度學習超級計算機DGX-1包含TESLA P100 GPU加速器,并采用英偉達NVLINK互聯(lián)技術,軟件堆棧包含主要深度學習框架、深度學習SDK、DIGITS GPU訓練系統(tǒng)、驅動程序和CUDA,能夠快速設計深度神經(jīng)網(wǎng)絡(DNN)。擁有高達170TFLOPS的半精度浮點運算能力,相當于250臺傳統(tǒng)服務器,可以將深度學習的訓練速度加快75倍,將CPU性能提升56倍,報價12.9萬美元。2016年9月北京GTC大會上,英偉達針對神經(jīng)網(wǎng)絡推理過程又推出了基于PASCAL的產品TESLA P4/P40。
AMD則在2016年底集中發(fā)布了一系列人工智能產品,包括3款圖形加速卡(品牌名MI),4款OEM機箱和一系列開源軟件,以及下一代VEGA架構的GPU芯片。未來,AMD希望MI系列硬件加速器、ROCM 軟件平臺和基于ZEN的32核以及64核服務器CPU三者合力,為超算客戶提供一整套基于AMD產品線的解決方案。
除了英偉達和AMD之外,INTEL計劃在2017年將深度學習推理加速器和72核至強XEON PHI芯片推向市場。除了傳統(tǒng)的CPU、GPU大廠,移動領域的眾巨頭在GPU的布局也非常值得關注。據(jù)說蘋果也在搜羅GPU開發(fā)人才以進軍VR市場,目前蘋果A9的GPU性能與驍龍820相當,A9 GPU采用
除了英偉達和AMD之外,INTEL計劃在2017年將深度學習推理加速器和72核至強XEON PHI芯片推向市場。除了傳統(tǒng)的CPU、GPU大廠,移動領域的眾巨頭在GPU的布局也非常值得關注。據(jù)說蘋果也在搜羅GPU開發(fā)人才以進軍VR市場,目前蘋果A9的GPU性能與驍龍820相當,A9 GPU采用的是POWERVR ROGUE家族的另外一種設計——GT7600,而蘋果開發(fā)的A9X處理器性能與INTEL的酷睿M處理器相當,斷了移動處理器市場的ARM也開始重視GPU市場,其推出的MALI系列GPU憑借低功耗、低價等優(yōu)勢逐漸崛起。
人工智能芯片(三):FPGA
FPGA(FIELD-PROGRAMMABLE GATE ARRAY),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD 等可編程器件的基礎上進一步發(fā)展的產物。用戶可以通過燒入FPGA配置文件來定義這些門電路以及存儲器之間的連線。這種燒入不是一次性的,即用戶可以把FPGA配置成一個微控制器MCU,使用完畢后可以編輯配置文件把同一個FPGA配置成一個音頻編解碼器。因此它既解決了定制電路靈活性的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。
FPGA內部包含大量重復的IOB、CLB和布線信道等基本單元。FPGA在出廠時是“萬能芯片”,用戶可根據(jù)自身需求,用硬件描述語言(HDL)對FPGA的硬件電路進行設計;每完成一次燒錄,F(xiàn)PGA內部的硬件電路就有了確定的連接方式,具有了一定的功能;輸入的數(shù)據(jù)只需要依次經(jīng)過各個門電路,就可以得到輸出結果。換言之,F(xiàn)PGA的輸入到輸出之間并沒有計算過程,只是通過燒錄好的硬件電路完成信號的傳輸,因此對于計算任務的針對性非常強,速度很高。而正是因為FPGA的這種工作模式,決定了需要預先布置大量門陣列以滿足用戶的設計需求,因此有“以面積換速度”的說法:使用大量的門電路陣列,消耗更多的FPGA內核資源,用來提升整個系統(tǒng)的運行速度。
FPGA在人工智能領域的應用
FPGA可同時進行數(shù)據(jù)并行和任務并行計算,在處理特定應用時有更加明顯的效率。對于某個特定運算,通用CPU可能需要多個時鐘周期;而FPGA可以通過編程重組電路,直接生成專用電路,僅消耗少量甚至一次時鐘周期就可完成運算。
在功耗方面,F(xiàn)PGA也具有明顯優(yōu)勢,其能耗比是 CPU的10倍以上、GPU的3倍。究其原因,在FPGA中沒有去指令與指令譯碼操作,在INTEL的CPU里,由于使用了CISC架構,僅僅譯碼就占整個芯片能耗的約50%;在GPU里,取指與譯碼也消耗10%至20%的能耗。
此外,由于FPGA的靈活性,很多使用通用處理器或ASIC難以實現(xiàn)的下層硬件控制操作技術利用FPGA可以很方便的實現(xiàn),從而為算法的功能實現(xiàn)和優(yōu)化留出了更大空間。同時FPGA一次性成本(光刻掩模制作成本)遠低于ASIC,在芯片需求還未成規(guī)模、深度學習算法暫未穩(wěn)定需要不斷迭代改進的情況下,利用具備可重構特性的FPGA芯片來實現(xiàn)半定制的人工智能芯片是最佳選擇。
由于FPGA靈活快速的特點,在眾多領域都有替代ASIC的趨勢,據(jù)市場機構GRANDVIEW RESEARCH的數(shù)據(jù),F(xiàn)PGA市場將從2015年的63.6億增長到2024年的約110億美元,年均增長率在6%。
2014-2024年全球FPGA市場規(guī)模預測(來源:GRANDVIEW RESEARCH)
目前,F(xiàn)PGA市場基本上全部被國外XILINX、ALTERA(現(xiàn)并入INTEL)、LATTICE、MICROSEMI四家占據(jù)。其中XILINX和ALTERA兩大公司對FPGA的技術與市場占據(jù)絕對壟斷地位。在ALTERA尚未被INTEL收購的2014年,XILINX和ALTERA分別實現(xiàn)23.8億美元和19.3億美元的營收,分別占有48%和41%的市場份額,而同年LATTICE和MICROSEMI(僅FPGA業(yè)務部分)兩公司營收為3.66億美元和2.75億美元,前兩大廠商占據(jù)了近90%的市場份額。
2015年FPGA廠商市場份額分析(來源:IHS)
人工智能芯片(四):專用集成電路
目前以深度學習為代表的人工智能計算需求,主要采用GPU、FPGA等已有適合并行計算的通用芯片來實現(xiàn)加速。在產業(yè)應用沒有大規(guī)模興起之時,使用這類已有的通用芯片可以避免專門研發(fā)定制芯片(ASIC)的高投入和高風險。但是,由于這類通用芯片設計初衷并非專門針對深度學習,因而天然存在性能、功耗等方面的瓶頸。隨著人工智能應用規(guī)模的擴大,這類問題將日益突出。
GPU 作為圖像處理器,設計初衷是為了應對圖像處理中需要大規(guī)模并行計算。因此,其在應用于深度學習算法時,有三個方面的局限性:第一, 應用過程中無法充分發(fā)揮并行計算優(yōu)勢。深度學習包含訓練和應用兩個計算環(huán)節(jié),GPU 在深度學習算法訓練上非常高效,但在應用時一次性只能對于一張輸入圖像進行處理,并行度的優(yōu)勢不能完全發(fā)揮。 第二, 硬件結構固定不具備可編程性。深度學習算法還未完全穩(wěn)定,若深度學習算法發(fā)生大的變化,GPU無法像FPGA一樣可以靈活的配制硬件結構; 第三, 運行深度學習算法能效遠低于FPGA。
盡管FPGA倍受看好,甚至新一代百度大腦也是基于FPGA平臺研發(fā),但其畢竟不是專門為了適用深度學習算法而研發(fā),實際仍然存在不少局限:第一,基本單元的計算能力有限。為了實現(xiàn)可重構特性,F(xiàn)PGA內部有大量極細粒度的基本單元,但是每個單元的計算能力(主要依靠LUT查找表)都遠遠低于CPU和GPU中的ALU模塊。第二,速度和功耗相對專用定制芯片(ASIC)仍然存在不小差距; 第三,F(xiàn)PGA價格較為昂貴,在規(guī)模放量的情況下單塊FPGA的成本要遠高于專用定制芯片。
因此,隨著人工智能算法和應用技術的日益發(fā)展,以及人工智能專用芯片ASIC產業(yè)環(huán)境的逐漸成熟,人工智能ASIC將成為人工智能計算芯片發(fā)展的必然趨勢。
首先,定制芯片的性能提升非常明顯。例如英偉達首款專門為深度學習從零開始設計的芯片Tesla P100數(shù)據(jù)處理速度是其2014年推出GPU系列的12倍。谷歌為機器學習定制的芯片TPU將硬件性能提升至相當于當前芯片按摩爾定律發(fā)展7年后的水平。正如CPU改變了當年龐大的計算機一樣,人工智能ASIC芯片也將大幅改變如今AI硬件設備的面貌。如大名鼎鼎的AlphaGo使用了約170個圖形處理器(GPU)和1200 個中央處理器(CPU),這些設備需要占用一個機房,還要配備大功率的空調,以及多名專家進行系統(tǒng)維護。而如果全部使用專用芯片,非常可能只需要一個盒子大小,且功耗也會大幅降低。
第二,下游需求促進人工智能芯片專用化。從服務器,計算機到無人駕駛汽車、無人機再到智能家居的各類家電,至少數(shù)十倍于智能手機體量的設備需要引入感知交互能力和人工智能計算能力。而出于對實時性的要求以及訓練數(shù)據(jù)隱私等考慮,這些能力不可能完全依賴云端,必須要有本地的軟硬件基礎平臺支撐,這將帶來海量的人工智能芯片的需求。
近兩年,國內國外人工智能芯片層出不窮。英偉達在2016年宣布研發(fā)投入超過20億美元用于深度學習專用芯片,而谷歌為深度學習定制的TPU芯片甚至已經(jīng)秘密運行一年,該芯片直接支撐了震驚全球的人機圍棋大戰(zhàn)。無論是英偉達、谷歌、IBM、高通還是國內的中星微、寒武紀,巨頭和新創(chuàng)企業(yè)都將人工智能芯片視為具有戰(zhàn)略意義的關鍵技術進行布局,人工智能芯片正呈現(xiàn)百花齊放的局面。
人工智能專用芯片研發(fā)情況一覽
目前人工智能專用芯片的發(fā)展方向包括:主要基于FPGA的半定制、針對深度學習算法的全定制和類腦計算芯片三個階段。
在芯片需求還未成規(guī)模、深度學習算法暫未穩(wěn)定需要不斷迭代改進的情況下,利用具備可重構特性的FPGA芯片來實現(xiàn)半定制的人工智能芯片是最佳選擇。這類芯片中的杰出代表是國內初創(chuàng)公司深鑒科技,該公司設計了“深度學習處理單元”(Deep Processing Unit,DPU)的芯片,希望以ASIC級別的功耗來達到優(yōu)于GPU的性能,其第一批產品就是基于FPGA平臺。這種半定制芯片雖然依托于FPGA平臺,但是利用抽象出了指令集與編譯器,可以快速開發(fā)、快速迭代,與專用的FPGA加速器產品相比,也具有非常明顯的優(yōu)勢。
在針對深度學習算法的全定制階段,芯片是完全采用 ASIC 設計方法全定制,性能、功耗和面積等指標面向深度學習算法都做到了最優(yōu)。谷歌的TPU芯片、我國中科院計算所的寒武紀深度學習處理器芯片就是這類芯片的典型代表。
在類腦計算階段,芯片的設計目的不再局限于僅僅加速深度學習算法,而是在芯片基本結構甚至器件層面上希望能夠開發(fā)出新的類腦計算機體系結構,比如會采用憶阻器和ReRAM等新器件來提高存儲密度。這類芯片的研究離成為市場上可以大規(guī)模廣泛使用的成熟技術還有很大的差距,甚至有很大的風險,但是長期來看類腦芯片有可能會帶來計算體系的革命。 這類芯片的典型代表是IBM的Truenorh芯片。類腦計算芯片市場空間巨大。根據(jù)第三方預測,包含消費終端的類腦計算芯片市場將在2022年以前達到千億美元的規(guī)模,其中消費終端是最大市場,占整體98%,其他需求包括工業(yè)檢測、航空、軍事與國防等領域。
評論