原標題:AI芯片:技術發展方向及應用場景落地

無論雲端訓練還是邊緣端推理,AI都需要高能效的算力支持,而AI芯片無疑是輸送算力的硬件保障。傳統的通用型CPU、GPU甚至FPGA難以滿足特定應用場景的AI需求,基於特定域架構(DSA)的AI芯片和深度學習加速器(DLA)應運而生,這爲專門開發AI芯片的初創公司帶來了發展機會,並在全球範圍催生了多家AI芯片獨角獸公司。

然而,經過幾年的喧鬧後,AI應用場景的落地成爲最大難題。AI芯片的設計不是簡單的高性能微處理器硬件設計,而是涉及應用場景特定需求和算法的軟硬件一體化設計。那麼,AI芯片的技術發展未來在哪裏?如何真正實現AI場景落地實施和商用呢?

軟硬件全棧集成處理器

AI芯片是針對人工智能領域的專用芯片,主要支撐AI算法的運行,它是一種軟硬件全棧集成的專用處理器。

人工智能與其它應用領域有很大的不同,主要體現在如下四個方面:

1.AI有着快速增長的市場需求。除了CPU和其他通用計算覆蓋的市場外,AI芯片是新興領域中需求量最大的計算處理芯片。

2.AI算法的計算量巨大。隨着數據積累和更復雜算法的出現,對計算能力的需求也在快速提高。同時,實時計算進一步增加了對計算芯片響應能力的需求。

3.AI算法的並行計算特徵。AI算法有大量的規則可以並行計算操作,例如像矩陣、卷積運算等這些操作裏面存在大量可以並行處理的數學結構,我們可以用並行計算對其進行加速。

4.計算本身的可複用性。除了單純的計算以外,數據計算結構上還有一個很大的特點,就是大量的數據複用是可以被挖掘的。有了數據複用,我們就可以設計更好的存儲結構來優化芯片的處理效率。

基於深度學習的人工智能計算有自己獨特的計算特徵,且計算量、數據量、帶寬都非常大。傳統的計算架構不具備針對性,應對起來顯得力不從心。而AI 芯片裏的AI 處理器針對AI計算需求做出了針對性的加強補充,讓其具備澎湃算力、超大帶寬、豐裕存儲,並可讓其計算方式特別適合AI計算領域的算法需求。

上海燧原科技AI處理器研發資深總監馮闖認爲,在深度學習計算中,從頂層的軟件框架、算子、設備驅動到底層的硬件AI處理器,軟件的垂直整合一直深入到AI處理器的核心指令定義及架構,貫徹了自上而下的設計思路。爲了達到極致性能,有些高頻操作是需要在計算設備端進行的,比如大量的數據流調度、數據整形、同步、計算圖流程處理等。所以系統的軟硬件邊界上移,深度學習軟件棧的大部分操作可以直接運行在計算設備之上,這樣能夠大幅減少主機和端側的同步開銷和數據搬運開銷,從而提供更好的性能。

馮闖

AI處理器研發資深總監

上海燧原科技

例如,燧原科技的通用AI訓練芯片專爲人工智能計算領域而設計,基於這種芯片的AI加速卡、燧原智能互聯技術,以及“馭算”計算及編程平臺可實現深度全棧集成,爲編程人員提供針對性的加速AI計算。

AI領域對AI芯片的需求是硬件加速和內嵌於硬件的特定功能,以管理人工智能/機器學習(AI/ML)任務,同時需要一整套成熟的軟件和工作流工具解決方案,以使開發人員和數據科學家能夠專注於他們在應用方面的創新。AI處理器也需要有完整的軟件棧,以便可以輕鬆地管理訓練、測試、精度優化和部署。

此外,AI芯片也是一個計算平臺,用來支撐城市管理、工業控制、自動駕駛和辦公自動化等各個應用領域的計算。作爲通用計算平臺,AI芯片需要支持整個算力的生態,支持不同算法、不同軟件應用的運行及部署,故而需要軟件工具才能真正發揮出AI芯片的價值。

因此在設計AI芯片時,其內部架構會針對人工智能領域的各類算法和應用作專門優化,爲常見的神經網絡計算設計專用的硬件計算模塊,以便高效支持視覺、語音、自然語言處理和傳統機器學習等智能處理任務,使之更適合AI算法和AI應用。

除了硬件(處理器)本身,AI芯片的實際應用還涉及架構配套軟件、開發工具等,需要考慮到主流的開發環境、用戶使用習慣、不同操作系統、不同開發框架,保證軟件易用性,以實現快速部署和系統集成。總之,AI芯片是一個軟硬件一體的處理器,需要系統架構、軟件工具和生態的支撐,才能更好的支持算法部署和應用場景落地。

