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