(中國聯(lián)通研究院,中國 北京100048)
(China Unicom Research Institute, Beijing 100048, China)
人工智能(AI)是一項(xiàng)引領(lǐng)未來的技術(shù)。近年來,隨著深度學(xué)習(xí)、大數(shù)據(jù)、群體智能等技術(shù)在智慧醫(yī)療、智慧教育、智能安防、智能制造、智能巡檢等領(lǐng)域的廣泛應(yīng)用,人工智能已經(jīng)成為當(dāng)代社會一項(xiàng)通用的技術(shù)。算法、數(shù)據(jù)和算力共同組成人工智能的三要素。一直以來,算力以不同的形式存在于人類發(fā)展的各個(gè)階段,從古代的算盤到機(jī)械式計(jì)算器、電子計(jì)算器,再到晶體管、移動電話[1],算力已經(jīng)滲透到人們生活中的方方面面。
算力既是AI的基礎(chǔ),也是AI發(fā)展的主要驅(qū)動力。如同驅(qū)動前兩次工業(yè)革命的煤炭和電力一樣,算力也驅(qū)動著人工智能的革命不斷前行。在20世紀(jì)70年代,雖然人工神經(jīng)網(wǎng)絡(luò)模型的理論架構(gòu)已經(jīng)基本成熟,卻在之后的幾十年里一直沒能得到認(rèn)可和應(yīng)用,直到近來才得以“重見天日”,其中的根因就在于算力的限制,即當(dāng)時(shí)的算力無法有效支撐算法的運(yùn)行。在算法和數(shù)據(jù)確定的情況下,算力的增加可以使算法獲得更好的訓(xùn)練效果,同時(shí)大大減少有效的訓(xùn)練時(shí)間。據(jù)統(tǒng)計(jì)(如圖1所示),自2012年以來人們對于算力的需求增長超過30萬倍(而如果按照摩爾定律的速度,只有12倍的增長)。
在算力網(wǎng)絡(luò)時(shí)代,網(wǎng)絡(luò)與算力相融合作為基礎(chǔ)資源提供服務(wù)。運(yùn)營商基于算力網(wǎng)絡(luò)[2-4],為客戶提供所需算力和確定時(shí)延的產(chǎn)品。網(wǎng)絡(luò)為計(jì)算服務(wù)的價(jià)值在于釋放算力。目前,各種已經(jīng)興起的(例如虛擬現(xiàn)實(shí)/增強(qiáng)現(xiàn)實(shí))和潛在的(例如自動駕駛)智能業(yè)務(wù),均對算力提出了較高的要求,但是針對信息技術(shù)(IT)基礎(chǔ)設(shè)施,其面向業(yè)務(wù)所提供的算力需求并沒有量化,也沒有針對算力需求的分級。本文中,我們對異構(gòu)的IT算力資源進(jìn)行歸一化建模,并且提供算力的分級標(biāo)準(zhǔn),以便算力提供者在設(shè)計(jì)業(yè)務(wù)套餐時(shí)進(jìn)行參考。
▲圖1 從AlexNet到AlphaGo Zero訓(xùn)練類算力需求增長30萬倍
算力的衡量與建模是提供算力服務(wù)的基礎(chǔ)。將底層異構(gòu)算力資源量化建模,能夠形成業(yè)務(wù)層可理解、可快速使用的統(tǒng)一量化的算力資源。
算力是近年來業(yè)界討論的熱門話題,但對“算力是什么”這個(gè)問題一直沒有一個(gè)通用標(biāo)準(zhǔn)的定義。2018年,諾貝爾獎(jiǎng)獲得者、經(jīng)濟(jì)學(xué)者WILLIAM D. N.在《計(jì)算過程》中對算力進(jìn)行定義:算力是設(shè)備根據(jù)內(nèi)部狀態(tài)的改變,每秒可處理的信息數(shù)據(jù)量。
本文中,算力被定義為:算力是設(shè)備或平臺為完成某種業(yè)務(wù)所具備的處理業(yè)務(wù)信息的關(guān)鍵核心能力。它涉及設(shè)備或平臺的計(jì)算能力,包括邏輯運(yùn)算能力、并行計(jì)算能力、神經(jīng)網(wǎng)絡(luò)加速能力等。
根據(jù)所運(yùn)行算法和涉及的數(shù)據(jù)計(jì)算類型,算力可被分為邏輯運(yùn)算能力、并行計(jì)算能力和神經(jīng)網(wǎng)絡(luò)計(jì)算能力。
(1)邏輯運(yùn)算能力。
這種計(jì)算能力是一種通用的基礎(chǔ)運(yùn)算能力。硬件芯片代表是中央處理器(CPU),這類芯片需要大量的空間去放置存儲單元和控制單元。相比之下,計(jì)算單元只占據(jù)了很小的一部分。因此,它在大規(guī)模并行計(jì)算能力上很受限制,但可以用于邏輯控制。一般情況下,TOPS(表示處理器每秒鐘可進(jìn)行一萬億次操作)被用來衡量運(yùn)算能力。在某些情況下,能效比TOPS/W(表示在1 W功耗的情況下,處理器能進(jìn)行多少次操作)也可被作為評價(jià)處理器運(yùn)算能力的一個(gè)性能指標(biāo)。
(2)并行計(jì)算能力。
并行計(jì)算能力是指專門為了處理如圖形圖像等數(shù)據(jù)類型統(tǒng)一的一種高效計(jì)算能力,是一種比較通用的計(jì)算能力。這種計(jì)算能力特別適合處理大量的類型統(tǒng)一的數(shù)據(jù),不僅在圖形圖像處理領(lǐng)域大顯身手,同時(shí)還適用于科學(xué)計(jì)算、密碼破解、數(shù)值分析、海量數(shù)據(jù)處理(排序、Map-Reduce等)、金融分析等領(lǐng)域。
典型的硬件芯片代表是英偉達(dá)推崇的圖形處理單元(GPU)。GPU的構(gòu)成相對簡單,有數(shù)量眾多的計(jì)算單元和超長的流水線。浮點(diǎn)運(yùn)算能力常被作為并行計(jì)算的度量標(biāo)準(zhǔn)。單位TFLOPS/s可以簡單寫為T/s,意思是一萬億次浮點(diǎn)指令每秒。此外,相關(guān)單位還有MFLOPS、GFLOPS、PFLOPS。
(3)神經(jīng)網(wǎng)絡(luò)計(jì)算能力。
神經(jīng)網(wǎng)絡(luò)計(jì)算能力主要用于AI神經(jīng)網(wǎng)絡(luò)、機(jī)器學(xué)習(xí)類密集計(jì)算型業(yè)務(wù),是一種用來對機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)等進(jìn)行加速的計(jì)算能力。
近年來,廠商發(fā)布的AI類芯片都是為加速神經(jīng)網(wǎng)絡(luò)計(jì)算而設(shè)計(jì)的,例如華為技術(shù)有限公司的網(wǎng)絡(luò)處理器(NPU)、Google公司的張量處理單元(TPU)[5]。另外,機(jī)器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)的本質(zhì)是密集計(jì)算。Google公司工程師認(rèn)為:如果人們每天用3 min的語音搜索,但在運(yùn)行時(shí)沒有TPU加持的語音識別人物的話,運(yùn)營公司將需要建造兩倍多的數(shù)據(jù)中心。
專門做神經(jīng)網(wǎng)絡(luò)計(jì)算能力的芯片廠商都有各自測試的Benchmark,處理能力也大多是配合各自研發(fā)的算法。目前,這類能力常用的度量單位也是浮點(diǎn)計(jì)算能力FLOPS。浮點(diǎn)運(yùn)算能力高的計(jì)算設(shè)備能夠更好地滿足在同一時(shí)間里更多用戶的任務(wù)需求,可以更有效地處理高并發(fā)任務(wù)數(shù)量的業(yè)務(wù)。
算力的統(tǒng)一量化是算力調(diào)度和使用的基礎(chǔ)。如前所述,算力的需求可分為3類:邏輯運(yùn)算能力、并行計(jì)算能力以及神經(jīng)網(wǎng)絡(luò)加速能力。同時(shí)對不同的計(jì)算類型,不同廠商的芯片也各自不同的設(shè)計(jì),這就涉及異構(gòu)算力的統(tǒng)一度量[6-7]。不同芯片所提供的算力可通過度量函數(shù)映射到統(tǒng)一的量綱。針對異構(gòu)算力的設(shè)備和平臺,假設(shè)存在n個(gè)邏輯運(yùn)算芯片、m個(gè)并行計(jì)算芯片和p個(gè)神經(jīng)網(wǎng)絡(luò)加速芯片,那么業(yè)務(wù)的算力需求如公式(1)所示:
公式(1)中,Cbr為總的算力需求,f(x)是映射函數(shù),α、β、γ為映射比例系數(shù),q為冗余算力。以并行計(jì)算能力為例,假設(shè)有b1、b2、b33種不同類型的并行計(jì)算芯片資源,則f(bj)表示第j個(gè)并行計(jì)算芯片b可提供的并行計(jì)算能力的映射函數(shù),q2表示并行計(jì)算的冗余算力。
隨著AI、5G的興起,各種智能業(yè)務(wù)也應(yīng)運(yùn)而生,并呈現(xiàn)多樣化趨勢[8]。不同的業(yè)務(wù)運(yùn)行所需的算力需求的類型和量級也不盡相同,例如非實(shí)時(shí)、非移動的AI訓(xùn)練類業(yè)務(wù)。這類業(yè)務(wù)訓(xùn)練數(shù)據(jù)龐大,神經(jīng)網(wǎng)絡(luò)算法層數(shù)復(fù)雜,若想快速達(dá)到訓(xùn)練效果,需要計(jì)算能力和存儲能力都極高的運(yùn)行平臺或設(shè)備。對于實(shí)時(shí)類的推理業(yè)務(wù),一般要求網(wǎng)絡(luò)具有低時(shí)延,但對計(jì)算能力的需求則可降低幾個(gè)量級。將業(yè)務(wù)運(yùn)行所需的算力按照一定標(biāo)準(zhǔn)劃分為多個(gè)等級,不僅可供算力提供者在設(shè)計(jì)業(yè)務(wù)套餐時(shí)參考使用,還可以為算力平臺設(shè)計(jì)者在設(shè)計(jì)算力網(wǎng)絡(luò)平臺時(shí)提供算力資源選型依據(jù)。
由于智能應(yīng)用對算力的訴求主要是浮點(diǎn)運(yùn)算能力,因此,業(yè)務(wù)所需的浮點(diǎn)計(jì)算能力的大小可作為算力分級的依據(jù)。針對目前應(yīng)用的算力需求,可將算力劃分為4個(gè)等級,具體如表1所示。
從現(xiàn)有業(yè)務(wù)上看,超算類應(yīng)用、大型渲染類業(yè)務(wù)對算力的需求是最高的,可達(dá)到P級的算力需求,這類需求被定位為超大型算力;大型算力主要是AI訓(xùn)練類應(yīng)用,根據(jù)算法的不同以及訓(xùn)練數(shù)據(jù)的類型和大小,這類應(yīng)用所需的算力從T級到P級不等;小型算力則主要是針對類似AI推理類業(yè)務(wù),這類業(yè)務(wù)大多部署在終端邊緣,對算力的需求稍弱,從幾百G到T級不等;此外,小于500 GFLOPS的算力需求被定義為小型算力。
業(yè)務(wù)運(yùn)行需要平臺或設(shè)備的算力需求保障,同時(shí)不同類型的業(yè)務(wù)還需要諸如存儲能力、網(wǎng)絡(luò)服務(wù)等個(gè)性化能力[8]。
(1)存儲能力。在算力網(wǎng)絡(luò)中,存儲在數(shù)據(jù)處理過程中起到至關(guān)重要的作用。隨著數(shù)據(jù)處理需求的日益增長,數(shù)據(jù)存儲的重要性也顯著提升。內(nèi)存與顯存的數(shù)量可以作為關(guān)鍵指標(biāo)被用來衡量計(jì)算存儲的能力,通常以吉比特為單位。存儲能力在很大程度上會影響計(jì)算機(jī)的處理速率。
(2)網(wǎng)絡(luò)能力。在保障業(yè)務(wù)服務(wù)質(zhì)量(QoS)方面,網(wǎng)絡(luò)性能是一個(gè)非常重要的指標(biāo)(尤其是針對一些實(shí)時(shí)性業(yè)務(wù)),這就需要靈活調(diào)度部署網(wǎng)絡(luò)以滿足業(yè)務(wù)對時(shí)延和抖動的需求。對于人工智能應(yīng)用來說,模型的推理時(shí)延也是衡量算力的關(guān)鍵指標(biāo)。推理時(shí)延越低,用戶的體驗(yàn)越好,而較高的時(shí)延可能會導(dǎo)致某些實(shí)時(shí)應(yīng)用無法達(dá)到要求。
(3)編解碼能力。編解碼能力是利用設(shè)備或者程序?qū)π盘柣驍?shù)據(jù)流進(jìn)行變換的能力。這里的變換既包括將信號或者數(shù)據(jù)流進(jìn)行編碼或提取得到編碼流的操作,也包括為了觀察或者處理而進(jìn)行的其他操作。編解碼器經(jīng)常用在視頻會議和流媒體等涉及圖形圖像處理的應(yīng)用中。
編解碼相應(yīng)的硬件需要編碼解碼的引擎配置。一般的編解碼能力附著在計(jì)算芯片上,如英偉達(dá)GPU芯片帶有編解碼引擎(編碼引擎為NVENC,解碼引擎為NVDEC)。
(4)每秒傳輸幀數(shù)(FPS)。FPS主要用于渲染場景,屬于圖像領(lǐng)域的定義,它是指畫面每秒傳輸?shù)膸瑪?shù),即動畫或者視頻的畫面數(shù)。每秒能夠處理的幀數(shù)越多,畫面就會越流暢。在分辨率不變的情況下,GPU的處理能力越高,F(xiàn)PS就越高。
(5)吞吐量。在深度學(xué)習(xí)模型的訓(xùn)練過程當(dāng)中,一個(gè)關(guān)鍵指標(biāo)就是模型每秒能輸入和輸出的數(shù)據(jù)量。在廣大的AI應(yīng)用中,圖像和視頻業(yè)務(wù)占據(jù)了很高的比例,因此,在衡量吞吐量的時(shí)候,我們可以使用Images/s這個(gè)單位來衡量模型的處理速度。
設(shè)備或平臺的運(yùn)行業(yè)務(wù)的服務(wù)能力涉及前文所述的算力、網(wǎng)絡(luò)和存儲,以及其他能力(如FPS、吞吐量等)。這些能力共同保障著用戶的業(yè)務(wù)體驗(yàn)。
表1 算力分級表
(1)訓(xùn)練類場景。
訓(xùn)練業(yè)務(wù)是指通過大數(shù)據(jù)訓(xùn)練出一個(gè)復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型,即用大量標(biāo)記過的數(shù)據(jù)來“訓(xùn)練”相應(yīng)的系統(tǒng),使之適應(yīng)特定的功能場景。訓(xùn)練不僅需要極高的計(jì)算性能,還需要處理海量數(shù)據(jù),同時(shí)也要具有一定的通用性,以便完成各種各樣的學(xué)習(xí)任務(wù)。目前訓(xùn)練業(yè)務(wù)主要集中在云端,需要有足夠強(qiáng)的計(jì)算能力[9-10]作為保障。訓(xùn)練類業(yè)務(wù)的服務(wù)能力需求如表2所示。
(2)推理類場景。
推理類業(yè)務(wù)是指利用訓(xùn)練好的模型,使用新數(shù)據(jù)推理出各種結(jié)論,即借助現(xiàn)有神經(jīng)網(wǎng)絡(luò)模型進(jìn)行運(yùn)算,利用新的輸入數(shù)據(jù)一次性獲得正確結(jié)論的過程,也叫作預(yù)測或推斷。雖然目前推理過程主要在云端完成,但越來越多的廠商正將其逐漸轉(zhuǎn)移到終端[9]。推理對計(jì)算性能要求不高,但更注重綜合指標(biāo),如單位能耗算力、時(shí)延、成本等。推理類業(yè)務(wù)的服務(wù)能力需求如表3所示。
(3)云增強(qiáng)現(xiàn)實(shí)(AR)/虛擬現(xiàn)實(shí)(VR)類場景。
移動AR/VR業(yè)務(wù)是一種云、端相結(jié)合的方式,其本質(zhì)是一種交互式在線視頻流[11]。對于云側(cè)擁有超強(qiáng)算力和低延時(shí)的網(wǎng)絡(luò),更多的渲染工作首先在云側(cè)完成,然后再通過網(wǎng)絡(luò)傳送給用戶側(cè),如手機(jī)、PC、PAD、機(jī)頂盒等終端設(shè)備。用戶通過輸入設(shè)備(虛擬鍵盤、手柄等)對業(yè)務(wù)進(jìn)行實(shí)時(shí)操作,如圖2所示。
另外,在高鐵、地鐵等高速移動的場景下,用戶側(cè)終端設(shè)備將會在多個(gè)基站甚至多個(gè)地域進(jìn)行網(wǎng)絡(luò)切換,這將導(dǎo)致初始連接的云側(cè)節(jié)點(diǎn)網(wǎng)絡(luò)延遲增加。根據(jù)用戶的實(shí)際情況進(jìn)行統(tǒng)一的調(diào)度和管理,將計(jì)算能力在多個(gè)節(jié)點(diǎn)之間無縫遷移,可保障流暢切換的無感用戶體驗(yàn)。此外,爆款的AR/VR游戲通常會在短時(shí)間內(nèi)匯聚大量用戶,其社交屬性會帶來地域相對密集的特點(diǎn),這就要求算力網(wǎng)絡(luò)節(jié)點(diǎn)能夠快速調(diào)用計(jì)算能力、設(shè)計(jì)靈活架構(gòu)、實(shí)現(xiàn)彈性伸縮,以滿足用戶的密集需求。云VR/AR業(yè)務(wù)的服務(wù)能力需求如表4所示。
(4)視頻類場景。
伴隨寬帶網(wǎng)絡(luò)和移動互聯(lián)技術(shù)的不斷提升,娛樂視頻、通信視頻、行業(yè)視頻等各大領(lǐng)域的視頻業(yè)務(wù)迅猛發(fā)展。除了傳統(tǒng)的視頻會議之外,視頻培訓(xùn)、視頻客戶服務(wù)、遠(yuǎn)程醫(yī)療、在線直播等一系列新興視頻應(yīng)用正在各個(gè)行業(yè)迅速普及[12]。視頻類業(yè)務(wù)的服務(wù)能力需求如表4所示。
表2 人工智能模型訓(xùn)練業(yè)務(wù)相關(guān)參數(shù)
表3 人工智能推理預(yù)測業(yè)務(wù)相關(guān)參數(shù)
(5)智能駕駛場景。
智能駕駛、車聯(lián)網(wǎng)是智慧城市的重要組成部分。在2019年新冠疫情出現(xiàn)時(shí),無人車送餐、無人車消殺等都體現(xiàn)了智能駕駛的優(yōu)勢??紤]到智能駕駛對安全要求極高的特殊性[13],目前每個(gè)車輛都裝備有大算力的工控機(jī),這大大增加了無人駕駛車輛的成本。若將車輛的計(jì)算能力釋放到云側(cè),則需要算力網(wǎng)絡(luò)同時(shí)具備極低的時(shí)延和超強(qiáng)的算力。此外,自動駕駛具有移動性,需要算力節(jié)點(diǎn)的無縫切換,以保障自動駕駛業(yè)務(wù)的超低時(shí)延。智能駕駛業(yè)務(wù)的服務(wù)能力需求如表4所示。
▲圖2 虛擬現(xiàn)實(shí)系統(tǒng)組成及交互示意圖
表4 云VR/AR、視頻類和智能駕駛業(yè)務(wù)的服務(wù)能力需求
本文中,我們針對不同算力資源進(jìn)行統(tǒng)一建模,給出了算力分級的標(biāo)準(zhǔn),并闡述了為保障業(yè)務(wù)體驗(yàn)的算力、存儲、網(wǎng)絡(luò)等的聯(lián)合服務(wù)能力,同時(shí)從業(yè)務(wù)的角度歸納了不同類型業(yè)務(wù)的服務(wù)能力需求。算力的衡量與建模是一個(gè)比較困難但卻很重要的研究課題。在未來,隨著算力(特別是邊緣算力)的進(jìn)一步擴(kuò)大,算力與網(wǎng)絡(luò)的結(jié)合將越來越緊密。通過網(wǎng)絡(luò)對算力進(jìn)行調(diào)度,引入合理的網(wǎng)絡(luò)調(diào)度方法,可降低云邊端協(xié)同的智能業(yè)務(wù)對算法和算力的需求。