指令集架構 VS. 數據流架構

AI芯片的設計架構有很多種,從底層計算機體系結構的角度來看,主要有指令集架構和數據流架構。指令集的發展相對較早,CPU、GPU及TPU的底層架構都是依託於馮諾依曼體系的指令集架構,其核心思路是將計算分爲處理單元、控制單元、存儲指令的指令存儲器,以及存儲數據的數據存儲器。其中控制單元用於讀取指令和數據,讓處理單元完成整個計算過程。現代指令集架構引入了流水線處理、數據緩存、數據預取等多種架構創新,以不斷降低由於數據和指令等待帶來的計算資源閒置。但是,導致指令集架構計算空閒的核心問題並沒有徹底解決,而且指令集架構不斷提升的峯值算力也進一步加劇了指令集架構的閒置時間。

面向特定領域的應用,數據流架構開始發揮出高性能的優勢。針對AI領域的算力平臺需求,數據流架構依託數據流動方式來支持計算。據鯤雲科技創始人兼CEO牛昕宇博士介紹,

牛昕宇博士

創始人兼CEO

鯤雲科技

數據流架構不依託指令集執行次序,其數據計算和數據流動重疊,可以壓縮計算資源的每一個空閒時間,突破算力性能瓶頸。與此同時,數據流架構通過動態重構數據流流水線,能夠通用支持主流人工智能算法,滿足計算平臺的通用性要求。比如,鯤雲近期發佈的星空X3加速卡採用的就是定製數據流技術,其AI芯片利用率最高可達到95.4%。基於數據流架構的AI芯片可以突破指令集架構芯片的利用率侷限性,在同等峯值算力前提下可提供更高的實測性能。

CAISA 3.0架構圖(來源:鯤雲科技)

賽靈思(Xilinx)人工智能研發高級總監單羿則認爲,無論哪種架構其實都是在引擎內部計算陣列和數據發射和存貯的組織方式,今天看來已經不是區分AI芯片架構的主要特徵。AI芯片有一個非常通俗的理解,那就是大核還是小核。其區別在於,你是做一個或若干個大規模的單引擎,還是利用成百上千個小規模的引擎來提升計算的性能。

單羿

人工智能研發高級總監

賽靈思(Xilinx)

數據流架構的優勢就是可以省掉不同的處理模塊之間的緩衝,將多種運算單元進行級聯處理。是不是可以把AI運算的所有運算單元全都變成一個數據流的架構?顯然這是不現實的,因爲深度神經網絡層級是比較深的,很難把所有的運算都變成全數據流架構。根據賽靈思的工程設計經驗,可以將一些層融合在一起變成數據流的架構,當作一個單元,進而複製到多層運算。

GPU、FPGA和ASIC(或DLA)的綜合能效對比

當前主流的 AI 芯片主要有GPU、FPGA和ASIC(或深度學習專用加速器DLA)。圖形處理器(GPU)基於多核的特性,由大量內核組成大規模並行計算架構,再配合GPU的軟件生態支持人工智能開發。憑藉豐富的軟件生態系統和開發工具,再加上易於部署的特點,由英偉達主導的GPU在早期的人工智能計算中得到了大量採用,直到現在仍是最爲普及的AI處理器。

據Imagination產品營銷高級總監Andrew Grant稱,GPU尤其適合AI訓練或者運行計算工作負載。比如,Imagination的神經網絡加速器(NNA)是專門針對乘累加(MAC)功能設計的,這對於神經網絡工作負載而言是必不可少的。嵌入式GPU在運行神經網絡任務方面比嵌入式CPU快10-20倍,且效率更高,而NNA可以比CPU快100-200倍,在性能方面又有10倍的提升。

Andrew Grant

產品營銷高級總監

Imagination

FPGA(現場可編程門陣列)是一種半定製的電路硬件,其功能可以通過編程來修改,並行計算能力很強。可以針對不同的需求,在FPGA上實現多種硬件架構,在特定領域構建合適的加速單元來獲得最優的處理效果。另外,FPGA在數據精度上是最靈活的,因爲從比特級到4比特、8比特、半精度、全精度,這些都可以實現。尤其是在低比特的定點運算中,它會有更大的優勢。

