摘要
人工智能(AI)方法在科學(xué)應(yīng)用中變得至關(guān)重要,有助于加速科學(xué)發(fā)現(xiàn)。大語(yǔ)言模型(LLM)由于其跨領(lǐng)域的卓越泛化能力,被認(rèn)為是解決一些具有挑戰(zhàn)性的問(wèn)題的很有前景的方法。模型的有效性和應(yīng)用程序的準(zhǔn)確性取決于它們?cè)诘讓?a href="http://ttokpm.com/v/tag/1751/" target="_blank">硬件設(shè)備上的有效執(zhí)行。專門(mén)的人工智能加速器硬件系統(tǒng)可用于加速人工智能相關(guān)應(yīng)用。然而,這些人工智能加速器在大語(yǔ)言模型上的性能比較此前尚未被研究過(guò)。在本文中,我們系統(tǒng)地研究了多個(gè)人工智能加速器和GPU上的LLM,并評(píng)估了它們?cè)谶@些模型中的性能特征。我們用(i)使用Transformer block的微基準(zhǔn)、(ii)GPT-2模型和(iii)LLM驅(qū)動(dòng)的科學(xué)用例GenSLM來(lái)評(píng)估這些系統(tǒng)。文章展示了我們對(duì)模型性能的發(fā)現(xiàn)和分析,以更好地理解人工智能加速器的內(nèi)在能力。此外,我們的分析也考慮了關(guān)鍵因素,如序列長(zhǎng)度、縮放行為、稀疏性和對(duì)梯度累積步驟的敏感性。
I.介紹
將人工智能(AI)用于科學(xué)已經(jīng)引起了科研機(jī)構(gòu)和超級(jí)計(jì)算設(shè)備越來(lái)越多的興趣,目的是通過(guò)涉及AI的新方法加速科學(xué)發(fā)現(xiàn)。這種協(xié)同作用增加了人們對(duì)采用新型人工智能驅(qū)動(dòng)技術(shù)的興趣,以幫助開(kāi)發(fā)復(fù)雜科學(xué)問(wèn)題的解決方案,如蛋白質(zhì)結(jié)構(gòu)預(yù)測(cè)、宇宙學(xué)參數(shù)預(yù)測(cè)、中微子粒子檢測(cè)、醫(yī)學(xué)藥物設(shè)計(jì)、基因組模型和天氣預(yù)報(bào)模型等。最常用的人工智能技術(shù)包括進(jìn)化神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)、圖神經(jīng)網(wǎng)絡(luò)和大語(yǔ)言模型(LLM),這些技術(shù)以其獨(dú)特的結(jié)構(gòu)特征,能夠有效幫助科學(xué)家進(jìn)行研究。近年來(lái),人工智能中的自然語(yǔ)言處理領(lǐng)域經(jīng)歷了巨大的增長(zhǎng),這極大促進(jìn)了LLM的發(fā)展,使其能夠用于各種任務(wù),如問(wèn)答、文本摘要和語(yǔ)言翻譯。這些模型在科學(xué)的AI應(yīng)用中將變得越來(lái)越重要。
LLM,如Generative Pre-trained Transformers(GPT)GPT-3、LLaMA、LLaMA 2和Bloom,其復(fù)雜性以及模型輸出結(jié)果質(zhì)量都有了巨大的提高。這種增長(zhǎng)的部分原因是基于Transformer的模型的迅速發(fā)展,它既是傳統(tǒng)應(yīng)用程序的事實(shí)架構(gòu),也是科學(xué)用例的有力工具。從加速藥物發(fā)現(xiàn)到理解基因序列,基于Transformer的架構(gòu)已經(jīng)部署在許多應(yīng)用上。例如,GenSLM提供了一個(gè)基于LLM的基礎(chǔ)模型來(lái)預(yù)測(cè)Sars-CoV2變異毒株。它的優(yōu)勢(shì)在于它能夠?yàn)樵O(shè)計(jì)有效的抗病毒藥物提供信息。GenSLM模型是在超過(guò)1.1億個(gè)原始核苷酸序列的廣泛數(shù)據(jù)集上訓(xùn)練的,模型規(guī)模在2500萬(wàn)至250億個(gè)可訓(xùn)練參數(shù)之間。然而,訓(xùn)練具有大模型參數(shù)和較長(zhǎng)序列長(zhǎng)度的GPT變體LLM需要專門(mén)的計(jì)算資源和軟件堆棧,從中實(shí)現(xiàn)技術(shù)創(chuàng)新和優(yōu)化。
為了滿足這些需求,出現(xiàn)了基于非傳統(tǒng)架構(gòu)(如數(shù)據(jù)流)設(shè)計(jì)的人工智能加速器。這些加速器是定制的,以其強(qiáng)大的硬件計(jì)算引擎和新穎的軟件優(yōu)化有效支持人工智能工作負(fù)載。它們被證明可以有效地訓(xùn)練多種人工智能模型,其中特別關(guān)注LLM的訓(xùn)練。憑借其獨(dú)特的系統(tǒng)特性,這些人工智能加速器能夠應(yīng)對(duì)LLM帶來(lái)的挑戰(zhàn)。這些加速器除了提供一套預(yù)先訓(xùn)練的GPT模型外,還能夠運(yùn)行一些最大規(guī)模的GPT模型。這些模型展示了人工智能加速器的多功能性和可擴(kuò)展性。隨著LLM的規(guī)模和復(fù)雜性的增加,創(chuàng)新的訓(xùn)練技術(shù)變得至關(guān)重要,以進(jìn)一步增強(qiáng)具有數(shù)十億參數(shù)的LLM的訓(xùn)練。
在不同的硬件平臺(tái)上評(píng)估LLM對(duì)于理解傳統(tǒng)和非傳統(tǒng)體系結(jié)構(gòu)的能力和局限性至關(guān)重要。先前的工作已經(jīng)在超級(jí)計(jì)算機(jī)上研究了LLM,并使用傳統(tǒng)的深度學(xué)習(xí)基準(zhǔn)來(lái)提供對(duì)其能力的詳細(xì)評(píng)估與分析。然而,之前的研究尚未對(duì)各種人工智能加速器進(jìn)行全面評(píng)估,尤其是LLM。本文旨在通過(guò)對(duì)多個(gè)人工智能加速器上的大語(yǔ)言模型進(jìn)行詳細(xì)的性能評(píng)估來(lái)解決這一差距,這是我們所知的第一個(gè)此類基準(zhǔn)研究。本文的主要貢獻(xiàn)是:
對(duì)最先進(jìn)的人工智能加速器上的LLM進(jìn)行了系統(tǒng)評(píng)估。
專注于Transformer block微基準(zhǔn),它是基于GPT的模型中的核心組件。
對(duì)GPT-2 XL 1.5B參數(shù)模型進(jìn)行全面評(píng)估,以深入了解所有系統(tǒng)的模型性能。
科學(xué)應(yīng)用的移植和評(píng)估:GenSLM,基因測(cè)序的基礎(chǔ)模型。
研究序列長(zhǎng)度、稀疏性和梯度累積步驟對(duì)模型吞吐量的影響。
我們?cè)诘诙?jié)中概述了LLM和各種人工智能加速器,然后在第三節(jié)中介紹了評(píng)估模型的細(xì)節(jié),即Transformer block微基準(zhǔn)、GPT-2XL和GenSLM應(yīng)用。我們?cè)诘谒墓?jié)中描述了LLM在不同人工智能加速器上的實(shí)現(xiàn)。我們?cè)诘谖骞?jié)中展示了實(shí)驗(yàn)結(jié)果,然后在第六節(jié)中給出了結(jié)論。
II.大語(yǔ)言模型和人工智能加速器綜述
大語(yǔ)言模型是一種使用深度學(xué)習(xí)算法處理和生成自然語(yǔ)言文本的人工智能系統(tǒng)。近年來(lái),由于這些模型能夠執(zhí)行廣泛的語(yǔ)言相關(guān)任務(wù),如機(jī)器翻譯、文本摘要和問(wèn)答,因此它們?cè)絹?lái)越受歡迎。深度學(xué)習(xí)技術(shù)的進(jìn)步推動(dòng)了大語(yǔ)言模型的發(fā)展,特別是在Transformer模型領(lǐng)域。這些模型使用自注意力機(jī)制來(lái)處理文本輸入,使它們能夠捕捉語(yǔ)言數(shù)據(jù)中的復(fù)雜模式和關(guān)系。他們還使用無(wú)監(jiān)督學(xué)習(xí)技術(shù)在大型數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,如掩蔽語(yǔ)言建模和上下文預(yù)測(cè),這有助于他們學(xué)習(xí)廣泛的語(yǔ)言特征和結(jié)構(gòu)。對(duì)特定任務(wù)進(jìn)行微調(diào)可以進(jìn)一步提高它們的性能和適應(yīng)性。
最著名的LLM之一是GPT(Generative Pretrained Transformer)系列,它由OpenAI開(kāi)發(fā),用于回答問(wèn)題、翻譯語(yǔ)言和生成文本。這些任務(wù)是通過(guò)在未標(biāo)記文本的不同數(shù)據(jù)語(yǔ)料庫(kù)上生成語(yǔ)言模型的預(yù)訓(xùn)練來(lái)實(shí)現(xiàn)的,然后對(duì)特定任務(wù)進(jìn)行有區(qū)別的微調(diào)。微調(diào)過(guò)程中的任務(wù)感知輸入轉(zhuǎn)換有助于在對(duì)模型架構(gòu)進(jìn)行最小更改的情況下實(shí)現(xiàn)有效轉(zhuǎn)移。由于神經(jīng)元結(jié)構(gòu)的差異,GPT模型可以大致分為GPT、GPT-2、GPT-3和最近的GPT-4。
由基于GPU的系統(tǒng)和新型非傳統(tǒng)人工智能硬件(如數(shù)據(jù)流架構(gòu))組成的人工智能加速器已被證明可以提高各種人工智能模型的效率。下面我們將介紹本研究中使用的加速器,配置列于表I中。
表一:評(píng)估的人工智能加速器的特性
Nvidia A100:A100 GPU由6912個(gè)CUDA內(nèi)核和432個(gè)Tensor內(nèi)核組成,用于加速并行工作負(fù)載。在單個(gè)DGX節(jié)點(diǎn)上,有4個(gè)A100 GPU,與NVLink互連。我們使用微軟Megatron-DepSpeed框架的分叉實(shí)現(xiàn)進(jìn)行評(píng)估。在這樣做的過(guò)程中,我們可以充分利用DeepSpeed的各種優(yōu)化和方便的功能,如ZeRO卸載和自動(dòng)度量跟蹤(帶有通信+FLOP分析)。所有實(shí)驗(yàn)都是在Argonne Leadership Computing Facility(ALCF)的Polaris超級(jí)計(jì)算機(jī)上進(jìn)行的,每個(gè)節(jié)點(diǎn)有4個(gè)A100 GPU和40 GB內(nèi)存。
Cerebras CS-2:Cerebras CS 2是一款晶圓級(jí)深度學(xué)習(xí)加速器,包括85萬(wàn)個(gè)處理內(nèi)核,每個(gè)內(nèi)核提供48KB的專用SRAM內(nèi)存,芯片總?cè)萘繛?0GB,并相互連接以優(yōu)化帶寬和延遲。該系統(tǒng)已擴(kuò)展到通過(guò)SwarmX結(jié)構(gòu)和MemoryX存儲(chǔ)子系統(tǒng)互連的兩個(gè)CS-2 waferscale引擎節(jié)點(diǎn),以啟用大型模型。晶圓級(jí)集群支持重量流執(zhí)行模式,其中每個(gè)模型層逐個(gè)加載。該功能允許用戶運(yùn)行大語(yǔ)言模型,其中每一層的權(quán)重都適合內(nèi)存,但不適合整個(gè)模型。該軟件平臺(tái)集成了流行的機(jī)器學(xué)習(xí)框架,如PyTorch。對(duì)于單個(gè)Cerebras CS-2,支持的最大模型是GPT-3(175B參數(shù)模型),CS-2可以支持高達(dá)58k的序列長(zhǎng)度。
SambaNova SN30:SambaNova DataScale系統(tǒng)使用第二代可重構(gòu)數(shù)據(jù)流單元(RDU)處理器來(lái)實(shí)現(xiàn)最佳的數(shù)據(jù)流處理和加速。每個(gè)RDU具有1280個(gè)模式計(jì)算單元(PCU)和1TB的片外存儲(chǔ)器。該系統(tǒng)由八個(gè)節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)有八個(gè)互連的RDU,以實(shí)現(xiàn)模型和數(shù)據(jù)的并行性。SambaFlow,其軟件堆棧,從PyTorch機(jī)器學(xué)習(xí)框架中提取、優(yōu)化數(shù)據(jù)流圖并將其映射到RDU。SN30可以在4個(gè)RDU上訓(xùn)練多達(dá)176B參數(shù)的模型。
Graphcore Bow Pod64:Graphcore22 PB級(jí)的Bow Pod 64系統(tǒng)是Graphcore的最新一代加速器。它是一個(gè)單機(jī)架系統(tǒng),由64個(gè)帶有自定義互連的Bow級(jí)IPU組成。Graphcore軟件堆棧包括Poplar SDK,并支持TensorFlow和PyTorch。Bow系統(tǒng)目前支持具有256個(gè)IPU的GPT-3 175B參數(shù)模型。
Habana Gaudi2:Habana Godi2處理器具有兩個(gè)矩陣乘法引擎(MME)、24個(gè)完全可編程的VLIW SIMD張量處理器內(nèi)核,將24個(gè)100 GbE端口的聚合以太網(wǎng)RDMA(RoCE)集成到每個(gè)處理器芯片中,以有效擴(kuò)展訓(xùn)練。Gaudi系統(tǒng)由一個(gè)HLS-2服務(wù)器和八個(gè)Gaudi HL-225H卡組成。軟件堆棧包括SynapseAI堆棧,并支持TensorFlow和PyTorch。它支持現(xiàn)有的深度學(xué)習(xí)優(yōu)化庫(kù)DeepSpeed和定制庫(kù)Optimum Habana,后者是Transformer庫(kù)和Habana的Gaudi處理器(HPU)之間的接口。在Gaudi系統(tǒng)上,目前驗(yàn)證的最大模型是在384張Gaudi 2卡上運(yùn)行的GPT-3(175B參數(shù)模型)。
AMD MI250:AMD MI250 GPU基于CDNA2架構(gòu),由分布在208個(gè)計(jì)算單元上的13312個(gè)流處理器組成,并配有128 GB專用HBM2e內(nèi)存,內(nèi)存帶寬為3.276 TB/s。它能夠?qū)崿F(xiàn)FP16的362.1 TFlops和FP32的45.3 TFlops的峰值性能。每個(gè)GPU使用PCIe Gen4連接到主機(jī),并使用InfiniBand進(jìn)行節(jié)點(diǎn)間通信。AMD ROCm開(kāi)放軟件平臺(tái)支持常見(jiàn)的DL堆棧,包括Tensorflow和PyTorch,以及rocBLAS、rocSPARSE、rocFFT和RCCL(ROCm集體通信庫(kù))等庫(kù)。
III. 評(píng)估
在這項(xiàng)工作中,我們主要關(guān)注評(píng)估(i)Transformer基準(zhǔn),(ii)GPT 2-XL模型,以及(iii)科學(xué)應(yīng)用GenSLM(這是一種基因組測(cè)序的基礎(chǔ)模型)。
(1) Transformer微基準(zhǔn):要評(píng)估AI加速器上Transformer基準(zhǔn)的性能,必須考慮幾個(gè)關(guān)鍵因素。首先,重要的是選擇適當(dāng)?shù)奈⑿突鶞?zhǔn),以反映所使用的Transformer模型的工作量。一旦選擇了合適的微基準(zhǔn),就有必要收集性能指標(biāo),例如吞吐量,這可以通過(guò)測(cè)量每秒處理以完成一定數(shù)量迭代的輸入數(shù)量來(lái)完成。此外,監(jiān)控硬件資源(如內(nèi)存和計(jì)算單元)的利用率也很重要。最后,建議將傳統(tǒng)NVIDIA GPU的性能與其他AI加速器進(jìn)行比較,以更全面地了解它們的優(yōu)缺點(diǎn)。通過(guò)仔細(xì)評(píng)估這些因素,可以有效預(yù)測(cè)AI加速器上Transformer模型的性能。
Transformer block(圖1)是基于Transformer模型的一個(gè)廣泛認(rèn)可和建立的微觀基準(zhǔn)。由于幾個(gè)原因,Transformer block是微型基準(zhǔn)的理想選擇。首先,它是自然語(yǔ)言處理任務(wù)(如語(yǔ)言建模和文本生成)中廣泛使用的構(gòu)建塊,使其成為許多LLM應(yīng)用程序的相關(guān)基準(zhǔn)。其次,與較大的Transformer模型相比,Transformer block相對(duì)簡(jiǎn)單且尺寸較小,這使得運(yùn)行和評(píng)估更容易。這也允許在評(píng)估新硬件架構(gòu)時(shí)進(jìn)行更快的實(shí)驗(yàn)。最后,Transformer block包括Transformer模型的許多關(guān)鍵組件,包括自注意層和前饋層,使其成為T(mén)ransformer模型的合適代表。總的來(lái)說(shuō),Transformer block是一個(gè)公認(rèn)且廣泛接受的微型基準(zhǔn),是評(píng)估LLM模型性能的絕佳選擇。
圖1:GPT transformer block
Transformer block由一個(gè)多頭自注意層和一個(gè)前饋神經(jīng)網(wǎng)絡(luò)層組成。Transformer block的輸入是一個(gè)令牌序列。在這項(xiàng)工作中,我們?cè)u(píng)估的輸入序列的長(zhǎng)度為1024。為了計(jì)算Transformer block的FLOP,我們需要考慮每層所需的操作次數(shù)。自注意層需要O(n2d)FLOP,其中n是序列長(zhǎng)度,d是隱藏維度。前饋神經(jīng)網(wǎng)絡(luò)層需要O(ndk)FLOP,其中k是隱藏層的大小。因此,Transformer block的FLOP的總數(shù)為O(n2d+ndk)。
(2) GPT-2XL:在這項(xiàng)研究中,我們使用GPT-2XL 1.5B參數(shù)模型進(jìn)行預(yù)訓(xùn)練實(shí)驗(yàn),以分析加速器在運(yùn)行大語(yǔ)言模型時(shí)的性能。盡管如第二節(jié)所述,被評(píng)估的系統(tǒng)可以單獨(dú)支持更大的模型和不同的配置,但我們選擇GPT-2 XL是因?yàn)樗梢约皶r(shí)在每個(gè)系統(tǒng)上輕松實(shí)現(xiàn),以便進(jìn)行公平的比較。此外,GPT-2大小的模型的內(nèi)存和計(jì)算需求與每個(gè)系統(tǒng)上的最小計(jì)算單元節(jié)點(diǎn)非常匹配;因此,這里獲得的測(cè)試結(jié)論可以擴(kuò)展,以幫助推動(dòng)選擇加速器的決策,這些加速器可以為任何給定的基于Transformer的大模型架構(gòu)產(chǎn)生最佳性能。本次評(píng)估中使用的數(shù)據(jù)集是開(kāi)放式Web文本(OWT),它是WebText語(yǔ)料庫(kù)的開(kāi)源版本。它由8013769個(gè)文檔中的38 GB文本數(shù)據(jù)組成,這些文本數(shù)據(jù)是從Reddit上共享的URL中提取的內(nèi)容,至少有三次投票支持。對(duì)于這個(gè)模型,我們測(cè)量了每個(gè)系統(tǒng)上器件規(guī)模的模型吞吐量。此外,我們還評(píng)估了序列長(zhǎng)度、梯度累積(GAS)和稀疏性對(duì)模型性能的影響。
(3) GenSLM(科學(xué)用例):除了上面描述的基準(zhǔn)之外,我們還對(duì)評(píng)估這些模型在現(xiàn)實(shí)世界用例中的表現(xiàn)。GenSLM是一個(gè)基因組的基礎(chǔ)模型,可以推廣到其他模型。該模型的目標(biāo)是識(shí)別和分類不同的病毒變異毒株,然后可以將其擴(kuò)展到基因或蛋白質(zhì)合成。它采用基于GPT的具有不同參數(shù)的大語(yǔ)言模型(25M-25B)和1.2B的原始核苷酸數(shù)據(jù)集,旨在獲得更大的序列長(zhǎng)度,以幫助更好地捕捉上下文,并可推廣用于學(xué)習(xí)進(jìn)化。圖2顯示了GenSLM模型的概述,該模型以SARS-CoV-2基因組(在密碼子水平編碼的核苷酸序列,其中每三個(gè)核苷酸代表一個(gè)密碼子)為輸入,將其輸入到一系列轉(zhuǎn)換層。中間層學(xué)習(xí)單個(gè)密碼子的語(yǔ)義嵌入,可以將其映射到29個(gè)單獨(dú)的病毒編碼的蛋白質(zhì)序列。在本研究中,我們重點(diǎn)評(píng)估了Nvidia A100、SambaNova SN30上具有13B參數(shù)的GenSLM GPT模型和Cerebras CS-2上的25B GPT3-XL模型。
圖2:用于嚴(yán)重急性呼吸系統(tǒng)綜合征冠狀病毒2型進(jìn)化預(yù)測(cè)建模的GenSLM模型概述
度量:評(píng)估大語(yǔ)言模型的性能超出了傳統(tǒng)的度量,包括計(jì)算效率和硬件利用率的考慮。隨著這些模型的規(guī)模和復(fù)雜性的增長(zhǎng),評(píng)估它們有效處理和生成文本的能力至關(guān)重要,尤其是考慮到訓(xùn)練和推理所需的計(jì)算資源。吞吐量是衡量大型語(yǔ)言模型處理給定數(shù)量輸入數(shù)據(jù)的速率的關(guān)鍵性能指標(biāo)。它通常以每秒處理的令牌或語(yǔ)句來(lái)量化。更高的吞吐量值表示更好的效率和有效處理大規(guī)模語(yǔ)言處理任務(wù)的能力。在這項(xiàng)工作中,我們以每秒令牌數(shù)的形式展示了評(píng)估系統(tǒng)的吞吐量。
硬件利用率是評(píng)估大語(yǔ)言模型的另一個(gè)重要指標(biāo),因?yàn)樗u(píng)估了在模型訓(xùn)練和推理過(guò)程中計(jì)算資源的有效利用率。它涉及多種設(shè)計(jì)選擇,如模型并行性、內(nèi)存管理和高效的數(shù)據(jù)處理技術(shù)。分析模型以提取評(píng)估系統(tǒng)的硬件利用率的工作正在進(jìn)行中,并將包含在報(bào)告的最終版本中。
IV. AI加速器的實(shí)現(xiàn)
由于不同的軟件堆棧和規(guī)模,評(píng)估模型在每個(gè)系統(tǒng)上的實(shí)現(xiàn)方式各不相同。在這里,我們描述了三種情況下每個(gè)系統(tǒng)的實(shí)現(xiàn)細(xì)節(jié):Transformer微基準(zhǔn)測(cè)試、GPT-2XL預(yù)訓(xùn)練和GenSLM科學(xué)應(yīng)用。
A. Transformer微基準(zhǔn)
Transformer微基準(zhǔn)的評(píng)估涉及一個(gè)細(xì)致的實(shí)施過(guò)程,旨在評(píng)估該內(nèi)核在不同AI加速器上的計(jì)算效率和性能特征。Transformer微基準(zhǔn)是為了模擬Transformer模型中的內(nèi)核操作而設(shè)計(jì)的,廣泛用于各種自然語(yǔ)言處理任務(wù)。Transformer微基準(zhǔn)使用標(biāo)準(zhǔn)化GPT-2XL模型中的一層,輸入序列為1024,確保不同平臺(tái)之間的結(jié)果一致且可比較。實(shí)現(xiàn)是使用相同的深度學(xué)習(xí)框架PyTorch進(jìn)行的,PyTorch針對(duì)每個(gè)平臺(tái)的獨(dú)特功能進(jìn)行定制。工作負(fù)載用于利用并行性和特定于硬件的優(yōu)化,并實(shí)現(xiàn)最佳吞吐量和計(jì)算速度。我們會(huì)仔細(xì)注意批量大小等因素,以避免瓶頸并充分利用可用的硬件資源。
對(duì)于不同的配置,我們使用8、16、32和64的批量大小。收集性能指標(biāo),如TFLOPS,以量化每個(gè)硬件平臺(tái)在處理Transformer模型所需的苛刻計(jì)算方面的能力。該評(píng)估為處理基于Transformer的工作負(fù)載時(shí)不同硬件的優(yōu)勢(shì)和劣勢(shì)提供了有價(jià)值的見(jiàn)解。
B. GPT-2 XLA預(yù)訓(xùn)練
作為GPT-2 XL研究的一部分,我們?cè)贠WT數(shù)據(jù)集上預(yù)訓(xùn)練模型,其中對(duì)給定序列長(zhǎng)度的原始數(shù)據(jù)進(jìn)行預(yù)處理和標(biāo)記。下面描述每個(gè)系統(tǒng)的標(biāo)記化和模型實(shí)現(xiàn)的細(xì)節(jié)。
Nvidia A100:我們?cè)诓煌墓?jié)點(diǎn)計(jì)數(shù)上運(yùn)行了具有不同微塊大小、序列長(zhǎng)度和張量平行度的模型,最多可達(dá)64個(gè)A100 GPU。這些都是用Megatron-DeepSpeed實(shí)現(xiàn)的,使用的是fp16精度的ZeRO Stage 1。在這些實(shí)驗(yàn)中,啟用了flash-attn,這可以緩解內(nèi)存壓力,通??梢蕴岣咄掏铝?。實(shí)驗(yàn)使用了2k的序列長(zhǎng)度。使用Nvidia的NeMo生成人工智能框架進(jìn)行的實(shí)驗(yàn)是未來(lái)計(jì)劃工作的一部分。
Cerebras CS-2:在Cerebra CS-2系統(tǒng)上,我們?cè)趩蝹€(gè)CS-2引擎上運(yùn)行在PyTorch框架中實(shí)現(xiàn)的GPT-2 XL模型,序列長(zhǎng)度為1024和2048,批量大小為112。該實(shí)現(xiàn)使用了一個(gè)基于字節(jié)對(duì)編碼(BPE)的自定義GPT-2標(biāo)記器,vocab大小為50257。使用1(默認(rèn)值)和2的混合精度和精度選擇級(jí)別來(lái)訓(xùn)練模型。它使用了一個(gè)AdamW優(yōu)化器,其權(quán)重衰減率為0.011。該模型使用密集和稀疏配置進(jìn)行訓(xùn)練。在稀疏性方法中,基于所提供的程度來(lái)稀疏密集層的所有權(quán)重。我們運(yùn)行了具有各種稀疏性值的GPT-3 6.7B和GPT-3 30B模型。這里,稀疏度值為0.3意味著修剪了30%的權(quán)重。第V節(jié)將討論稀疏性對(duì)模型吞吐量和損失的影響。
SambaNova SN30:我們?cè)u(píng)估了SambaNovas下一代SN30上OWT數(shù)據(jù)集的預(yù)訓(xùn)練性能,它的每個(gè)節(jié)點(diǎn)有8個(gè)RDU,每個(gè)RDU有8個(gè)Tile。我們使用了適用于4個(gè)Tile或半個(gè)RDU的GPT-1.5B模型的SN參考實(shí)現(xiàn)。該實(shí)現(xiàn)基于PyTorch的SambaFlow框架,使用混合精度(16位乘法器和32位累加器)。它使用基于BPE的GPT-2標(biāo)記器,vocab大小為50260。我們使用數(shù)據(jù)并行性來(lái)跨多個(gè)Tile和節(jié)點(diǎn)進(jìn)行擴(kuò)展。我們最多可擴(kuò)展8個(gè)節(jié)點(diǎn)(對(duì)應(yīng)于128個(gè)數(shù)據(jù)并行運(yùn)行實(shí)例),每個(gè)實(shí)例的微批大小為16。
Graphcore Bow Pod64:在Bow Pod 64上,我們利用64個(gè)IPU來(lái)訓(xùn)練評(píng)估的模型。在PyTorch框架中實(shí)現(xiàn)的GPT-2 XL 1.5B模型可以跨4個(gè)IPU進(jìn)行模型劃分。作為數(shù)據(jù)預(yù)處理的一部分,該實(shí)現(xiàn)使用Nvidia的Megatron庫(kù)來(lái)生成具有BPE標(biāo)記器和50272的vocb大小的訓(xùn)練樣本。Poplar SDK使用多指令多數(shù)據(jù)(MIMD)方式的映射來(lái)利用IPU并行進(jìn)行計(jì)算和通信。我們?cè)贔P16中使用了1的局部批量大小,并結(jié)合了128和1024的大梯度累積步長(zhǎng)值。這樣大的值有助于最小化通信開(kāi)銷,因?yàn)樗M了更大的全局批量大小。特別是對(duì)于較小的GAS值,我們使用了1、2、4和16的復(fù)制因子來(lái)實(shí)現(xiàn)更好的擴(kuò)展。
Habana Gaudi2:我們?cè)赑yTorch中運(yùn)行了GPT-2 XL模型,每個(gè)HPU設(shè)備的序列長(zhǎng)度為1024,本地批量大小為32。在Habana Gaudi2上對(duì)GPT-2 XL模型進(jìn)行的訓(xùn)練代表了軟件和硬件功能的強(qiáng)大組合。訓(xùn)練中使用的數(shù)據(jù)格式為BF16。訓(xùn)練樣本是使用BPE標(biāo)記器生成的。
AMD MI250:在AMD MI250系統(tǒng)上,我們?cè)u(píng)估了GPT-2的性能,其中在多達(dá)8個(gè)GPU的OWT數(shù)據(jù)集上訓(xùn)練的絕對(duì)位置中,使用因果語(yǔ)言建模(CLM)目標(biāo)進(jìn)行嵌入。我們使用了基于字節(jié)對(duì)編碼的GPT-2標(biāo)記器,并使用了Hugging Face中的PyTorch 2.0參考設(shè)計(jì)來(lái)實(shí)現(xiàn)這一點(diǎn)。針對(duì)1024的序列長(zhǎng)度、每個(gè)GPU 16和32的批處理大小以及1和4的GAS值來(lái)評(píng)估性能。
C. GenSLM
我們?cè)贜vidia A100、SambaNova SN30和Cerebras CS-2上實(shí)現(xiàn)了GenSLM科學(xué)應(yīng)用程序。在三個(gè)系統(tǒng)上,均使用PyTorch框架實(shí)現(xiàn)該模型。它使用基因組序列數(shù)據(jù)集,并使用密碼子級(jí)標(biāo)記器將其標(biāo)記化,該標(biāo)記器將基因組拆分為3個(gè)核酸塊。由于GenSLM應(yīng)用程序包含多種模型,它們的模型參數(shù)數(shù)量從25M到25B不等,因此我們?cè)诒緦?shí)驗(yàn)中使用了兩種不同的模型參數(shù)大小。
GenSLM的SN30實(shí)現(xiàn)基于GPT-2 13B參數(shù)模型,該模型使用1024的上下文長(zhǎng)度、44層、64個(gè)注意力頭、4992的嵌入大小和71的詞匯表大小。該批量大小為32的GPT-2 13B參數(shù)模型可以映射在4個(gè)Tile內(nèi)或相當(dāng)于半個(gè)RDU內(nèi)。Cerebras上使用的模型是GPT-3 XL,這是一個(gè)1.5B參數(shù)的模型,有24個(gè)隱藏層和16個(gè)注意力頭。該模型使用70的詞匯大小和2048的嵌入大小。該模型針對(duì)序列長(zhǎng)度為10240且局部大小為27的基因組序列進(jìn)行訓(xùn)練。其他模型參數(shù)類似于上面列出的GPT-2XL實(shí)現(xiàn)細(xì)節(jié)。GPT3-XL模型在兩個(gè)CS-2上進(jìn)行了縮放,以提供54的全局批量大小。在Nvidia A100上,我們使用了一個(gè)相同的GPT-2 13B模型,該模型由40層隱藏維度和40個(gè)注意力頭組成。
V. 結(jié)論
在本節(jié)中,我們介紹了三個(gè)評(píng)估案例的實(shí)驗(yàn)結(jié)果。我們從第V-A節(jié)中以三個(gè)精度評(píng)估的Transformer微基準(zhǔn)開(kāi)始。接下來(lái),我們介紹了GPT-2 XL 1.5B參數(shù)模型的結(jié)果,重點(diǎn)是第V-B1節(jié)中的可擴(kuò)展性、第V-B3節(jié)中的GAS研究、第V-B2節(jié)中的序列長(zhǎng)度分析和第V-B4節(jié)中的稀疏性研究。最后,我們?cè)敿?xì)介紹了GenSLM模型在三個(gè)系統(tǒng)上的實(shí)驗(yàn)結(jié)果,這些系統(tǒng)具有三種尺寸的模型:SectionV-C中的1.5B、13B和25B個(gè)參數(shù)。
A.Transformer微基準(zhǔn)
在單個(gè)NVIDIA A100 GPU、SambaNova SN30 RDU、Graphcore Bow IPU、Habana Gaudi2和AMD MI250上的Transformer微基準(zhǔn)評(píng)估結(jié)果如圖3和圖4所示,顯示了FP32、FP16和BF16三種精度的前向和后向通道的吞吐量。與A100的2039 GB/s相比,Mi250具有更高的內(nèi)存帶寬(3276.8 GB/s),更高的帶寬能夠用于提高單精度的性能。但是MI250的總效率低于A100。
圖3:Transformer微基準(zhǔn)在不同精度的正向通道中的吞吐量評(píng)估
圖4:Transformer微基準(zhǔn)在不同精度的后向通道中的吞吐量評(píng)估
據(jù)觀察,NVIDIA A100 GPU得益于其先進(jìn)的張量?jī)?nèi)核和并行處理能力,展示了基線吞吐量。FP16和BF16精度的吞吐量比FP32高約4倍。A100的單精度理論性能是半精度理論性能的兩倍。由于使用半精度減少了內(nèi)存訪問(wèn),可能會(huì)帶來(lái)額外的性能改進(jìn)。SambaNova SN30具有可重新配置的數(shù)據(jù)流架構(gòu),在BF16精度方面表現(xiàn)出令人印象深刻的性能,展示了其使用半精度格式處理復(fù)雜Transformer工作負(fù)載的潛力。由于RDU上的管道化/融合執(zhí)行,與任何管道一樣,自然會(huì)有一個(gè)預(yù)熱和冷卻階段。一批中的更多樣本會(huì)具有更長(zhǎng)的穩(wěn)態(tài)行為和更高的有效吞吐量。由IPU提供動(dòng)力的Graphcore Bow IPU在FP32和FP16精度方面表現(xiàn)出色,突出了其適用于NLP任務(wù)。同時(shí),Habana Gaudi2在所有三種格式中都表現(xiàn)出強(qiáng)大的性能,強(qiáng)調(diào)了其在高效執(zhí)行各種Transformer計(jì)算方面的能力。在后向通道中,我們認(rèn)為這是由于硬件利用率更高,從而帶來(lái)更高的吞吐量。AMD MI250利用其專用張量處理內(nèi)核陣列,在后向傳輸中表現(xiàn)出顯著的加速和一致的吞吐量。
B.GPT-2 XL
對(duì)于該模型,我們將設(shè)備數(shù)量的不同配置的預(yù)訓(xùn)練吞吐量作為縮放研究。稍后我們將討論序列長(zhǎng)度和梯度累積步驟對(duì)模型吞吐量的敏感性。
1) 縮放研究:這部分,我們展示了在不同系統(tǒng)上縮放GPT-2XL模型的發(fā)現(xiàn)。由于資源的可用性,縮放研究中使用的設(shè)備數(shù)量因系統(tǒng)而異。我們使用了64個(gè)Nvidia A100 GPU、2個(gè)CS-2引擎、64個(gè)SambaNova SN30 RDU、64個(gè)Graphcore Bow IPU、4個(gè)AMD MI250 GPU和64個(gè)Habana Gaudi2 HPU。圖5顯示了設(shè)備數(shù)量的增加,對(duì)模型吞吐量(以log為單位)的影響。需要注意的是,每個(gè)系統(tǒng)上使用的精度是不同的,并且每個(gè)系統(tǒng)上的批量大小都針對(duì)該配置進(jìn)行了調(diào)整。
圖5:GPT2-XL縮放研究顯示,序列長(zhǎng)度為1K的加速器數(shù)量增加對(duì)吞吐量(以log為單位)的影響。
表II列出了每個(gè)評(píng)估系統(tǒng)上設(shè)備數(shù)量對(duì)加速以及縮放效率的影響。這項(xiàng)研究的一個(gè)引人注目的觀察結(jié)果表明,在16個(gè)SN30 RDU、2個(gè)CS-2和16個(gè)IPU上訓(xùn)練的模型優(yōu)于在64個(gè)A100上的運(yùn)行。此外,Gaudi 2具有104%的最高縮放效率,這是由于Synapse軟件堆棧的優(yōu)化,這些優(yōu)化有助于最大限度地減少跨多個(gè)HPU劃分模型和數(shù)據(jù)的開(kāi)銷。緊隨其后的是Bow Pod64,其縮放效率達(dá)到100%。超線性縮放是通過(guò)使用復(fù)制張量分片來(lái)實(shí)現(xiàn)的——隨著縮放的增加,DRAM I/O上的重量加載壓力降低,IPU鏈接被用來(lái)交換重量張量的分片。此外,Bow IPU有900 MB的SRAM,目前它不使用DRAM來(lái)運(yùn)行,因此,由于SRAM大小的限制,我們無(wú)法將其安裝到單個(gè)IPU中。我們使用4個(gè)IPU,并行運(yùn)行管道,模型層分布在IPU上。Cerebras CS-2的縮放效率為95.7%,這證明了具有專用節(jié)點(diǎn)的權(quán)重流技術(shù)的效率,MemoryX用于保存所有模型權(quán)重,SwarmX用于將這些權(quán)重流式傳輸?shù)接?jì)算引擎。值得注意的是,SN30和MI250的縮放效率約為80%,高于75.8%的A100。
表II:GPT-2 XL模型的縮放行為研究
結(jié)果表明,隨著模型在越來(lái)越多的設(shè)備上運(yùn)行,所有評(píng)估的加速器都表現(xiàn)出了更高的吞吐量。盡管計(jì)算成本很高,但使用更多的設(shè)備可以更好地訓(xùn)練具有大量參數(shù)的模型。隨著模型大小按萬(wàn)億參數(shù)的順序擴(kuò)大,在不斷增加的設(shè)備數(shù)量上運(yùn)行它們可能是不可行的,從而強(qiáng)調(diào)了實(shí)施新方法的必要性,以在給定計(jì)算預(yù)算的情況下優(yōu)化訓(xùn)練模型的時(shí)間。
2) 序列長(zhǎng)度的影響:近期的研究強(qiáng)調(diào)了在大語(yǔ)言模型任務(wù)中縮放序列長(zhǎng)度(縮放到1B以上的令牌)的必要性。在GenSLM科學(xué)應(yīng)用中,大的上下文長(zhǎng)度在合成基因組數(shù)據(jù)方面極其重要。因此,我們研究了GPT-2模型的序列長(zhǎng)度縮放的影響,并在Nvidia A100、SambaNova SN30和Cerebras CS-2上給出了結(jié)果,并由于支持有限或正在進(jìn)行的工作而排除了其他結(jié)果。在本研究中,我們?cè)贏100和Cerebras系統(tǒng)上使用了GPT-2XL 1.5B參數(shù)模型,Cerebras CS-2和SambaNova SN30都使用了GPT2-13B參數(shù)模型。正如我們從表III中看到的,Nvidia A100至少需要4個(gè)設(shè)備來(lái)適應(yīng)較小序列長(zhǎng)度的數(shù)據(jù)集。另一方面,SambaNova SN30和Cerebras CS-2由于其大的本地內(nèi)存和計(jì)算架構(gòu),可以在單個(gè)計(jì)算設(shè)備上適應(yīng)具有較長(zhǎng)序列長(zhǎng)度的模型。SambaNova SN30可以適應(yīng)13B參數(shù)模型,序列長(zhǎng)度從1K到64K不等,所有這些都在一個(gè)RDU上。我們?cè)跀?shù)據(jù)并行模式下在一個(gè)節(jié)點(diǎn)上運(yùn)行該模型的8個(gè)實(shí)例,并給出了結(jié)果。我們可以預(yù)見(jiàn),隨著序列長(zhǎng)度的增加,吞吐量會(huì)下降。此外,從32k的序列長(zhǎng)度來(lái)看,該實(shí)現(xiàn)使用分段softmax實(shí)現(xiàn)。對(duì)于GPT-2XL模型的CS-2系統(tǒng),當(dāng)序列長(zhǎng)度從1K增加到8K時(shí),我們可以看到序列長(zhǎng)度影響吞吐量的趨勢(shì)。
表III:序列長(zhǎng)度對(duì)模型吞吐量的影響
3) 梯度積累積的影響:大語(yǔ)言模型,尤其是那些具有數(shù)十億參數(shù)的模型,在訓(xùn)練過(guò)程中會(huì)消耗大量?jī)?nèi)存。梯度累積允許在更新模型的權(quán)重之前在多個(gè)小批量上累積梯度。與處理每個(gè)單獨(dú)的小批量后更新模型相比,這減少了內(nèi)存需求。當(dāng)使用內(nèi)存容量有限的硬件時(shí),這一點(diǎn)尤為重要。在本研究中,我們研究了增加GAS值對(duì)模型性能的影響。
圖6:GAS值對(duì)模型吞吐量的影響
圖6(a)顯示了A100和MI250 GPU上模型吞吐量對(duì)GAS值的敏感性。在這項(xiàng)研究中,我們測(cè)試了GAS值為1和4的性能,同時(shí)我們將批量大小和序列長(zhǎng)度分別保持為16和1024。我們觀察到,隨著設(shè)備數(shù)量的增加,在GAS值飽和之前,較大的GAS值的吞吐量有所提高。我們看到,當(dāng)微批量大小為1、張量平行度為1的GPT-2XL模型上的GAS值從1增加到4時(shí),64個(gè)A100 GPU的模型吞吐量增加了1.74倍。
對(duì)于MI250 GPU,4個(gè)GPU的模型吞吐量增加了1.2倍。性能的提高可以通過(guò)處理GAS值增加的更多樣本的能力來(lái)解釋。此外,對(duì)于A100 GPU,當(dāng)我們將本地批量大小為32的GAS值從1增加到32時(shí),我們觀察到模型吞吐量增加了1.74倍,從而證實(shí)了在相對(duì)較低的批量大小下,GAS值更容易增大。關(guān)于A100和MI250的本地批量大小和GAS值之間的權(quán)衡的詳細(xì)研究正在進(jìn)行中。圖6(b)顯示了SambaNova SN30系統(tǒng)上GAS值為1、4、8和16的每秒采樣吞吐量。我們觀察到,當(dāng)與較小的本地批量相結(jié)合時(shí),隨著GAS值的增加,吞吐量增益是顯著的。相反,增加GAS值對(duì)吞吐量的影響較小或沒(méi)有影響,吞吐量在較大的本地批量時(shí)飽和。這一觀察結(jié)果可歸因于這樣一個(gè)事實(shí),即在較大的批量下,與通過(guò)減少優(yōu)化步驟數(shù)量節(jié)省的時(shí)間相比,在反向通過(guò)計(jì)算的情況下加載梯度的額外任務(wù)非常耗時(shí)。
圖6(c)顯示了Graphcore POD16上模型吞吐量對(duì)GAS值的敏感性。在本研究中,我們考慮了復(fù)制因子為4的情況,即表明模型的單個(gè)實(shí)例(在4個(gè)IPU上分片)被復(fù)制4次,以跨越整個(gè)POD16系統(tǒng)。結(jié)果可以擴(kuò)展到POD64的整個(gè)構(gòu)架。正如我們所看到的,Graphcore可以支持從16到2048的非常大的GAS值。這是通過(guò)處理多個(gè)批次并將梯度聚合到累加器張量中而不增加內(nèi)存使用量來(lái)實(shí)現(xiàn)的。SambaNova SN30在技術(shù)上也可以支持非常大的GAS值,盡管它對(duì)模型吞吐量的影響尚待研究。Cerebras梯度累積步驟(GAS)由Cerebras軟件堆棧自動(dòng)確定,以在給定所需全局批量大小和CS-2s數(shù)量的情況下驅(qū)動(dòng)最佳吞吐量。鑒于用戶調(diào)整該參數(shù)的功能有限,我們?cè)诒狙芯恐信懦薈S-2。
4) 權(quán)重稀疏性對(duì)模型吞吐量的敏感性:稀疏性對(duì)于訓(xùn)練大語(yǔ)言模型很重要,這主要是由于幾個(gè)因素,例如通過(guò)只存儲(chǔ)非零參數(shù)提高了內(nèi)存效率,由于減少了每個(gè)優(yōu)化步驟中更新的參數(shù)數(shù)量而提高了訓(xùn)練速度,以及有效的可擴(kuò)展性。它還有助于更快的推理,因?yàn)橛?jì)算僅限于非零權(quán)重。在此,我們對(duì)模型稀疏性對(duì)Cerebras CS-2吞吐量的敏感性進(jìn)行了研究。稀疏度反映了為加速訓(xùn)練而修剪的權(quán)重的百分比。從圖7中可以觀察到,模型吞吐量從密集模型(s=0)增加到高度稀疏模型(s=0.9)的變化。對(duì)于GPT-2XL模型,與完全密集模型(s=0)相比,我們觀察到在具有極端稀疏性(s=0.90)的情況下吞吐量加速了1.8倍到2倍。此外,稀疏度對(duì)較大模型的吞吐量提高有更高的影響。對(duì)于GPT-3 6.7B,在單個(gè)CS-2上的密集模型上,0.9的稀疏度產(chǎn)生2.1倍,而對(duì)于GPT--3 30B,在單個(gè)CS-2上的密集模型上,0.9的稀疏度獲得3.79倍。進(jìn)一步擴(kuò)展,與單個(gè)CS-2相比,8和16 各CS-2上的6.7B型號(hào)的加速系數(shù)分別提高了7.75倍和15.49倍。該實(shí)驗(yàn)表明,模型稀疏性可以顯著提高吞吐量,并有可能幫助在相對(duì)較少的設(shè)備上運(yùn)行更大的模型。
圖7:不同稀疏度水平(0、0.6、0.8和0.9)對(duì)CS-2上模型吞吐量的影響
此外,圖8顯示了在3B令牌上訓(xùn)練的GPT-3模型的損失曲線,強(qiáng)調(diào)了與密集模型相比,稀疏性s=0.9的模型精度損失了15%。在預(yù)訓(xùn)練期間,訓(xùn)練損失與稀疏性值成正比。然而,模型的密集微調(diào)可以恢復(fù)這樣的差距,正如Cerebras過(guò)去在稀疏預(yù)訓(xùn)練和密集微調(diào)框架上的工作所證明的那樣。1.3B GPT-3XL模型以75%的稀疏性進(jìn)行預(yù)訓(xùn)練,在減少2.5倍預(yù)訓(xùn)練FLOP的同時(shí),下游任務(wù)精度沒(méi)有顯著損失。我們目前正在探索用于CS-2上的大型LLM模型的稀疏預(yù)訓(xùn)練密集微調(diào)技術(shù)。
利用開(kāi)發(fā)的技術(shù)和Nvidia A100評(píng)估稀疏性對(duì)SambaNova SN30訓(xùn)練的影響的研究正在進(jìn)行中,并將包含在論文的最終版本中。由于稀疏性在其他系統(tǒng)上的支持有限或沒(méi)有,他們被排除在本研究之外。
C.GenSLM
表IV顯示了GenSLM模型在Nvidia A100、SambaNova SN30和Cerebras CS-2之間的吞吐量,以每秒令牌數(shù)為單位進(jìn)行測(cè)量。我們給出了三種模型大小的吞吐量:A100和CS-2具有1.5B參數(shù)模型,A100、SN30和CS-2帶有13B參數(shù)模型以及CS-2帶有25B參數(shù)模型。在A100、SN30和CS-2的情況下,所有實(shí)現(xiàn)都使用GPT-2 13B參數(shù)模型,并且用1024的序列長(zhǎng)度進(jìn)行訓(xùn)練。A100和SN30都使用32的微批量大小,但由于SN30可以在4個(gè)Tile上適應(yīng)32微批量大小的13B模型,因此它可以在8個(gè)設(shè)備上并行容納該模型的16個(gè)實(shí)例。對(duì)于表III中使用的相同型號(hào),SN30和A100使用不同的批大小。
表IV:GenSLM模型性能評(píng)估
我們的觀察結(jié)果表明,當(dāng)我們考慮相同數(shù)量的計(jì)算單元或設(shè)備時(shí),SN30的吞吐量比相同數(shù)量的A100顯著提高了5.7倍。我們還發(fā)現(xiàn),與8個(gè)A100相比,同一型號(hào)的一個(gè)Cerebras CS-2表現(xiàn)出了19倍的巨大加速。
當(dāng)我們進(jìn)一步比較在Nvidia A100和Cerebras CS-2上訓(xùn)練的1.5B參數(shù)GenSLM模型的性能時(shí),出現(xiàn)了一個(gè)有趣的趨勢(shì)。CS-2能夠處理比A100 GPU上運(yùn)行的序列長(zhǎng)度長(zhǎng)十倍的序列長(zhǎng)度,同時(shí)比A100實(shí)現(xiàn)了顯著的2倍加速改進(jìn)。
這一嚴(yán)格的評(píng)估強(qiáng)調(diào)了這些加速器在解決大規(guī)?,F(xiàn)實(shí)世界科學(xué)應(yīng)用方面的重大貢獻(xiàn)。它們?cè)诩铀俅笠?guī)??茖W(xué)應(yīng)用領(lǐng)域的準(zhǔn)確性方面發(fā)揮著關(guān)鍵作用。
D. 觀察結(jié)果
這項(xiàng)對(duì)最關(guān)鍵的人工智能工作負(fù)載之一的全面基準(zhǔn)評(píng)估得出了幾個(gè)值得注意的觀察結(jié)果。下面,我們將介紹一些有趣且有價(jià)值的見(jiàn)解。
?在單個(gè)設(shè)備中容納相當(dāng)大的模型的能力取決于可用的計(jì)算資源和內(nèi)存容量。即使使用了強(qiáng)大的計(jì)算引擎,采用旨在最大限度地減少內(nèi)存消耗的創(chuàng)新技術(shù),特別是權(quán)重和激活等參數(shù),也是至關(guān)重要的。
促進(jìn)開(kāi)源模型的執(zhí)行和簡(jiǎn)化Hugging Face模型的擴(kuò)展對(duì)于利用這些人工智能加速器進(jìn)行大量新興的人工智能科學(xué)應(yīng)用非常重要。
實(shí)現(xiàn)人工智能加速器之間的公平比較是一個(gè)顯著的挑戰(zhàn)。差異源于局部/微批量大小、GAS值、模型副本數(shù)量和相關(guān)因素的變化。必須制定有利于公平比較的方法。
值得注意的是,GAS值的增加并不總是轉(zhuǎn)化為超過(guò)某個(gè)閾值的性能改進(jìn)。這種方法結(jié)合了對(duì)微批量大小的明智選擇,可以在更大的批量大小下運(yùn)行。
支持較長(zhǎng)的序列長(zhǎng)度對(duì)于捕獲上下文、處理長(zhǎng)期依賴關(guān)系以及在各種任務(wù)中表現(xiàn)出色非常重要。
隨著即將推出的具有數(shù)萬(wàn)億參數(shù)的模型以及滿足更長(zhǎng)序列長(zhǎng)度的要求,硬件和軟件設(shè)計(jì)必須進(jìn)行定制,以最大限度地提高計(jì)算能力,同時(shí)最大限度地減少內(nèi)存使用。
VI.結(jié)論
在本文中,我們對(duì)非傳統(tǒng)硬件上的生成人工智能模型進(jìn)行了廣泛而全面的評(píng)估,重點(diǎn)是GPT模型、Transformer block的深入分析和科學(xué)應(yīng)用(GenSLM)。此外,我們探索了GPT-2模型的縮放行為,以深入了解其性能特征。我們的一個(gè)重要觀察結(jié)果是硬件固有的內(nèi)存限制,這限制了可以安裝在單個(gè)設(shè)備上的模型大小的可行性。它還需要分布式實(shí)現(xiàn),例如數(shù)據(jù)并行,并增加設(shè)備數(shù)量。隨著設(shè)備數(shù)量的增加,也觀察到接近線性的縮放。此外,采用優(yōu)化,如權(quán)重稀疏性,有助于有效減少分布式實(shí)現(xiàn)中的通信開(kāi)銷。
我們計(jì)劃繼續(xù)進(jìn)行這項(xiàng)評(píng)估,重點(diǎn)關(guān)注更長(zhǎng)的序列長(zhǎng)度,并為新興的科學(xué)應(yīng)用生成具有代表性的人工智能基準(zhǔn)模型。我們還希望將這項(xiàng)全面的基準(zhǔn)研究擴(kuò)展到更大的模型,如175B參數(shù)模型,以及具有不同架構(gòu)的生成模型,如Llama。據(jù)觀察,為了促進(jìn)更大模型的有效訓(xùn)練,例如用于科學(xué)應(yīng)用的人工智能中的萬(wàn)億參數(shù),利用非傳統(tǒng)人工智能硬件將是至關(guān)重要的。優(yōu)化除模型吞吐量之外的其他指標(biāo),如訓(xùn)練中的功耗和I/O,特別是在增加計(jì)算和利用更大數(shù)據(jù)集的情況下,也是至關(guān)重要的。
本文作者
Murali Emani、Sam Foreman、Varuni Sastry、Zhen Xie、Siddhisanket Raskar、William Arnold、Rajeev Thakur、Venkatram Vishwanath、Michael E. Papka
編輯:黃飛
?
評(píng)論
查看更多