韓炳濤/HAN Bingtao,劉濤/LIU Tao,唐波/TANG Bo
( 1.中興通訊股份有限公司,中國 深圳 518057;2.移動網絡和移動多媒體技術國家重點實驗室,中國 深圳 518055 )
2012年AlexNet[1]橫空出世,掀起第3次人工智能(AI)浪潮。從此AI進入深度學習時代。在深度學習的第1個10年,數(shù)據(jù)、算法、算力三大要素得到迅速發(fā)展。與前兩次浪潮不同的是,在第3次浪潮中AI技術一舉突破商用限制,擁有日益廣泛的行業(yè)應用場景,產業(yè)規(guī)模持續(xù)擴大,打消了人們對于第3次浪潮何時終結的疑慮。
深度學習的特點是可以將基礎算子以層層疊加的方式組成復雜的神經網絡,并使用反向傳播算法統(tǒng)一實現(xiàn)神經網絡的訓練。使用如此的簡單方法即可構建任意復雜模型。這種能力使深度學習成為一種適用于多種任務的通用算法。
在過去10年中,基礎模型經歷了兩次跨越式發(fā)展。第1次跨越是以AlexNet為代表的卷積神經網絡。2015年ResNet[2]的出現(xiàn)使得這一階段的發(fā)展達到高峰。在這一階段人們普遍認為,更深的神經網絡將具備更強的表征能力。因此,研究者主要思考如何增加神經網絡的深度。ResNet通過引入跨層shortcut連接,成功將網絡深度提升至150層以上。之后的研究雖將網絡深度提升至1 000層以上,但模型性能提升幅度越來越小,因此百層左右的網絡成為應用的主流選擇。此外,這一階段發(fā)展了大量基于卷積計算的算子,在提取空間和時間局部特征方面取得了很好的效果,使得圖像、語音模式識別準確率大幅提升,產生了諸如語音輸入、人臉識別等第一批可商業(yè)化的技術,為第三次AI浪潮創(chuàng)造了一個良好的開端。
第2次跨越是以2016年出現(xiàn)的以Transformer[3]為代表的注意力機制神經網絡。注意力機制此前在神經網絡中僅是輔助性算子,但Transformer創(chuàng)造性地將其作為網絡核心算子,引發(fā)了一系列重大創(chuàng)新。Transformer最初解決了長短期記憶網絡(LSTM)[4]等循環(huán)神經網絡計算效率低、訓練容易過擬合等問題。2017年基于Transformer的預訓練語言模型BERT[5]利用海量樣本的無監(jiān)督預訓練大幅提升下游任務表現(xiàn)能力,使大規(guī)模樣本預訓練和少量樣本精調成為模型訓練新范式。此后,自監(jiān)督預訓練[6]更是將這一范式推向高潮。研究人員很快發(fā)現(xiàn)語言模型規(guī)模越大,表現(xiàn)就越好。模型規(guī)模在短短的兩年內迅速突破了千億參數(shù)級別。2019年,擁有1 700億參數(shù)的GTP-3[7]模型在對話、知識問答、吟詩作賦等多項任務中展示出的能力令人印象深刻。深度學習從此邁入大模型時代?,F(xiàn)如今相關模型規(guī)模已經達到百萬億級別[8]。此外,研究人員發(fā)現(xiàn)Transformer具備跨模態(tài)通用性。2018年,ViT[9]模型證明Transformer除了適用于處理自然語言相關任務外,在處理圖像任務方面也不輸于卷積神經網絡。最新的DALL.E、紫東太初、M6[10-12]等多模態(tài)模型更是可以同時處理文本、語音、圖像多模態(tài)數(shù)據(jù)。自監(jiān)督預訓練、大模型、多模態(tài)等創(chuàng)新Transformer成為當今最重要的深度學習模型,為深度學習的發(fā)展帶來無限可能。
除了基礎模型,過去10年在學習方法上也取得了重大進展。學習方法主要包括監(jiān)督學習和無監(jiān)督學習兩大類。監(jiān)督學習比較容易,但需要對數(shù)據(jù)進行標注,這個過程通常需要耗費大量人力。強化學習是一種特殊的監(jiān)督學習,它只需要一個回報信號而無須對每條數(shù)據(jù)進行標注。在強化學習過程中,算法以一種“試錯”的方式對問題空間進行探索,從而找到一種最優(yōu)(獲取最大回報)的策略。深度學習模型和強化學習方法相結合,產生多項重要成果,大幅拓展了深度學習的應用邊界。2016年AlphaGo[13]戰(zhàn)勝九段專業(yè)棋手,AI進入大眾視野,第3次AI浪潮開始井噴。2017年AlphaGo Zero[14]完全不依賴人類的圍棋知識,僅從最基本的圍棋規(guī)則開始,經過72 h的訓練,棋力就可遠超AlphaGo。2018年AlphaZero[15]使用同一個模型和算法,同時掌握國際象棋、將棋、圍棋,顯示出強化學習有實現(xiàn)通用AI的潛力。強化學習在德州撲克、DOTA、星際爭霸等視頻游戲[16-18]中也達到頂尖人類玩家的水平。在真實環(huán)境中使用強化學習的研究也取得很大進展。使用強化學習算法不僅可以對機械臂實現(xiàn)適應性控制,可以完成諸如網線插拔等靈巧型任務[19],甚至還可以操作復雜的可控核聚變托卡馬克裝置,實現(xiàn)對裝置中高溫等離子體形狀、位置的跟蹤和控制[20]。最近,強化學習在科學領域也取得不小進展。例如,AplhaTensor[21]可以發(fā)現(xiàn)各種大小的矩陣乘法的速算方法,而人類科學家還沒能發(fā)現(xiàn)任何一種大于3×3規(guī)模矩陣的速算方法。強化學習在多種任務中體現(xiàn)出通用性,使其成為實現(xiàn)“通用AI”一條重要技術路線,不斷吸引更多學者參與到研究中來。
難度最大同時也是最具發(fā)展?jié)摿Φ臒o監(jiān)督學習方法,特別是在生成式模型領域,在過去10年產生了兩個重大的方法創(chuàng)新。一個是在2014年,Goodfellow提出的生成對抗網絡(GAN)模型及其創(chuàng)新的對抗訓練方法[22],被LeCun認為是過去10年中機器學習領域中最有趣的想法。對抗訓練方法通過同步優(yōu)化生成器、判別器,使兩者達到納什均衡。這種方法可以生成更加清晰的圖片,但訓練過程不穩(wěn)定。此后對GAN的改進成為研究熱點,特別是在2019年BigGAN[23]改進了大規(guī)模網絡下對抗訓練不穩(wěn)定的問題,使batch size增大至2 048,模型參數(shù)達到1.7億,在生成圖像的真實性和多樣性上取得巨大進步,生成了可以假亂真的圖像。另一個是自監(jiān)督學習,以變分自動編碼器(VAE)[24]為代表的自動編碼器通過將模型分割為編碼器、解碼器兩個部分,先將數(shù)據(jù)編碼到隱變量空間,再從隱變量空間解碼恢復數(shù)據(jù)。這種方法使數(shù)據(jù)自身成為標簽,在不使用任何人工標注的情況下從大規(guī)模無標簽數(shù)據(jù)中學習數(shù)據(jù)特征。除了以原始數(shù)據(jù)作為標簽外,其他多種建立自標簽的方法也陸續(xù)被發(fā)現(xiàn)。2021年Diffusion Model[25]則是將向原始圖像添加的高斯噪音作為標簽,讓模型從加噪的圖像中預測噪音,從而學習得到降噪編碼器。將這樣多個降噪編碼器層層疊加,就可以從噪音中得到圖像。這種方法可以使深度學習模型生成前所未有的高清、逼真圖像。2022年潛在擴散模型(LDM)[26]大幅提升了高分辨率圖像的效率,使AI內容生成技術更加實用化。AI在未來音樂、視頻、游戲、元宇宙內容生成中有廣闊的應用前景。
正是由于過去10年中深度學習算法的長足發(fā)展,如今AI已在千行百業(yè)中擁有廣泛的應用場景[27-36],產業(yè)規(guī)模持續(xù)擴大,成為數(shù)字經濟下不可或缺通用基礎技術,對經濟增長意義重大。
J. SEVILLA等[37]對AI主要算法所需要的算力進行了匯總。過去10年在模型訓練方面,模型所需的算力增長超過了100萬倍。深度學習對算力的巨大需求推動了AI芯片快速發(fā)展。在這10年中,主流AI芯片架構經歷了3代進化。
第1代(2012—2016年)AI芯片架構是通用圖形處理器(GPGPU)。這一時期深度學習剛剛起步,網絡規(guī)模并不大。這一代芯片架構沒有針對神經網絡計算進行加速的特殊設計,而是利用GPGPU已有的單指令多線程(SIMT)計算核心來提升向量、矩陣并行計算效率。SIMT架構特點是硬件根據(jù)數(shù)據(jù)自動分支,既可以像單指令多數(shù)據(jù)(SIMD)一樣高效,又可以像多指令多數(shù)據(jù)(MIMD)一樣靈活。但SIMT是為通用計算設計的,依賴共享內存交換中間數(shù)據(jù),功耗大,算力并不高。
第2代AI芯片架構從2016年開始出現(xiàn),時至今日仍是主流。這一時期卷積神經網絡成為最主流的算法。AI芯片以加速卷積神網絡為首要目標。ResNet成為AI芯片性能測試標準。這一代架構以谷歌張量處理器(TPU)[38]為代表,其主要特點是將AI計算抽象為標量、向量、矩陣3類計算。計算核心包含對應的3種專用計算單元,可以提供很高的峰值算力。同時核心內置容量較大的靜態(tài)隨機存取存儲器(SRAM)作為本地存儲。因此,第2代AI芯片架構在算力和功耗上相對于第1代架構有了巨大的提升。但是這一代架構在通用性上較差,在應對各種尺寸的神經網絡時難以表現(xiàn)出很好的計算效率,同時在可編程、靈活性上不如第1代架構,面對不斷涌現(xiàn)的新算法和新場景,日益顯示出應用場景的局限性和軟件開發(fā)的高成本弊端。
同一時期,GPGPU在計算核心中增加專門的矩陣計算單元Tensor Core[39],這樣既擁有高性能,又擁有強大的可編程性和靈活性,依靠完備的工具鏈和成熟的生態(tài),具有突出的市場競爭力。因此,對于第2代AI芯片架構,從數(shù)量上看是百花齊放,從市場占有率上看卻是一枝獨秀。擁有Tensor Core的GPGPU,例如NVIDIA Volta、Ampare系列,成為這一代AI芯片的最終贏家。
第3代AI芯片架構產生于2019年,這一時期出現(xiàn)了Transformer模型。該模型迅速發(fā)展,并與卷積神經網絡形成了分庭抗禮的局面。特別是隨著大規(guī)模預訓練模型和多模態(tài)的進展,Transformer很可能會最終取代卷積神經網絡(CNN)。擺在芯片架構設計面前的挑戰(zhàn)有兩個:(1)需要對Transformer進行優(yōu)化設計。相對于CNN,同等算力的Transformer模型對帶寬的要求更高,這增加了芯片設計的難度。(2)系統(tǒng)需要具備優(yōu)秀的水平擴展能力,以滿足急速增長的大模型訓練算力需求。這一代架構以GraphCore[40]、Tenstorrent[41]為代表,其特點是在單一芯片擁有上百甚至上千個計算核心。同時芯片間具備良好的水平擴展能力,可以實現(xiàn)從單核到百萬核的無縫擴展。為保證如此大規(guī)模并行計算高效運行,需要采用軟硬件協(xié)同設計,特別是需要圖編譯器對多核上的計算任務派發(fā)和數(shù)據(jù)路由做出優(yōu)化調度,以便隱藏數(shù)據(jù)傳輸?shù)阮~外開銷,實現(xiàn)一加一等于二的并行計算效果。然而,這一代架構大幅增加了編譯器的開發(fā)難度,芯片可編程性和靈活性相對上一代架構并未得到明顯的提升,工具鏈和生態(tài)建設難度大。與此同時,GPGPU的TensorCore已具備專用的Tensformer加速引擎。第3代AI芯片架構中誰是最終勝利者,仍需要時間來給出答案。
算法的不斷發(fā)展對AI芯片架構提出越來越高的要求。我們認為未來AI芯片架構必須要具備如下綜合能力:在性能方面,對Transformer模型有優(yōu)秀的加速能力;在功耗方面,8位整數(shù)(INT8)等效算力達到10 TOPS/W以上;在通用性方面,對各種規(guī)模的模型都可以達到較高的硬件利用率;在可編程性方面,可以通過編程支持新的算法且容易開發(fā),具備完整的工具鏈,能夠快速完成模型的開發(fā)和部署。
在深度學習的第2個10年,數(shù)據(jù)、算法、算力三大要素依舊占據(jù)核心地位。但隨著AI的應用越來越廣泛和深入,綠色、生態(tài)、可信將成為AI可持續(xù)發(fā)展新的核心要素。
2019年一項研究表明,完成一次Trasformer(Big)模型訓練所排放的二氧化碳高達282噸,相當于5輛汽車整個生命周期的CO2排放量[42]。目前,全世界1%的發(fā)電量被用于AI計算。全球AI計算能耗年增長率為37%。據(jù)此估算,下一個10年,AI計算將消耗全世界發(fā)電量的15%左右,將為環(huán)境帶來沉重的負擔。為了實現(xiàn)綠色可持續(xù)發(fā)展,必須不斷研究更有效率的AI芯片。
提升AI芯片效率的一個方向是空間計算。眾所周知,AI芯片功耗與數(shù)據(jù)在芯片內搬運的距離正相關。借助創(chuàng)新的芯片架構設計,減少完成每次操作數(shù)據(jù)在芯片內需要移動的距離,就可以大幅降低芯片的能耗。
這里我們對Google TPUv3和Tenstorrent Wormhole兩個AI芯片進行對比。如圖1(a)所示,TPU計算核心設計是采用一個較大的向量和矩陣計算單元同本地SRAM相連接,完成一個神經網絡算子的計算,需要將數(shù)據(jù)從Vector Memory搬移到Matrix Multiply Unit完成矩陣乘計算,然后再搬移到Vector Unit完成Element-wise計算。這種大計算、大存儲單元的設計導致每次計算數(shù)據(jù)平均移動距離達到毫米級別,因此芯片功耗高,以至于必須采用水冷才能使TPU 集群系統(tǒng)正常運行。在圖1(b)中,每顆Wormhole芯片包含80個Tensix計算核心。每個計算核心擁有約5 TOPS的算力以及1.5 MB的本地存儲。由于大多數(shù)計算能夠在單核心內完成,因此更小的核心能夠縮短數(shù)據(jù)移動距離。只有少數(shù)的跨核心計算才需要將數(shù)據(jù)搬運到更遠的地方。據(jù)估算,Wormhole芯片每次操作數(shù)據(jù)的平均移動距離只有TPUv3的1/10左右。因此,Wormhole芯片功效比要高得多,達到3 TOPS/W@INT8,而TPUv3的為0.6 TFOPS/W@BF16。
▲圖1 Google TPUv3和Tenstorrent Wormhole架構示意圖
將一個包含大計算、大存儲單元的計算核心拆分為多個包含小計算、小存儲單元的計算核心,可以有效降低每次計算數(shù)據(jù)移動的平均距離,從而降低芯片能耗。這也成為新一代AI芯片的設計趨勢。然而,這種多核并行計算會引入額外的開銷,導致計算效率降低。相應的解決方案是通過軟硬件架構協(xié)同設計,將一個計算任務拆分為多個子任務,然后將子任務指派到不同的計算核心上,并規(guī)劃任務之間數(shù)據(jù)傳輸路徑,最優(yōu)匹配芯片的算力、存儲、數(shù)據(jù)傳輸帶寬、互聯(lián)拓撲結構,減少數(shù)據(jù)移動距離,從而實現(xiàn)性能最優(yōu)、功耗最低。這種將多個計算任務在空間(多核)上進行調度的計算方式被稱為“空間計算”。
實現(xiàn)多核空間計算需要軟硬件協(xié)同設計。在硬件方面,為提升并行計算效率,計算核心可以增加對AI并行計算常用通信模式的硬件支持,如Scatter、Gather、Broadcast等,對數(shù)據(jù)包進行封裝、壓縮等,在核間互聯(lián)上優(yōu)化片上網絡拓撲結構和動態(tài)路由能力。在軟件方面,由于空間計算的優(yōu)化非常復雜,非開發(fā)人員所能負擔,需要編譯器自動實現(xiàn)任務的拆分、指派、路由規(guī)劃,在運行時需要完成計算過程控制,特別是對空間計算過程中產生的各種異常(如丟包、亂序、擁塞)進行處理。
未來空間計算的一條演進路線是在存計算(At-Memory)。在存計算可以把一個大的計算核心拆分為上萬個微型計算核心,而不僅僅是上百個小核心。在這種架構下,每個計算數(shù)據(jù)平均移動距離將進一步降低至微米級,功效比可以超過10 TOPS/W@INT8。例如Untether AI公司的Bo‐queria[43]芯片擁有上萬個處理引擎(PE)。每個PE配置6 kB本地內存,整個芯片的內存帶寬高達PB/s級。PE與本地內存之間的數(shù)據(jù)移動距離僅有幾微米,功效比高達30 TFOPS/W@FP8。然而,由于存在面積限制,每個PE功能簡單、靈活性差,只適用于一些特定算法,目前只能進行推理,無法進行訓練。此外,將計算任務部署在上萬個PE上,對編譯器的優(yōu)化能力提出了更高的要求。
空間計算技術的另一條演進路線是確定性設計。編譯器優(yōu)化能力對空間計算的性能至關重要,但只能利用靜態(tài)信息對計算進行調度。因此,重新設計系統(tǒng)的軟件-硬件界面、靜態(tài)-動態(tài)界面,使編譯器能夠利用更多的靜態(tài)信息,成為一個新的技術演進方向。例如,Groq公司的張量流處理器(TSP)[44]芯片采用確定性硬件設計,芯片中沒有Arbiter、Crossbar、Cache等“響應型”組件,允許編譯器進行時鐘級的調度。編譯器可以精確地調度每個核上的計算、內存訪問和數(shù)據(jù)傳輸,使得指令流在運行期內完全避免共享資源的訪問沖突,因此可以實現(xiàn)無鎖,系統(tǒng)極為高效。但是,這種確定性設計需要編譯器接管到硬件狀態(tài)機級別,復雜度很高。實現(xiàn)系統(tǒng)級硬件確定性非常復雜,需要實現(xiàn)全局時鐘、鏈路延遲補償、時鐘漂移補償?shù)葯C制,引入硬件對齊計數(shù)器、軟件對齊計數(shù)器、指令集。
隨著3D封裝技術的日趨成熟,空間計算還可以向3D的方向發(fā)展。將一顆大計算核心拆分為多個小核心,并在3D方向堆疊起來,可以進一步縮短數(shù)據(jù)移動的距離,從而進一步降低芯片功耗,提升能效比。此外,相對于傳統(tǒng)2D芯片,經由3D封裝技術,3D Mesh、3D torus等片上網絡(NOC)拓撲更有效率,從而給編譯器留下更大的調度優(yōu)化空間,進一步提升空間計算性能。
提升AI芯片效率的第2個方向是近似計算。深度學習模型的一個特征是對精度要求不高。計算過程中出現(xiàn)的誤差并不會顯著影響模型的最終判定結果。近似算法可以減少內存使用和計算復雜度,使計算更加高效。
低精度計算是深度學習近似計算一個重要的技術方向。使用低精度的數(shù)據(jù)類型,可以有效減少芯片面積和功耗。例如,INT8的乘法和加法運算所消耗的能量僅為32位浮點數(shù)(FP32)的1/30和1/15[45]。目前混合精度訓練技術可以使用FP16位半精度浮點數(shù)和FP32單精度浮點數(shù)配合完成模型訓練。Transformer模型的訓練則可以使用更低的精度浮點數(shù)。例如,NVIDA在其最新的Hopper架構中實現(xiàn)了FP16和FP8混合精度訓練Transformer模型[46]。未來仍有可能出現(xiàn)更低精度的訓練算法。
由于推理對精度的要求更低,因此在完成模型訓練之后,我們可以將模型轉化為更低精度的數(shù)據(jù)類型表示,這個技術稱之為模型量化。目前,INT8量化技術已經相當成熟,INT4量化技術仍然面臨一些困難。特別是在模型中使用了非線性激活函數(shù)時,模型準確率下降很多。對此,一種思路是使用INT8和INT4自適應混合精度量化,另一種思路是將模型量化為FP8。FP8的面積和功耗僅有INT8的一半,但模型判定準確率沒有明顯下降。
近似計算的另一個演進路線是稀疏計算。研究發(fā)現(xiàn),深度學習模型的權重存在一定的稀疏性,即部分權重值為零或者非常接近于零,特別是Transformer模型的稀疏度更大。利用模型的稀疏性可以省略不必要的計算,從而提升模型計算的效率。例如,NVIDIA A100 GPGPU中的4選2稀疏加速可以將芯片等效算力提升一倍[47],同時功耗保持不變。Ten‐storrent Wormhole芯片更是可以在模型稀疏度90%的情況下,將芯片等效算力提升100倍。未來軟硬件協(xié)同下稀疏計算仍然會是一個非常有前景的技術方向。新模型的稀疏化算法、稀疏加速計算核心仍然是研究的熱點。
未來10年,依靠制程提升能效比的難度越來越大,而空間計算、近似計算在提升芯片能效比方面存在巨大潛力。相對于目前的主流AI芯片,未來的芯片效能將有數(shù)十倍的提升,是AI產業(yè)實現(xiàn)雙碳目標的有力保障。
深度學習模型的研發(fā)和應用可以分為兩個階段,一是模型的訓練,二是模型的應用服務。完成訓練并達到業(yè)務性能要求的模型,最終形成各種形式的模型應用服務,產生商業(yè)價值。當前,從模型訓練完成到部署的過程,還存在諸多痛點,無法很好的滿足規(guī)?;渴鸬囊?。
首先,目標硬件多種多樣,如X86/ARM 中央處理器(CPU)、GPGPU、現(xiàn)場可編程門陣列(FPGA)、專用集成電路(ASIC)芯片等。隨著新的AI芯片層出不窮,各廠商芯片之間架構、指令集、軟件工具鏈互不兼容,缺乏統(tǒng)一標準,容易引起生態(tài)碎片化問題。上層算法和應用與底層硬件緊耦合??缬布渴鹜荒P托枰罅恳浦补ぷ鳎@大幅增加了深度學習模型的研發(fā)成本和應用難度。其次,部署階段的場景主要分為云側、邊緣側、端側,有基于容器化部署場景,也有基于嵌入式硬件部署的場景。不同部署場景對模型推理的性能需求、計算資源、App調用方式等要求不同。因此不同部署方案需要具備不同的技術。再次,模型開發(fā)使用的訓練框架各不相同,如TensorFlow、PyTorch、Paddle‐Paddle、Caffe、Keras、OneFlow。不同框架訓練后保存的模型格式均不相同,在部署時需要做針對性處理,即需要一一轉換到目標硬件支持的模型格式。但轉換路徑較為繁雜,用戶需要付出較多的學習成本。
性能優(yōu)化也是深度學習模型在落地時經常遇到的問題,例如計算時延高、吞吐量低、內存占用大等。在不同的應用場景和部署環(huán)境下,模型的優(yōu)化目標不完全相同。例如,在端側部署中,內存和存儲空間均非常有限,模型的優(yōu)化目標是減小模型的大??;在自動駕駛場景下,由于計算平臺算力有限,對模型的優(yōu)化側重于在有限的算力下,盡可能提升吞吐量,降低時延。模型優(yōu)化技術包括模型壓縮和硬件執(zhí)行優(yōu)化,涉及模型剪枝、量化、稀疏化、模型中間表示(IR)、可執(zhí)行文件的編譯器,以及基于硬件架構的高性能計算等多項關鍵技術點。
為應對上述挑戰(zhàn),中興通訊主導了Adlik開源項目[48]。Adlik是將深度學習模型部署至特定硬件并提供模型應用服務的端到端工具鏈,能夠與多種推理引擎協(xié)作,提供靈活的模型加速、部署、推理方案,助力用戶構建高性能AI應用。
Adlik的整體架構包括模型優(yōu)化器、編譯器和引擎模塊。它支持各類模型在云、邊、端側多種硬件上的靈活部署和高效執(zhí)行。
Adlik模型優(yōu)化器支持多種結構化剪枝方法,能夠有效降低模型參數(shù)量和算力需求,支持多節(jié)點、多GPU并行剪枝以提升系統(tǒng)效率,同時支持自動剪枝方法。用戶只需要指定神經網絡類型(如ResNet-50)和限制條件(如算力、延遲),模型優(yōu)化器會自動決定模型每一層的通道數(shù),得到在限制條件下最優(yōu)的模型結構[49-50]。在模型量化方面,Adlik模型優(yōu)化器支持8 bit量化,可以利用少量校準數(shù)據(jù)快速實現(xiàn)8 bit 訓練后量化(PTQ);也支持量化感知訓練(QAT)算法,提升量化模型精度。Adlik模型優(yōu)化器提供不同的蒸餾方法,能夠應用于各種深度學習任務(如圖像分類、目標檢測等)。如表1所示,針對ResNet-50模型優(yōu)化研究,在執(zhí)行剪枝、蒸餾和INT8量化后,Adlik模型推理吞吐量提升13.82倍,同時模型準確率沒有降低[51]。
Adlik模型編譯器支持不同的訓練框架模型格式和推理框架模型格式之間的轉換,并易于擴展,如圖2所示。因此,在設計上Adlik模型編譯器采用自動構建有向無環(huán)圖(DAG)的方式生成源模型格式和目標模型格式的轉換路線。用戶只需要給出源和目標模型格式,Adlik模型編譯器就可以使用最優(yōu)轉換路線,端到端地完成模型格式的轉換[52]。目前,除了業(yè)界常用的TensorFlow和PyTorch之外,Adlik還引入了國產訓練框架PaddlePaddle和OneFlow,并支持國產推理芯片廠商(寒武紀、燧原等)的推理模型格式。
▼表1 Adlik模型優(yōu)化器性能測試結果
▲圖2 Adlik模型編譯依賴圖
Adlik模型應用服務存在Serving和Embedding兩種方式。Adlik Serving以獨立的微服務部署,支持多個客戶端的推理請求服務。支持表述性狀態(tài)轉移(REST)和遠程過程調用(RPC)接口,相關模型的版本控制和管理,可以在保持業(yè)務不中斷的情況下完成模型的滾動升級。Adlik Serving的特色是以插件的方式部署和隔離各種運行時的環(huán)境,如Ten‐sorFlow、 OpenVINO、 Tf Lite、TensorRT、Paddle Inference等,使應用可按需加載。Serving SDK提供模型推理開發(fā)的基礎類庫。用戶可擴展實現(xiàn)推理運行時的自定義開發(fā),如實現(xiàn)多模型在進程內協(xié)作的推理服務、低時延嵌入式設備的推理服務等。Serving SDK提供模型上載、模型升級、模型調度、模型推理、模型監(jiān)控、運行時隔離等基礎模型管理功能,以及用戶定制與開發(fā)推理服務的C++ 應用程序編程接口(API)。應用根據(jù)自身的需求,定制開發(fā)自己的模型和運行時。Serving SDK提供標準的擴展點,方便用戶高效地定制新的模型和運行時環(huán)境。
Adlik支持云、邊緣、端3種部署場景并提供相應的特性支持[53]:(1)在云側,支持原生容器化部署方案、優(yōu)化和編譯完成的模型,可以和Adlik Serving Engine鏡像一起打包,發(fā)布為應用服務鏡像,并在指定硬件的容器云上運行;(2)在邊緣側,支持在啟動的Adlik Serving Engine服務上加載優(yōu)化和編譯完成的模型,支持多模型實例調度功能,減少邊緣側計算資源的占用;(3)在端側,支持用戶優(yōu)化和編譯完成的模型,結合特定的計算引擎依賴庫和交叉編譯工具鏈,可編譯為運行在指定硬件上的可執(zhí)行文件。同時Adlik可以提供C/C++的API接口,用來提供模型編排能力,為用戶提供低延時、小體積并可在指定硬件上運行的模型應用。
Adlik是對生態(tài)融合的一次嘗試,用一套統(tǒng)一的工具鏈打通不同框架和硬件供應商相互割裂的生態(tài),從而實現(xiàn)深度學習部署應用降本增效,為下一個10年更大規(guī)模的深度學習應用打下良好基礎。未來Adlik將進一步圍繞深度學習端到端性能優(yōu)化、AI應用在異構平臺上的部署與運行、高性能計算、模型運維等技術方向發(fā)展,持續(xù)構建社區(qū)生態(tài),推動產業(yè)推動數(shù)字化變革,為用戶打通深度學習應用的全流程,真正實現(xiàn)高效率、低成本的AI應用落地,助力不同行業(yè)實現(xiàn)智慧化轉型,為數(shù)字經濟發(fā)展提供強勁動力。
隨著AI廣泛應用于金融、交通、醫(yī)療等諸多領域,AI自身的脆弱性、黑盒等導致的安全問題和可信危機逐漸突顯。例如,以色列科研人員生成的9張萬能人臉可以冒充超40%的人[54],微軟聊天機器人Tay發(fā)表歧視女性相關言論[55],沒有任何犯罪記錄的黑人被AI判定為更具危險性,自動駕駛汽車引發(fā)多起交通事故等。
在此背景下,世界主要國家和組織,紛紛出臺AI安全和可信的法律法規(guī)、道德倫理規(guī)范和標準,用于規(guī)范和引導AI的安全生產和應用,并將AI的安全使用上升到國家戰(zhàn)略高度。例如,中國將“促進公平、公正、和諧、安全,避免偏見、歧視、隱私和信息泄露等問題”寫入《新一代AI倫理規(guī)范》[56]總則。
綜合AI安全、可靠、可解釋、可問責等方面的需求,可信AI的概念被提出[57]??尚臕I被業(yè)界歸結為4個方面。(1)可靠性:AI系統(tǒng)在面臨惡意攻擊和干擾的情況下,能夠提供正確決策和正常服務的能力;(2)隱私安全性:AI的開發(fā)和應用不能造成個人或者群體隱私信息的泄露;(3)可解釋性(透明性):AI系統(tǒng)的決策能夠被人類用戶理解,并能提供相應的解釋;(4)公平性(包含個體公平性和群體公平性):AI系統(tǒng)不因個體或群體差異而給出不公正的輸出。因此,我們應該規(guī)范、安全地開發(fā)和使用AI,在享受技術發(fā)展帶來紅利的同時避免技術自身缺陷帶來的負面影響。
發(fā)展可信AI意義重大,其價值主要體現(xiàn)在以下兩個方面:
(1)有助于打破數(shù)據(jù)孤島,充分釋放數(shù)據(jù)要素價值,決定AI未來發(fā)展應用的廣度和深度。一方面數(shù)據(jù)要素作為重要的戰(zhàn)略資源,需要充分流通和共享才能釋放巨大的價值,加速社會的數(shù)字化轉型;另一方面數(shù)據(jù)使用過程中的隱私保護已經成為法律、法規(guī)的基本要求,例如一般數(shù)據(jù)保護條例(GDPR)[58]、《中華人民共和國網絡安全法》[59]等。在此背景下發(fā)展以聯(lián)邦學習[60]為代表的隱私安全機器學習方法、隱私安全計算[61]就顯得尤為重要。這對打破因隱私安全造成的數(shù)據(jù)孤島、挖掘各行各業(yè)的數(shù)據(jù)價值具有重大意義。
(2)安全、可靠、透明、合乎倫理規(guī)范的AI能消除人們對AI的疑慮,從而釋放產業(yè)價值。AI的內生安全[62]已經引發(fā)人們的擔憂,具體表現(xiàn)在:(a)貫穿AI生命周期、種類繁多的攻擊會引起人們對可靠性的擔憂,相關攻擊包括對抗樣本攻擊、投毒攻擊、后門攻擊、模型竊取等[63-66];(b)AI的黑盒特點使系統(tǒng)難以給出決策依據(jù),導致在安全關鍵領域的決策難以被采納;(c)AI在某些應用場景中表現(xiàn)出來的公平性缺失[67],引發(fā)人們對其道德倫理的擔憂。解決上述問題,構建公眾對AI的信心,才能讓AI被廣泛接納和使用,從而進一步擴大產業(yè)規(guī)模和價值。
綜上所述,可信AI決定和影響著AI發(fā)展的可持續(xù)性和未來產業(yè)規(guī)模,而規(guī)范、法律、標準的出臺更讓其成為發(fā)展AI的必選項和基本準入門檻。
中興通訊在可信AI方面積極投入,創(chuàng)建了Nuersafe開源社區(qū)(https://github.com/neursafe)。Nuersafe開源社區(qū)包含聯(lián)邦學習、AI安全、AI公平和AI可解釋4個平臺,覆蓋可信AI的4個要素。目前我們重點研究了聯(lián)邦學習(Neursafe-FL[68])和AI安全工具(Neursafe-Security)。下面我們將針對這兩個方面做詳細介紹。
(1)Neursafe聯(lián)邦學習。該平臺的目標是在隱私安全的前提下,打造可靠、高效、易用的聯(lián)邦學習解決方案,如圖3所示。為了實現(xiàn)這一目標,在設計和實現(xiàn)中我們應做出如下幾個方面的考慮:(a)進行微服務架構設計,以滿足系統(tǒng)靈活部署的需求,提供單機、Cross-Silo、Cross-Device 3種部署模式,并可滿足科研驗證、跨企業(yè)數(shù)據(jù)孤島、海量設備聯(lián)合訓練等多種場景的需求。(b)擁有完備的框架能力,可提供分布式資源管理和作業(yè)調度能力,通過調度算法最大化聯(lián)邦學習性能。(c)通過核心組件的高可用設計和作業(yè)級的容錯處理機制,保證系統(tǒng)持續(xù)可服務性。(d)支持Tensorflow和Pytorch兩種主流底層機器學習框架,并支持框架擴展;通過用戶層極簡的聯(lián)邦API設計,最大程度上保留底層框架編程習慣,降低原機器學習算法向聯(lián)邦學習遷移的成本。(e)封裝基于差分隱私和安全多方計算等隱私算法庫,并標準化算法接口,支持算法擴展。(f)提供多種算法(FedAvg、Scaffold、FedProx、FedDC等[69-72])構成的聚合和優(yōu)化算法庫,滿足不同數(shù)據(jù)異構場景下的收斂效率需求。
▲圖3 Neursafe聯(lián)邦學習架構
(2)Neursafe AI安全。如圖4所示,該平臺以工具化的方式,提供AI對抗攻擊、模型魯棒性檢測以及模型加固和對抗樣本檢測等能力。該平臺可以實現(xiàn):(a)統(tǒng)一服務入口,屏蔽底層算法實現(xiàn),支持命令行、API和SDK 3種接口形式,一鍵完成對模型的對抗攻擊、魯棒性檢測、安全防御加固等功能使用。(b)支持30+的黑、白盒攻擊算法,其中30+的防御算法涵蓋了當前主流且經典的攻防算法。(c)對當前主流的攻擊和防御算法進行分類,如基于梯度的攻擊、基于遺傳算法的攻擊、基于對抗訓練的防御等,提取同類算法共性,在算法基類中實現(xiàn)框架代碼,簡化后續(xù)算法創(chuàng)新開發(fā)工作量。(d)支持Auto Attack,自學習攻擊參數(shù);支持多種攻防算法的正交組合,增強綜合攻防能力。(e)攻防算法一次編碼,兼容Tensorflow和Pytorch,解決了主要當前攻防工具支持底層框架單一問題。(f)支持模型魯棒性檢測功能,能進行模型魯棒性的綜合評估,生成界面優(yōu)化的評估報告。(g)支持模型加固、對抗樣本檢測、對抗樣本恢復3種防御手段,滿足不同場景下的安全防御需求,在模型已經上線運行的情況下可以通過增加前置檢測網絡來實現(xiàn)安全防御。
可信AI的研究進展對AI的可持續(xù)發(fā)展至關重要。中興通訊將繼續(xù)關注可信AI,對未來可信AI的研究工作有如下規(guī)劃:(1)將堅持開源運作,和業(yè)界一起共筑可信AI未來;(2)補齊當前在公平和可解釋方面的缺失,構建可信AI的全方位能力;(3)針對可信AI中的問題,如聯(lián)邦學習中的性能問題、AI安全中的碎片化問題,跟蹤業(yè)界最新進展,對算法進行創(chuàng)新研究,逐步掃除解決方案的落地障礙;(4)堅持產品化的思維,站在用戶角度,提供簡單、用戶友好的解決方案。
▲圖4 Neursafe 人工智能安全架構
經過3次發(fā)展浪潮,AI已經快速走出低谷期。在第2個10年學術研究、產業(yè)落地的雙輪驅動下,研究者數(shù)量、論文數(shù)量、數(shù)據(jù)量、算力、產業(yè)規(guī)模等維度將保持指數(shù)增長態(tài)勢。綠色、高效、安全是下一個10年深度學習維持可持續(xù)指數(shù)增長的3個新的核心要素,是實現(xiàn)中國新一代AI發(fā)展規(guī)劃三步走[73]、2030年AI核心產業(yè)突破十萬億元的關鍵。