ASIC是面向特定應用需求而定製開發的芯片,通常具有更高的性能和更低的總體功耗。但是,ASIC不能適應快速變化的AI網絡模型和新的數據格式,如果沒有足夠大的出貨量可能難以抵消高昂的開發成本。在性能表現上,針對特定領域的ASIC芯片通常具有優勢。如果出貨量可觀,其單顆成本可做到遠低於FPGA和GPU。

像NNA或DLA這樣的ASIC以超高效率運行AI任務爲首要設計目標,要比其他替代方案快幾個數量級,並且具有高能效比(TOPS/watt)。當以集羣方式使用多個專用內核時,甚至可以提供高達500 TOPS的運算能力。隨着AI應用場景的落地,專用的ASIC芯片量產成本低、性能高、功耗低的優勢會逐漸凸顯出來。

下表簡單地比較了FPGA、GPU和ASIC架構的性能、功耗和靈活性。

AI部署模式正在發生轉變,它們不僅被部署於數據中心,而且越來越多地被部署在功耗和散熱要求比較嚴格的邊緣設備上。現在,每瓦功耗所提供的性能(或稱爲性能/功耗比)通常比簡單的性能指標(TOPS)更爲重要。隨着AI算法的不斷演進,網絡模型和數據格式也在不斷演化發展。GPU、FPGA和ASIC各有優缺點,因此都會在各自適合的AI應用場景找到用武之地。

人工智能和5G爆發對AI芯片設計的影響

AI和5G的爆發將爲邊緣AI芯片的應用與發展帶來正向促進作用。得益於5G商用的推動,邊緣計算需求增長,越來越多邊緣服務器部署,人工智能在邊緣側的應用趨勢也不斷增強。5G大帶寬、低時延的特點打破了以往由於網絡帶寬和速率的侷限,使得對響應高計算量、毫秒級低時延的場景落地更加現實,比如車聯網、智能製造、醫療等。

此外,5G的到來使得邊緣和數據中心之間的界限變得更加模糊,計算處理任務分配會更合理,邊緣端和雲端更有機地結合。而且5G傳輸的損耗和延遲變小,我們可以做更多的應用,對雲端AI芯片的使用效率也有更大的提升。

AI已經越來越多地融入我們的工作和生活,也開始創造一些真實的價值,比如通過AI對新冠疫情進行有效地控制。地平線聯合創始人兼技術副總裁黃暢在採訪中表示,地平線一直在思考如何在邊緣做Al芯片及解決方案,以及如何讓AI廣泛落地。地平線最近發佈了新一代AIoT邊緣AI芯片平臺—旭日3,其AI計算能力能夠適應先進的神經網絡。基於自主研發的AI專用處理器架構BPU(Brain Processing Unit),旭日3芯片最大的亮點就是BPU優化,帶來軟硬協同的硬件架構。藉助這一AI芯片平臺,地平線將持續深化在AIoT領域的戰略佈局與行業場景滲透,發揮軟硬結合優勢,通過芯片工具鏈與全場景一站式解決方案賦能各個行業,更高效地落地AI應用,全面釋放AI動能。

黃暢

聯合創始人兼技術副總裁

地平線

AI和5G的普及也將AI芯片的應用場景擴展到工業領域。Andrew Grant列舉出5G在智能工廠的用例,基於“機器人集羣”方式對工業機器人進行管理。在這種方式中,指令可以從集羣中心發送給機器人,也可以利用半聯邦學習(semi-federated learning)方法在機器人之間傳送。在使用機器人和數字孿生技術的智能工廠,貨物揀選、包裝和運輸的每個環節都將實現自動化,同時計算機視覺任務與神經網絡相結合可以支持機器人去識別、揀選、分類和包裝所有類型的產品。此外,可以將機器人部署在人類不想去的地方,比如不太適合人類的3D(Difficult困難、Dirty骯髒、Dangerous危險)環境。在當前的疫情下,我們已經看到機器人和機器車深入參與到很多健康保障應用場景中,我們將越來越多地看到AI被廣泛部署在醫院和醫療保健領域。

從數據中心到邊緣設備,人工智能應用場景的激增將推動AI芯片的設計向前發展,以實現更高的能效比,並提供硬件可編程性來支持各種工作負載。由於散熱和功耗的限制,能效比在邊緣上至關重要,其重要性遠高於在數據中心中的應用。

隨着人工智能被越來越多地部署在邊緣位置,並與5G提供的實時處理能力相結合,市場將需要一種全新的AI芯片架構,它必須具有低功耗和可編程性。此外,它需要提供延遲極低的處理能力,並且每種設計的應用批量比以前更小。針對這些應用需求,Achronix開發出現場可編程且能夠適應變化工作負載的Speedster7t系列FPGA芯片。

