鄭緯民
(清華大學(xué) 信息科學(xué)技術(shù)學(xué)院,北京 100084)
當(dāng)前人工智能(artificial intelligence,AI)熱度不斷攀升,AI是國(guó)家提出的新型基礎(chǔ)設(shè)施建設(shè)(新基建)的重要領(lǐng)域之一。作為新基建之一,國(guó)家給予人工智能領(lǐng)域的投入不斷增加。AI基礎(chǔ)設(shè)施建設(shè)的投入主要集中于大型新型高性能計(jì)算機(jī)集群的建設(shè)。目前,國(guó)內(nèi)在建和已經(jīng)建設(shè)完成多個(gè)大型計(jì)算機(jī),其中,華為深圳鵬程實(shí)驗(yàn)室投入42億人民幣建設(shè)了一臺(tái)大型AI計(jì)算機(jī),很多省市都在進(jìn)行人工智能計(jì)算機(jī)的建設(shè)。人工智能技術(shù)的快速發(fā)展和當(dāng)前算力的不斷突破有著不可分割的關(guān)系。為了滿足人工智能技術(shù)的快速發(fā)展,建設(shè)新的AI算力基礎(chǔ)設(shè)施成為了重要一步。
人工智能應(yīng)用問(wèn)題,主要分成3類(lèi): ①圖像、視頻檢測(cè)。例如,安檢攝像頭,機(jī)場(chǎng)人臉識(shí)別系統(tǒng),其核心是卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)的應(yīng)用,這類(lèi)應(yīng)用在當(dāng)前已經(jīng)取得了不錯(cuò)的實(shí)際應(yīng)用效果,但是這類(lèi)應(yīng)用問(wèn)題并不需要龐大的算力支撐,因此,也就不需要大型計(jì)算機(jī)的投入;②決策類(lèi)。比如AlphaGo下圍棋就是決策類(lèi)的問(wèn)題,屬于強(qiáng)化學(xué)習(xí)的范疇。前兩類(lèi)應(yīng)用暫時(shí)都不需要龐大的算力支持;③自然語(yǔ)言處理。其一個(gè)應(yīng)用領(lǐng)域是語(yǔ)言翻譯,如中英互譯;另一個(gè)是自動(dòng)問(wèn)答系統(tǒng)的實(shí)現(xiàn),即創(chuàng)造一臺(tái)機(jī)器能回答用戶(hù)提出的問(wèn)題,創(chuàng)造一臺(tái)可以回答天氣情況等簡(jiǎn)單問(wèn)題的機(jī)器不難,但創(chuàng)造一臺(tái)讓用戶(hù)認(rèn)為對(duì)話的是人類(lèi)的機(jī)器是十分困難的;再一個(gè)是生成文本摘要,一篇文章經(jīng)過(guò)計(jì)算機(jī)的處理生成其摘要,或者通過(guò)簡(jiǎn)單的描述,幫用戶(hù)生成一篇長(zhǎng)文,比如讓計(jì)算機(jī)寫(xiě)小說(shuō)、論文。這方面研究目前發(fā)展迅速,著名的模型有GPT-1[1],GPT-2[2],GPT-3[3]和BERT[4]。
近年來(lái),自然語(yǔ)言處理的模型演變得越來(lái)越復(fù)雜,因此,國(guó)內(nèi)外學(xué)術(shù)界一致認(rèn)為自然語(yǔ)言處理問(wèn)題需要強(qiáng)大的AI算力基礎(chǔ)設(shè)施支持,人臉識(shí)別和下圍棋等應(yīng)用并沒(méi)有這么高的要求。自然語(yǔ)言處理需要強(qiáng)大的AI算力支撐是因?yàn)槠淠P妄嫶蟮膮?shù)量,如2019年2月發(fā)布的GPT-2模型的參數(shù)有15億。僅一年后的2020年2月,TuringNLG模型[5]的參數(shù)就達(dá)到了170億,是GPT-2參數(shù)量的10倍以上。到2020年7月,GPT-3模型的參數(shù)達(dá)到了1 700億。同時(shí),各個(gè)模型的結(jié)果表明,參數(shù)越多其效果越好,但參數(shù)越多,所需要的算力越龐大,也就需要性能更加強(qiáng)勁的高性能計(jì)算機(jī)。為了滿足神經(jīng)網(wǎng)絡(luò)訓(xùn)練所需的龐大算力,許多公司著手建立了自己的高性能計(jì)算機(jī)。2020年5月,微軟推出了一臺(tái)專(zhuān)門(mén)為OpenAI公司設(shè)計(jì)的超級(jí)計(jì)算機(jī),其包含超過(guò)28.5萬(wàn)個(gè)處理器內(nèi)核,1萬(wàn)塊圖形處理單元(graphic processing unit,GPU),每個(gè)顯卡服務(wù)器的連接速度為400 Gbit/s,其性能在當(dāng)年的超級(jí)計(jì)算機(jī)排名中可以排到前5名。此外,OpenAI核算了2012年以來(lái)所有模型所用的計(jì)算量,發(fā)現(xiàn)最大規(guī)模AI模型所需算力已經(jīng)增長(zhǎng)了30萬(wàn)倍,每3~4個(gè)月翻一番,而我們熟知的摩爾定律指出芯片性能翻倍周期是18~24個(gè)月,可見(jiàn)傳統(tǒng)的基于CPU的高性能計(jì)算機(jī)已很難滿足大規(guī)模AI模型對(duì)算力的需求。目前,自然語(yǔ)言處理模型的發(fā)展趨勢(shì)是大幅增加參數(shù)數(shù)量,GPT系列模型的發(fā)展過(guò)程印證了這一說(shuō)法。如表1,GPT模型擁有1.17億參數(shù),預(yù)訓(xùn)練數(shù)據(jù)量約5 GB,GPT-2參數(shù)量為15億,預(yù)訓(xùn)練數(shù)據(jù)量40 GB,而2020年最新的GPT-3參數(shù)達(dá)到了1 750億,預(yù)訓(xùn)練數(shù)據(jù)量45 TB。如此龐大參數(shù)量的模型訓(xùn)練所需運(yùn)算量巨大,同時(shí)其訓(xùn)練費(fèi)用也達(dá)到了1 200萬(wàn)美元,要訓(xùn)練規(guī)模如此巨大的模型需要耗費(fèi)大量時(shí)間和算力。GPT-3的1 750億參數(shù)比GPT-2的參數(shù)增加了116倍,同時(shí)也帶來(lái)了最終效果的顯著提升,如圖1。如此大規(guī)模的模型要用什么樣的機(jī)器訓(xùn)練呢?其采用1萬(wàn)塊NVIDIAV100GPU,耗時(shí)15天訓(xùn)練完成??梢钥闯?,下一代AI的發(fā)展需要大規(guī)模AI算力基礎(chǔ)設(shè)施,即人工智能需要龐大算力作支撐。GPT-3的效果是顯著的,但其跟人腦還有較大差距。圖靈獎(jiǎng)獲得者Hinton認(rèn)為4.3萬(wàn)億參數(shù)(GPT-3參數(shù)的25倍)可以包含一切,但現(xiàn)有計(jì)算機(jī)系統(tǒng)無(wú)法勝任其訓(xùn)練任務(wù)。因此,人工智能問(wèn)題中,現(xiàn)在需要大規(guī)模算力的主要是自然語(yǔ)言處理,而人臉識(shí)別等應(yīng)用并不需要。此外,圖像圖形的處理問(wèn)題、決策問(wèn)題、自然語(yǔ)言處理等問(wèn)題的結(jié)合也需要更龐大的算力。
表1 GPT系列模型規(guī)模信息
AI的基礎(chǔ)設(shè)施是一臺(tái)專(zhuān)門(mén)處理人工智能問(wèn)題的機(jī)器。其系統(tǒng)結(jié)構(gòu)要素包括:處理器、內(nèi)存、存儲(chǔ)和互聯(lián)網(wǎng)絡(luò)。處理器包括CPU、向量處理器(也稱(chēng)陣列處理器,能夠同步進(jìn)行綜合數(shù)據(jù)的運(yùn)算操作)和異構(gòu)加速器(GPU、寒武紀(jì)、華為升騰等);內(nèi)存包括主存和加速器上復(fù)雜的存儲(chǔ)層次;存儲(chǔ)包括全局并行文件系統(tǒng)Lustre[6],GPFS[7]和本地存儲(chǔ);互聯(lián)網(wǎng)絡(luò)由以太網(wǎng),Infiniband[8],NVLink[9]等構(gòu)成。AI基礎(chǔ)設(shè)施的架構(gòu)和原來(lái)的高性能機(jī)器相差不大,主要體現(xiàn)在AI計(jì)算機(jī)采用大量的異構(gòu)加速器。
圖1 不同模型參數(shù)量在不同訓(xùn)練樣本數(shù)量下的準(zhǔn)確率Fig.1 Accuracy of different model parameters under different training samples
高性能計(jì)算(high performance computing,HPC)機(jī)群,其作為高性能機(jī)器主要處理傳統(tǒng)的科學(xué)計(jì)算問(wèn)題,新的AI算力系統(tǒng)則專(zhuān)門(mén)處理人工智能問(wèn)題。當(dāng)前代表性的HPC系統(tǒng)包括:①天河2號(hào)[10],由國(guó)防科技大學(xué)打造,曾經(jīng)在2013年6月到2015年11月是全世界超級(jí)計(jì)算機(jī)Top500[11]第1名,該排名1年認(rèn)證2次,我國(guó)的天河2號(hào)占據(jù)了榜首幾年,可見(jiàn)其性能的強(qiáng)大,其特點(diǎn)是在通用CPU的基礎(chǔ)上引入了異構(gòu)加速器;②無(wú)錫56研究所做的神威太湖之光[12],2016年6月到2017年11月是Top500第1名,算力遙遙領(lǐng)先,其亮點(diǎn)在于,在引入片上異構(gòu)眾核處理器的基礎(chǔ)上,所有機(jī)器的CPU都是國(guó)產(chǎn)的; ③美國(guó)的Summit[13], 2018年6月到2019年11月是Top500第1名,其特點(diǎn)是采用NVLink連接GPU和大容量NVMeSSD本地存儲(chǔ);④日本富岳[14]超算,從2020年6月開(kāi)始是Top500第1名,其特點(diǎn)是采用同構(gòu)向量處理器、高維網(wǎng)絡(luò)和半精度優(yōu)化。這4臺(tái)機(jī)器基本上都應(yīng)用于傳統(tǒng)的科學(xué)計(jì)算,比如天氣預(yù)報(bào)、核武器模擬、飛機(jī)機(jī)翼結(jié)構(gòu)評(píng)估等。新的AI算力系統(tǒng)的代表是鵬城云腦II,由華為合作深圳鵬城實(shí)驗(yàn)室在建,是專(zhuān)門(mén)適用于AI應(yīng)用的高性能計(jì)算機(jī),其引入AI異構(gòu)加速器,針對(duì)半精度計(jì)算進(jìn)行了優(yōu)化。其采用4套華為Atlas900系統(tǒng),每套系統(tǒng)128個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)8塊華為升騰加速卡,每套系統(tǒng)共有1 024塊升騰加速卡,升騰加速卡類(lèi)似于GPU。云腦共有4 096塊加速卡,其計(jì)算性能半精度是1 Eflops,雙精度是1 Pflops。4套系統(tǒng)節(jié)點(diǎn)間用200 Gbit/s網(wǎng)絡(luò)互聯(lián),全交換無(wú)帶寬裁剪,全局共享存儲(chǔ)。
AI算力系統(tǒng)和傳統(tǒng)超算的區(qū)別主要有3個(gè)方面:①處理器方面。傳統(tǒng)的科學(xué)計(jì)算問(wèn)題主要是雙精度運(yùn)算性能優(yōu)先,兼顧低精度計(jì)算,更大規(guī)模機(jī)器甚至需要采用80位或128位高精度浮點(diǎn)運(yùn)算,如傳統(tǒng)的天氣預(yù)報(bào)問(wèn)題,它需要很長(zhǎng)的浮點(diǎn)運(yùn)算。而AI運(yùn)算,著重半精度計(jì)算性能,即8位或16位的浮點(diǎn)運(yùn)算,不需要128位,這是AI算力系統(tǒng)和傳統(tǒng)超算的最重要區(qū)別。傳統(tǒng)超算也能用于人工智能、深度學(xué)習(xí),但其擅長(zhǎng)的是128位的運(yùn)算,而不是半精度運(yùn)算,運(yùn)算精度不匹配造成計(jì)算效率的下降和資源浪費(fèi);②互聯(lián)網(wǎng)絡(luò)方面。傳統(tǒng)HPC系統(tǒng)一般從全系統(tǒng)角度考慮網(wǎng)絡(luò)拓?fù)浜屯ㄐ判枨?,而AI系統(tǒng)需要高性能參數(shù)平面網(wǎng)絡(luò)連接訓(xùn)練單一模型的加速器組;③存儲(chǔ)系統(tǒng)方面。傳統(tǒng)超算一般采用Lustre等全局并行文件系統(tǒng),支持MPI-IO,而AI超算采用局部NVMeSSD存放訓(xùn)練數(shù)據(jù)(如GPT-3 訓(xùn)練數(shù)據(jù)45 TB),避免從全局文件系統(tǒng)讀取數(shù)據(jù)造成瓶頸。對(duì)于人工智能問(wèn)題,我們希望超算系統(tǒng)具有強(qiáng)大的半精度浮點(diǎn)運(yùn)算性能;而對(duì)于科學(xué)計(jì)算問(wèn)題,我們希望超算系統(tǒng)具有強(qiáng)大的雙精度運(yùn)算性能。
更大的機(jī)器能做什么?這是一個(gè)爭(zhēng)論許久的問(wèn)題。根據(jù)以往的經(jīng)驗(yàn),在機(jī)器做出來(lái)之前,是沒(méi)有確定性的應(yīng)用,但大規(guī)模的機(jī)器做出來(lái)之后,會(huì)促進(jìn)應(yīng)用的發(fā)展。更大集群不僅是將已有問(wèn)題算得更快,更重要的是解決現(xiàn)在不能解決的問(wèn)題,先有一臺(tái)機(jī)器,有可能就有應(yīng)用場(chǎng)景了。
目前,華為、寒武紀(jì)、曙光、浪潮等許多公司都建造了自己的AI超算,如何對(duì)比它們的性能成為了問(wèn)題。公眾需要一個(gè)簡(jiǎn)單的指標(biāo)來(lái)知曉哪套系統(tǒng)的人工智能算力更強(qiáng),整個(gè)領(lǐng)域的發(fā)展?fàn)顩r如何?同時(shí),一個(gè)好的指標(biāo)可以引領(lǐng)領(lǐng)域的健康發(fā)展。
傳統(tǒng)的高性能機(jī)器有Top500評(píng)比,它是通過(guò)LINPACK軟件[15]進(jìn)行測(cè)試得出成績(jī)。LINPACK作為評(píng)測(cè)超算性能的一個(gè)軟件,新的超算建造完成后可以通過(guò)運(yùn)行LINPACK來(lái)評(píng)估其性能,完成測(cè)試的時(shí)間最快,那就是Top500第1名。LINPACK測(cè)試是針對(duì)過(guò)去傳統(tǒng)的高性能機(jī)器設(shè)計(jì)的,其測(cè)試結(jié)果的好壞,表示這臺(tái)機(jī)器做傳統(tǒng)科學(xué)計(jì)算的性能。目前,新的問(wèn)題是,對(duì)于新的AI超算我們也需要一個(gè)軟件來(lái)測(cè)試其性能,測(cè)試結(jié)果告訴我們這臺(tái)機(jī)器在處理AI問(wèn)題方面是否優(yōu)秀。針對(duì)傳統(tǒng)超算測(cè)試的LINPACK已不適用于AI超算,因?yàn)長(zhǎng)INPACK主要是雙精度浮點(diǎn)運(yùn)算為主的測(cè)試,而人工智能訓(xùn)練主要是以單精度浮點(diǎn)運(yùn)算或16位浮點(diǎn)運(yùn)算為主,推理任務(wù)以Int8為主,顯然,LINPACK給出的傳統(tǒng)高性能計(jì)算機(jī)的測(cè)試結(jié)果和人工智能需要的性能不完全一致,用其來(lái)測(cè)試新的機(jī)器結(jié)果是不具有信服度的。
既然現(xiàn)有的評(píng)估方法不適合,就需要重新設(shè)計(jì)一個(gè)測(cè)試評(píng)估軟件。目前國(guó)際上還沒(méi)有公認(rèn)的針對(duì)AI超算的性能測(cè)試軟件,我們國(guó)家的團(tuán)隊(duì)正在著手研發(fā),并基本做成了第1版測(cè)試軟件。要做針對(duì)AI超算的測(cè)試評(píng)估軟件,其難點(diǎn)主要有2個(gè):①測(cè)試軟件的可擴(kuò)展性。我們希望新的測(cè)試軟件對(duì)于大、中、小型集群都可以進(jìn)行測(cè)試,就是其適用范圍要廣。測(cè)試軟件應(yīng)該適用于絕大多數(shù)超算,而不是針對(duì)某一個(gè)系統(tǒng)進(jìn)行開(kāi)發(fā)?,F(xiàn)在多數(shù)的深度學(xué)習(xí)研究,只用了一塊GPU,也就是一臺(tái)PC機(jī)或者一臺(tái)服務(wù)器幾塊GPU做深度學(xué)習(xí)研究,其性能確實(shí)比CPU運(yùn)算有較大提升。但是,為什么廣大研究者不采用多個(gè)服務(wù)器大量GPU一起運(yùn)算呢,其效率將會(huì)有更大的提升。其難點(diǎn)不在于資金和集群構(gòu)建,而在于程序的編寫(xiě)和軟件的適配。通過(guò)應(yīng)用多GPU運(yùn)算可以大幅加速訓(xùn)練過(guò)程,提高解決人工智能問(wèn)題的速度,但是如何編寫(xiě)可以充分利用多GPU的程序是主要難點(diǎn),特別是在面對(duì)AI超算這種具有幾千、上萬(wàn)塊GPU的超大集群時(shí)。因此,新的測(cè)試程序應(yīng)該兼容單GPU、多GPU和超大GPU集群的測(cè)試場(chǎng)景,讓研究者可以直觀地比較各系統(tǒng)間性能的差距。②測(cè)試軟件要能反映AI超算解決人工智能應(yīng)用問(wèn)題的性能。新的測(cè)試軟件不能隨意地進(jìn)行無(wú)意義的簡(jiǎn)單浮點(diǎn)運(yùn)算,這樣不能反映AI運(yùn)算基礎(chǔ)設(shè)施解決人工智能問(wèn)題的性能。我國(guó)團(tuán)隊(duì)開(kāi)發(fā)的第1版測(cè)試軟件已評(píng)測(cè)了10多臺(tái)機(jī)器,當(dāng)前人工智能的研究十分火熱,很多國(guó)家和公司也都在建設(shè)AI運(yùn)算基礎(chǔ)設(shè)施,因此,我們特別需要一個(gè)測(cè)試程序來(lái)評(píng)比各個(gè)AI超算的性能。