云布道師
2024 年 4 月 18-19 日,2024 中國(guó)生成式 AI 大會(huì)在北京 JW 萬豪酒店舉行,阿里云高級(jí)技術(shù)專家、阿里云異構(gòu)計(jì)算 AI 推理團(tuán)隊(duì)負(fù)責(zé)人李鵬受邀在【AI Infra】專場(chǎng)發(fā)表題為《AI 基礎(chǔ)設(shè)施的演進(jìn)與挑戰(zhàn)》的主題演講。李鵬從 AIGC 對(duì)云基礎(chǔ)設(shè)施的挑戰(zhàn)、如何進(jìn)一步釋放云上性能、AIGC 場(chǎng)景下訓(xùn)練和推理最佳實(shí)踐三個(gè)方向逐一展開分享。
大模型的發(fā)展給計(jì)算體系結(jié)構(gòu)帶來了功耗墻、內(nèi)存墻和通訊墻等多重挑戰(zhàn)。其中,在大模型訓(xùn)練層面,用戶在模型裝載、模型并行、通信等環(huán)節(jié)面臨各種現(xiàn)實(shí)問題;在大模型推理層面,用戶在顯存、帶寬、量化上面臨性能瓶頸。
對(duì)于如何更好地釋放云上性能助力 AIGC 應(yīng)用創(chuàng)新?“阿里云彈性計(jì)算為云上客戶提供了 ECS GPU DeepGPU 增強(qiáng)工具包,幫助用戶在云上高效地構(gòu)建 AI 訓(xùn)練和 AI 推理基礎(chǔ)設(shè)施,從而提高算力利用效率。”李鵬介紹到。目前,阿里云 ECS DeepGPU 已經(jīng)幫助眾多客戶實(shí)現(xiàn)性能的大幅提升。其中,LLM 微調(diào)訓(xùn)練場(chǎng)景下性能最高可提升 80%,Stable Difussion 推理場(chǎng)景下性能最高可提升 60%。
以下是全文內(nèi)容,供閱覽。
從 2023 年開始,生成式 AI 爆發(fā),文生視頻、文生圖、文生文等場(chǎng)景有很多大模型/通用大模型產(chǎn)生,我也和我們的產(chǎn)品團(tuán)隊(duì)、架構(gòu)師團(tuán)隊(duì)一起與阿里云客戶做過多次技術(shù)分享交流,看到了企業(yè)客戶開始逐漸將生成式 AI 技術(shù)應(yīng)用到實(shí)際的業(yè)務(wù)當(dāng)中。
從我的感受來講,如今越來越多的云上客戶擁抱生成式 AI 的場(chǎng)景,大模型的接受度也越來越高,比如電子商務(wù)、影視、內(nèi)容資訊和辦公軟件、游戲等典型的行業(yè)。
上圖左側(cè)是 2024GTC 大會(huì)上展示的一張關(guān)于模型發(fā)展對(duì)算力需求的曲線圖。從2018 年開始這條綠色曲線,從 Transformer 模型、到如今的 GPT、再到最新的 1.8 萬億參數(shù)大模型,對(duì)算力需求呈現(xiàn)了 10 倍規(guī)模遞增的爆炸性增長(zhǎng),訓(xùn)練場(chǎng)景對(duì)算力的需求非常大。
另外根據(jù)估算,如果要訓(xùn)練一個(gè) GPT-3、1750 億參數(shù)的模型,訓(xùn)練的計(jì)算量大概在3640 PFLOP * 天,對(duì)芯片的需求大概需要 1024 張 A100 跑一個(gè)月的時(shí)間,這是一個(gè)相當(dāng)大的千卡規(guī)模,換算到成本上則是一筆非常巨大的計(jì)算開銷??傮w來說,當(dāng)前階段的 GPU 算力價(jià)格相對(duì)較貴,再到推理/微調(diào)本身的算力需求和成本,也可以看到部署的成本也比較高,開銷同樣較大。
AIGC 對(duì)云基礎(chǔ)設(shè)施的挑戰(zhàn)
談到大模型發(fā)展對(duì)體系結(jié)構(gòu)的挑戰(zhàn),首先看到的是功耗墻的問題。以 NVIDIA GPU 舉例,2017 年開始,V100 的功耗只有 250 瓦,遞增到 A100 功耗接近 400 瓦,H100 功耗 700 瓦,到最新 B200 功耗大概到了 1000 瓦,算力成倍增長(zhǎng),計(jì)算功耗也會(huì)增加的越來越多。最近業(yè)界也有許多討論說到 AI 的盡頭是能源,隨著計(jì)算需求的增大,會(huì)帶來能源上更大的需求。
第二個(gè)體系結(jié)構(gòu)挑戰(zhàn)就是內(nèi)存墻。所謂內(nèi)存墻,計(jì)算過程數(shù)據(jù)在 CPU 和 GPU 之間會(huì)做搬移/交換,如今 PCIE 的體系結(jié)構(gòu)逐漸成為數(shù)據(jù)交換和傳輸?shù)钠款i??梢钥吹剑?NVIDIA 也在 Grace Hopper 架構(gòu)上推出了 NVlink C2C 方案,能夠大幅提升整個(gè)數(shù)據(jù)傳輸?shù)乃俾省?/p>
第三個(gè)是通訊墻。尤其對(duì)于訓(xùn)練來說,分布式訓(xùn)練規(guī)模還是非常大的,從去年的千卡規(guī)模到了如今萬卡甚至十萬卡規(guī)模,分布式訓(xùn)練場(chǎng)景下如何增加機(jī)器之間的互聯(lián)帶寬也是一個(gè)巨大的挑戰(zhàn)。從國(guó)內(nèi)外各個(gè)廠商的一些進(jìn)展來看,在 A100 上會(huì)采用 800G互聯(lián)的帶寬,在 H100 上會(huì)有 3.2T 帶寬,也就是更大的互聯(lián)帶寬。所以現(xiàn)在看到的趨勢(shì)就是硬件堆砌的趨勢(shì),總結(jié)下來就是會(huì)有更大的顯存、更高的顯存帶寬,還有更高的 CPU 和 GPU 之間的互聯(lián)帶寬,最后還有 PCIE 本身的向下迭代。
上圖是以 NVIDIA GPU 舉例,展示了 Ampere 從這一代架構(gòu)開始到后面的 Blackwell 芯片的一些特點(diǎn)變化,體現(xiàn)在算力維度就是計(jì)算規(guī)模會(huì)越來越高,過往的不到 1PFlops、如今要到 1P 以上,且顯存大小也會(huì)越來越大,從前的 80G 到如今的100G+的規(guī)模;顯存帶寬也是非常重要的指標(biāo),也在不斷增加,這也反映了未來硬件、尤其是 AI 計(jì)算上硬件規(guī)格的變化。
如何釋放云上性能?
對(duì)于大模型訓(xùn)練的技術(shù)棧,由 AI 訓(xùn)練算法與軟件、Ai 訓(xùn)練硬件資源兩個(gè)部分構(gòu)成。
當(dāng)前,主要是模型結(jié)構(gòu)(主要是Transformer結(jié)構(gòu))、海量級(jí)數(shù)據(jù)以及梯度尋優(yōu)算法,這三塊構(gòu)成 AI 訓(xùn)練的軟件和算法。
AI 硬件就是 GPU 的計(jì)算卡,從單卡擴(kuò)展到服務(wù)器(如8卡),再擴(kuò)展到更大的服務(wù)器集群,做成千卡/萬卡的規(guī)模,構(gòu)成整個(gè)大模型訓(xùn)練硬件的計(jì)算資源。
大模型訓(xùn)練過程中有一個(gè)典型的現(xiàn)實(shí)問題:模型的加載和并行。以 GPT 175B 的模型舉例來說,它需要的顯存規(guī)模就訓(xùn)練來說大概需要 2800G,上圖是以 A100 80G 為例,要解決的問題是我們需要多少?gòu)埧ㄑb載這個(gè)模型,裝載模型后還需要如何去把訓(xùn)練效率提升,這就需要用模型并行技術(shù)來解決。
另外,還有互聯(lián)的問題,互聯(lián)有單機(jī)內(nèi)部互聯(lián)(NVlink),還有機(jī)器與機(jī)器之間的互聯(lián)網(wǎng)絡(luò),這對(duì)于分布式訓(xùn)練來說非常重要,因?yàn)闀?huì)在通信上產(chǎn)生一些開銷。
大模型訓(xùn)練當(dāng)中的模型裝載
以 175B 模型為例,以 FP16 精度計(jì)算,模型參數(shù)大概 350G 顯存,模型梯度也需要 350G,優(yōu)化器需要的顯存規(guī)模大概在 2100GB,合并起來大概是 2800GB 的規(guī)模,如今分布式訓(xùn)練的框架也有比較成熟的方案,像 NVIDIA 做的 Megatron-LM和微軟開發(fā)的 DeepSpeed Zero 算法,能夠解決模型裝載和并行的問題。
大模型訓(xùn)練的并行方式
在大模型訓(xùn)練方式上,業(yè)界也有比較多的并行技術(shù)可以幫助提升訓(xùn)練效率,比如張量并行、流水線并行、數(shù)據(jù)并行等等。
-
TP 是張量并行(Tensor Parallel) ,是對(duì)模型的每個(gè)層做了一個(gè)層內(nèi)的拆分。使用TP 能達(dá)到很好的 GPU
利用率。TP通信粒度是非常細(xì)的。TP 每計(jì)算完成一次層的拆分,就需要有一次通信來做 AllReduce 合并,雖然 TP 單次通信量較小,但是它通信頻率頻次都很高,對(duì)帶寬的要求也很高。 - PP 是流水線并行(Pipeline Parallel),也就是模型的層與層之間拆分,把不同的層放到不同的 GPU 上。在計(jì)算過程中,必須順序執(zhí)行,后面的計(jì)算過程依賴于前面的計(jì)算結(jié)果。一個(gè)完整的 Pipeline運(yùn)行起來需要將一個(gè)workload 切分成很小的多個(gè) Workload,也就是需要將一個(gè)比較大 Batch size 切分成很多個(gè)小 Batch 才能保持流水線并行的高吞吐。
-
DP 是數(shù)據(jù)并行(Data Parallel),數(shù)據(jù)并行是指將相同的參數(shù)復(fù)制到多個(gè) GPU 上,通常稱為“工作節(jié)點(diǎn)(workers)”,并為每個(gè) GPU 分配不同的數(shù)據(jù)子集同時(shí)進(jìn)行處理。數(shù)據(jù)并行需要把模型參數(shù)加載到單 GPU 顯存里,而讓多個(gè) GPU 計(jì)算的代價(jià)就是需要存儲(chǔ)參數(shù)的多個(gè)副本。更新數(shù)據(jù)并行的節(jié)點(diǎn)對(duì)應(yīng)的參數(shù)副本時(shí),需要協(xié)調(diào)節(jié)點(diǎn)以確保每個(gè)節(jié)點(diǎn)具有相同的參數(shù)。
在模型訓(xùn)練過程中, 尤其是分布式訓(xùn)練場(chǎng)景下, 我們還看到一些比較關(guān)鍵的問題,就是集合通信性能問題。比如,在 Tensor 并行的切分當(dāng)中,實(shí)際上會(huì)產(chǎn)生一些allreduce 的操作,這些 allreduce 操作是夾雜在計(jì)算流當(dāng)中的,會(huì)產(chǎn)生一個(gè)計(jì)算中斷的問題,因此會(huì)帶來計(jì)算效率的影響。現(xiàn)在有相應(yīng)的集合通信算法,或者是一些優(yōu)化實(shí)現(xiàn)被開發(fā)出來去解決集合通信性能的影響,上圖截圖中展示的是我們?cè)谧鲆恍┎⑿杏?xùn)練時(shí)發(fā)現(xiàn)的部分瓶頸。
在大模型推理時(shí),我們需要關(guān)注三個(gè)方面:顯存、帶寬和量化。 - 顯存,模型參數(shù)量大小決定了需要多少顯存。
- 帶寬,因?yàn)樵诖竽P屯评頃r(shí)實(shí)際上是訪存密集型的計(jì)算方式,在計(jì)算當(dāng)中需要頻繁的訪問顯存,這種情況下帶寬的規(guī)格是影響推理速度的首要因素。
- 量化,如今很多模型在發(fā)布時(shí)都會(huì)提供 FP16
精度的模型,還會(huì)給一些量化后的模型,低精度量化帶來的效果是可以省下更多顯存,也可以提高訪存效率,因此現(xiàn)在很多大模型推理都會(huì)采用量化的方式。
總結(jié)來說:首先,大模型推理會(huì)有顯存瓶頸;其次,在推理方面可以選擇多卡推理,做 TP 方式切分,訓(xùn)練卡可以用在推理業(yè)務(wù),且會(huì)有一些不錯(cuò)的效果。
上圖展示的是我們?cè)谧鲆恍┠P臀⒂^性能分析時(shí)看到的一些狀況,上面是典型的 Tranformer 結(jié)構(gòu),包含了像 attention 結(jié)構(gòu)和 MLP 結(jié)構(gòu)。在這些算子里面,我們通過微觀的分析可以看到,大部分的計(jì)算都是矩陣乘運(yùn)算,就是 GEMM 的操作,實(shí)際有 85% 的耗時(shí)都是訪存,主要是去做顯存的讀取。
大模型推理本身是自回歸的方式,上一個(gè)生成出來的 token 會(huì)用在下一個(gè) token 的計(jì)算,基本都是訪存密集型計(jì)算??偨Y(jié)來說基于這些行為,在優(yōu)化時(shí)我們會(huì)把a(bǔ)ttention 結(jié)構(gòu)的許多算子以及 MLP 的算子分別融合成大的算子,這樣會(huì)顯著提高計(jì)算效率。
在大模型推理帶寬需求方面,以 LLaMA 7B 在 A10 或者 A100 上的對(duì)比為例:如上圖,紅色曲線代表的是 A100 VS A10 QPS 的比例關(guān)系,在不同 batchsize 下,紅色曲線基本上是一條水平的線,這從側(cè)面印證了大模型推理基本是一個(gè)訪存密集型的操作,它的上限是由 GPU 的 HBM 顯存帶寬決定的。
除此之外,在大模型推理時(shí)的一些通信性能也需要特別關(guān)注。這里強(qiáng)調(diào)一下通信性能是指單機(jī)內(nèi)部多卡通信。舉例來說跑一個(gè) LLaMA 70B 的模型,是沒辦法在 A10 一張卡上裝載,需要至少 8 張卡的規(guī)格才能把這個(gè)模型裝載下來,因?yàn)橛?jì)算時(shí)做了 TP切分,每張卡算一部分,計(jì)算完成后需要 AllReduce 通信的操作,我們針對(duì)通信開銷做了一些性能分析,最明顯的是推理卡上,A10 通信開銷占比是比較高的,能夠達(dá)到整個(gè)端到端性能開銷的 31%,這個(gè)開銷占比還是很高的,因此需要在這方面重點(diǎn)關(guān)注。
那如何優(yōu)化通信的開銷?通常來說比較直觀的方法是如果有卡和卡之間的 Nvlink 互聯(lián),性能自然會(huì)有提升,因?yàn)?Nvlink 互聯(lián)帶寬還是比較高的。另外,如果 GPU 卡沒有像 A100 這樣的 Nvlink,則需要走 PCIE P2P 通信,這種通信方式也會(huì)從一方面幫助提高通信性能,在阿里云上我們團(tuán)隊(duì)通過親和性分配調(diào)優(yōu),摸索出一套優(yōu)化方法,能夠在 4 卡、8 卡場(chǎng)景下把通信開銷占比進(jìn)一步優(yōu)化,實(shí)現(xiàn)開銷下降。
從今年年初 OpenAI 發(fā)布 Sora 之后,國(guó)外已經(jīng)有機(jī)構(gòu)給出了關(guān)于 Sora 這樣視頻模型算力需求的分析,因?yàn)樗哪P徒Y(jié)構(gòu)和原來文生圖的模型結(jié)構(gòu)有區(qū)別,其中較為顯著的區(qū)別是原來的 Unet 結(jié)構(gòu)變成了 diffusion Transformer 的結(jié)構(gòu),通過結(jié)構(gòu)上的變化和一些算力的估算,可以看到 Sora 視頻模型不管是在訓(xùn)練和推理上都會(huì)有比較大的算力需求。
上圖展示的就是國(guó)外某研究機(jī)構(gòu)給出的算力需求,他們估算如果要訓(xùn)練 Sora 這樣一個(gè)模型大概需要 4000-10000 張 H100 訓(xùn)練一個(gè)月,基本能訓(xùn)練出 Sora 這樣的模型。在推理上這個(gè)需求也會(huì)比傳統(tǒng)的大語(yǔ)言模型來得更高,估算結(jié)果是如果我們要生成像 Sora 這樣的 5 分鐘長(zhǎng)視頻,大概需要一張 H100 推理一個(gè)小時(shí)的時(shí)間,所以算力的需求還是非常高的。
下面為大家介紹一下阿里云彈性計(jì)算為云上客戶在 AI 場(chǎng)景下提供的基礎(chǔ)產(chǎn)品增強(qiáng)工具包 DeepGPU,這是針對(duì)生成式 AI 場(chǎng)景為用戶提供的軟件工具和解決方案,旨在幫助用戶在云上構(gòu)建訓(xùn)練/推理的 AI 基礎(chǔ)設(shè)施時(shí),提高其在使用 GPU 上訓(xùn)練和推理的效率。因?yàn)?,目前普?AI 算力還較為昂貴,我們需要用工具包的方式幫助用戶優(yōu)化他們使用 GPU 的效率,同時(shí)我們也會(huì)提供像文生圖和文生文等場(chǎng)景下的解決方案。目前,阿里云 ECS DeepGPU 已經(jīng)幫助眾多客戶實(shí)現(xiàn)性能的大幅提升。其中,LLM 微調(diào)訓(xùn)練場(chǎng)景下性能最高可提升 80%,Stable Difussion 推理場(chǎng)景下性能最高可提升 60%。
AIGC 場(chǎng)景下訓(xùn)練和推理最佳實(shí)踐
上圖展示的是關(guān)于 SD 文生圖場(chǎng)景下的微調(diào)訓(xùn)練案例,我們可以通過 DeepGPU 和阿里云 GPU 云服務(wù)器結(jié)合在一起,在客戶的 SD 微調(diào)場(chǎng)景下,幫助客戶提升15%-40%的端到端性能。
第二個(gè)是關(guān)于大語(yǔ)言模型場(chǎng)景的微調(diào)案例,可以看到有些客戶想做一個(gè)垂直領(lǐng)域/垂直場(chǎng)景下的大模型,會(huì)有模型微調(diào)的需求。針對(duì)這一類模型微調(diào)需求,我們會(huì)做一些針對(duì)性的解決方案/優(yōu)化方案,客戶通過軟硬結(jié)合的優(yōu)化方法,性能最高可提升80%。
最后是關(guān)于大語(yǔ)言模型推理的客戶案例。這個(gè)客戶主要是做智能業(yè)務(wù)問答/咨詢類業(yè)務(wù),我們?yōu)榭蛻粼诙说蕉说膱?chǎng)景里面提供了方案,包括云服務(wù)器、容器環(huán)境、AI 套件、DeepGPU 等產(chǎn)品,幫助客戶優(yōu)化整個(gè)端到端的推理性能,最終幫助客戶提升近5 倍的端到端的請(qǐng)求處理/推理的效率。文章來源:http://www.zghlxwxcb.cn/news/detail-858679.html
以上就是本次分享的全部?jī)?nèi)容,也歡迎大家持續(xù)關(guān)注阿里云的產(chǎn)品,謝謝。文章來源地址http://www.zghlxwxcb.cn/news/detail-858679.html
到了這里,關(guān)于一文解讀:阿里云 AI 基礎(chǔ)設(shè)施的演進(jìn)與挑戰(zhàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!