據Achronix公司產品營銷總監Bob Siller介紹,該FPGA芯片支持數據速率高達112Gbps的高速I/O,連接到高性能處理單元就可以滿足邊緣應用的低延遲和高確定性處理要求。此外,其內置的高性能機器學習處理器是帶有本地內存的高速算術單元,用於存儲AI算法所需的係數和權重。

Bob Siller

產品營銷總監

Achronix公司

5G和AI的發展都對算力提出了更高的需求,也對AI芯片架構和軟件支持提出了越來越高的要求。更高性能、更低功耗、更小面積、更低成本永遠都是芯片設計追求的目標。牛昕宇博士強調,峯值性能、功耗、芯片面積和成本這些指標除了與設計相關,更關鍵的影響因素是芯片採用的工藝。在同等芯片面積下,更先進的工藝明顯有助於提升峯值性能和能效比,但這也同時會帶來芯片開發成本的顯著提升。鯤雲科技採用了一條與衆不同的技術路線,就是提升芯片的利用率。通過定製數據流架構把芯片利用率提升到95%甚至更高,在同樣的工藝下可以給芯片帶來更高的實測性能和更高的算力性價比。

AI芯片在雲端和邊緣端的發展瓶頸

在雲端訓練和雲端推理計算領域,AI芯片發揮着巨大的加速作用。與此同時,它也面臨着一些挑戰。作爲AI算力的主要應用場景,雲端發展需要解決算力性價比與通用性問題。算力性價比決定了人工智能應用的部署成本,而算力通用性及軟件生態決定着不同算法的遷移及開發成本。

提升算力性價比有兩個方式,一方面可以通過提升芯片峯值算力獲得,這需要大量資金投入不斷迭代工藝製程;另一方面可以通過提升芯片利用率獲得,在同等的峯值算力下發揮更高的實測性能。鯤雲科技的牛昕宇博士認爲,對於初創企業而言,通過底層架構創新大幅拉開芯片利用率差距,從而獲得產品層面的競爭優勢,是突破現有巨頭競爭格局下算力瓶頸的一條有效道路。

雲端計算芯片的算力提升時,功耗上升得非常快,容易遇到功耗牆。雖然芯片硬件規格上提供了澎湃算力,但是當被功耗牆頻繁阻擋住時,客戶所得算力也受限,因此能耗成爲發揮芯片算力的瓶頸。燧原科技的馮闖認爲,既要提高能耗比、又能夠支持靈活多變的計算形式需求,這是AI芯片在發展過程中的很大挑戰。

在雲端訓練方面,單個AI芯片因爲散熱問題而到了天花板,業界開始採用成百上千個GPU集羣進行訓練,但這又出現了多機多卡的通信效率問題。而在雲端推理方面,面臨的是單芯片的峯值算力問題。在功耗、訪存帶寬以及工藝限制情況下,效率怎樣才能設計到最優?這就涉及到芯片的微架構改進,包括引擎內計算架構、並行的處理架構、層次化的存儲能力等。

總之,對良好編程模型的支持、能耗比、算力性價比,以及靈活的計算形式支持,是針對雲端AI訓練的AI芯片發展路上必須要克服的瓶頸。

在邊緣和終端這一側,AI芯片所面臨的挑戰是它們會被部署在各種各樣的應用環境中。芯片供應商通常會想方設法將成本和芯片面積最小化,其實他們更應該放眼未來,將靈活性和性能構建於自己的系統級芯片(SoC)中。此外,SoC外圍的一些接口和模塊需要和具體的場景相結合。例如,用在工業場景的芯片是很難用到自動駕駛的,而用在監控裏的芯片跟前面兩種又不一樣。

即便在同一個垂直場景裏,也需要考慮不同模塊之間的任務負載均衡問題。賽靈思的單羿認爲,FPGA因爲有靈活可編程的優勢,可以根據場景的持續需求調整這些模塊之間的資源佔用比例,從而達到全系統最優的效果。

ADAS/自動駕駛應用場景落地

AI芯片的落地意義在於依託於AI芯片,能形成有競爭力的人工智能解決方案。AI芯片的核心功能就是實現AI算法的計算加速,需要針對落地場景、算法精度、行業應用需求端到端打磨AI芯片及軟件支持,深度融合AI芯片硬件及軟件以支持人工智能方案落地。

在ADAS/自動駕駛應用場景下,AI芯片的核心價值就是實時處理行駛道路上的人、車、物等複雜環境的感知和決策。要處理來自不同傳感器(激光雷達、攝像頭、毫米波雷達等)所採集的多樣化信息,AI芯片必須具有超高的算力和極致效能,因爲這些信息的處理需要在非常高分辨率的情況下做大量計算,才能夠把環境感知到足夠準確。此外,這些感知和決策是和人的安全直接相關的,所以對精度和可靠性也有極高的要求。

到目前爲止,在自動駕駛/ADAS場景中的AI和計算任務還都是在通用CPU/GPU上運行,而不是專用AI芯片。然而這一切將會改變,因爲低功耗、高性能的嵌入式AI芯片將在ADAS所要執行的任務中帶來出色表現,因爲ADAS依賴於運行多個網絡來高速、準確地提供數據驅動的決策。

正如地平線創始人兼CEO餘凱的比喻,車載AI芯片其實就是智能化汽車的數字發動機,算力就好比智能汽車的腦容量,自動駕駛每往上提升一級,所需的芯片算力就要翻一個數量級。要實現完全自動駕駛,需要在四個輪子上搭載“天河二號”級別的計算能力。

以地平線已經大規模商用落地的車規級AI芯片——征程2爲例,它基於軟硬結合的創新設計理念,可提供4 TOPS等效算力,典型功耗僅2瓦;而且具有極高的算力有效性,每TOPS算力可達同等算力GPU的10倍以上。該芯片現已應用於智能輔助駕駛、高級別自動駕駛、高精建圖與定位,以及智能座艙等智能駕駛場景。

AI芯片遇到的技術難題在於靈活開放地匹配多樣化上層應用。現在整車企業需要掌握越來越多的自主軟件迭代開發能力,這時候AI芯片本身的開放易用性,完善的算法模型庫,以及靈活易用性就變得非常重要。現今汽車軟件的開發工作如此巨大,軟件堆棧異常複雜,沒有一家公司能單獨完成所有軟件的開發,而且主機廠都有開發差異化、個性化應用的需求。只有合作才能滿足高效的迭代算法能力,把芯片算力和整體系統性方案發揮到極致。

智能語音應用場景落地

智能語音識別和處理應用對AI芯片的要求是低延遲,以及能夠管理長/短期記憶網絡(LSTM)和循環神經網絡(RNN)所需的反饋迴路。這意味着基於時間來接收信息,然後對其進行處理並添加含義。解包/展開(unpack/unroll)能力、存儲狀態和反饋迴路意味着這類神經網絡通常在雲端使用,而現在則越來越多地用於邊緣處理。

圖像視頻更多是使用卷積型的網絡算法,這類運算其實有大量的數據複用空間。但對於語音識別而言,更多的是用RNFPM模型,這類模型更像是傳統的矩陣運算,它會對外部的存儲和帶寬要求高一些,而數據複用的機會實際上是比較少的。

在語音識別和處理的應用場景裏,神經網絡可能只佔其中的一半,這時只用一個AI芯片是不夠的,還需要關注前後處理的模塊。此外,語音處理在數據精度上要求更苛刻,很難全部用8比特的定點來表達數據格式,獲得足夠高的準確率,所以在數據精度上像8比特、16比特甚至半精度的點都需要支持。

智能視覺應用場景落地

在智能視覺場景中,AI芯片可以非常好地與多種特定應用的算法協同工作。採用帶有成熟軟件和開發工具的AI芯片,應用開發人員在將應用算法部署到目標之前,就可以使用線下工具來對其進行優化。隨着新零售、機器人、安防等應用的發展,業界也在開發軟件工具來提供支持,以便可以將框架或新型神經網絡方面的進展分解爲多個構成要素並由AI芯片有效地運行。

如何實現軟硬協同,將AI芯片與特定應用的算法相結合是一個比較有挑戰性的問題。以賽靈思爲例,他們自己的算法團隊可以不斷地利用公開的數據集以及客戶需求,針對像數據中心、安防、自動駕駛、機器人以及醫療這些應用場景,去做一些模型訓練。

以激光雷達爲例,他們大概花了三個月進行密集開發,把點雲的檢測和分割,從算法訓練到模型編譯,到軟件部署,再到硬件的設計,做了全流程端到端的實現。在這個過程中,他們發現之前爲ADAS裏面Camera所準備的GPU不能很好的滿足激光雷達這個領域的應用。所以需要做很多硬件上甚至AI芯片架構上的修改,同時還要做一些軟件算法和硬件相結合的協同設計才能獲得比較理想的落地效果。

作者:顧正書

本文爲EET電子工程專輯原創,如需轉載,請留言

相關文章