MindStudio 7.0.0 大模型訓(xùn)練性能瓶頸定位流程案例_第1頁
MindStudio 7.0.0 大模型訓(xùn)練性能瓶頸定位流程案例_第2頁
MindStudio 7.0.0 大模型訓(xùn)練性能瓶頸定位流程案例_第3頁
MindStudio 7.0.0 大模型訓(xùn)練性能瓶頸定位流程案例_第4頁
MindStudio 7.0.0 大模型訓(xùn)練性能瓶頸定位流程案例_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

MindStudio大模型訓(xùn)練性能瓶頸定位流程案例文檔版本01發(fā)布日期2025-01-13華為技術(shù)有限公司HUAWEIMindStudio大模型訓(xùn)練性能瓶頸定位流程案例目錄目錄 2.1性能問題定位流程 22.2AscendPyTorchProfiler采集性能數(shù)據(jù) 32.3MindstudioInsight定位 4 3.1案例描述 93.2MindStudioInsight分析定位 93.3msttadvisor輔助定位 11文檔版本01(2025-01-13)版權(quán)所有?華為技術(shù)有限公司iii大模型訓(xùn)練性能瓶頸定位流程案例1常見性能問題場景大模型從外部設(shè)備遷移到昇騰設(shè)備,并在昇騰設(shè)備上訓(xùn)練的過程中,可能會(huì)出現(xiàn)性能問題。常見的兩大性能問題場景是開箱性能優(yōu)化場景和性能長跑劣化場景?!耖_箱性能優(yōu)化:主要是用戶在昇騰平臺(tái)使用模型時(shí),發(fā)現(xiàn)性能差,直接進(jìn)行性能層面的優(yōu)化?!裥阅荛L跑劣化:一般是用戶在訓(xùn)練過程中,由于不可預(yù)知的引入,導(dǎo)致模型出現(xiàn)了一些性能劣化的問題,需要定位性能劣化的原因,并解決問題。圖1-1場景介紹文檔版本01(2025-01-13)版權(quán)所有?華為技術(shù)有限公司1MindStudio大模型訓(xùn)練性能瓶頸定位流程案例2問題定位方法性能問題定位流程AscendPyTorchProfiler采集性能數(shù)據(jù)MindstudioInsight定位2.1性能問題定位流程大模型訓(xùn)練的基本性能調(diào)優(yōu)流程如下:圖2-1基本性能調(diào)優(yōu)流性能調(diào)優(yōu)最重要的就是對(duì)癥下藥,先定界問題,再對(duì)問題進(jìn)行針對(duì)性優(yōu)化。1.首先進(jìn)行性能數(shù)據(jù)采集,可以使用AscendPyTorchProfiler提供的接口進(jìn)行數(shù)據(jù)采集和解析;2.接下來,使用MindStudioInsight可視化工具定界性能問題,定界結(jié)果通常分為計(jì)算、調(diào)度、通信三個(gè)方向的問題;文檔版本01(2025-01-13)版權(quán)所有?華為技術(shù)有限公司2大模型訓(xùn)練性能瓶頸定位流程案例2問題定位方法3.除此之外,用戶還可以直接使用mstt中的Advisor工具輔助定位問題,Advisor工具通過內(nèi)置的案例集,自動(dòng)對(duì)性能數(shù)據(jù)進(jìn)行分析,并輸出性能調(diào)優(yōu)建議;4.最后,用戶可以針對(duì)不同問題使用對(duì)應(yīng)的調(diào)優(yōu)手段進(jìn)行調(diào)優(yōu),每次調(diào)優(yōu)后重跑訓(xùn)練,采集性能數(shù)據(jù),使用MindStudioInsight可視化工具查看調(diào)優(yōu)手段是否產(chǎn)生效果。重復(fù)這個(gè)過程,直到解決性能問題。2.2AscendPyTorchProfiler采集性能數(shù)據(jù)AscendPyTorchProfiler是大模型在AscendPyTorch框架下訓(xùn)練過程中提供的一套采集性能數(shù)據(jù)的API接口,能夠采集到框架側(cè)、CANN側(cè)和device側(cè)的原始性能數(shù)據(jù),并完成解析。在訓(xùn)練腳本(如train_*.py文件)內(nèi)插入torch_filer相關(guān)采集、解析的配置和參數(shù),再啟動(dòng)訓(xùn)練,即可采集性能數(shù)據(jù)。AscendPyTorchProfiler詳細(xì)介紹請(qǐng)參見《性能調(diào)優(yōu)工具指南》。示例代碼如下:)采集生成的文件結(jié)構(gòu)如下所示:..tt.c──文檔版本01(2025-01-13)版權(quán)所有?華為技術(shù)有限公司3大模型訓(xùn)練性能瓶頸定位流程案例2問題定位方法2.3MindstudioInsight定位MindStudioInsight提供了豐富的調(diào)優(yōu)分析手段,可視化呈現(xiàn)真實(shí)軟硬件運(yùn)行數(shù)據(jù),多維度分析性能數(shù)位,定位性能瓶頸點(diǎn),支持百卡、千卡及以上規(guī)模的可視化集群性能分析。可以根據(jù)《MindStudioInsight用戶指南》中的“基礎(chǔ)操作>導(dǎo)入數(shù)據(jù)”,在MindStudioInsight中導(dǎo)入上一步采集的性能數(shù)據(jù),根據(jù)下述流程使用可視化能力分析性能數(shù)據(jù)。概覽界面總覽數(shù)據(jù)情況可以通過概覽頁了解每個(gè)模塊的具體內(nèi)容。詳細(xì)介紹請(qǐng)參見《MindStudioInsight用戶指南》中的“系統(tǒng)調(diào)優(yōu)>概覽(Summary)”。1.在“并行策略分析”模塊,提供TP、PP、DP等不同并行策略分析視角:a.點(diǎn)擊復(fù)選框選擇并行策略,通過方框標(biāo)注識(shí)別并行分組。b.選擇不同的“數(shù)據(jù)類型”會(huì)展示對(duì)應(yīng)的熱力圖,根據(jù)熱力圖找到存在性能問題的通信域,越偏向紅色表示性能越差。圖2-2并行策略分析2.在計(jì)算/通信概覽部分展示所選通信域下每張卡的計(jì)算、通信、空閑時(shí)間占比情況,并提供專家建議。如下圖,由于391卡通信未覆蓋時(shí)間顯著小于其他卡,那么可以初步推斷該集群中通信時(shí)間存在一些問題,專家建議也給了相應(yīng)的提示。文檔版本01(2025-01-13)版權(quán)所有?華為技術(shù)有限公司4大模型訓(xùn)練性能瓶頸定位流程案例2問題定位方法圖2-3計(jì)算/通信概覽各圖例相關(guān)數(shù)據(jù)指標(biāo)的含義如下:圖例含義總計(jì)算時(shí)間昇騰設(shè)備上的內(nèi)核時(shí)間總和。純計(jì)算時(shí)間純計(jì)算時(shí)間=總計(jì)算時(shí)間–通信時(shí)間(被覆蓋)。通信時(shí)間(被覆蓋)被覆蓋的通信時(shí)長,即計(jì)算和通信同時(shí)進(jìn)行的時(shí)長。通信時(shí)間(未被覆蓋)未被覆蓋的通信時(shí)長,即純通信時(shí)長??臻e時(shí)間未進(jìn)行計(jì)算或通信的時(shí)長。不同的指標(biāo)現(xiàn)象可以定界不同的性能問題:●計(jì)算問題:通常表現(xiàn)為通信域中總計(jì)算時(shí)間占比的極大值和極小值差異過大。如果某些計(jì)算卡的計(jì)算時(shí)間明顯超出了正常范圍,那很可能意味著這張卡承擔(dān)了過于繁重的計(jì)算任務(wù),比如要處理的數(shù)據(jù)量過大,或者模型計(jì)算的復(fù)雜程度過高,也有可能是卡本身的性能受到了限制。●調(diào)度問題:通常表現(xiàn)為通信域中空閑時(shí)間占比的極大值和極小值差異過大。如果計(jì)算卡的空閑時(shí)間過長,那就說明存在Host側(cè)至Device側(cè)的下發(fā)異常,這同樣會(huì)對(duì)集群的性能造成不利影響?!裢ㄐ艈栴}:如果通信時(shí)間(未被覆蓋)過長,那就表明計(jì)算和通信之間的協(xié)同出現(xiàn)了問題,可能對(duì)應(yīng)多種情況。也許是通信協(xié)議不夠優(yōu)化,又或者是網(wǎng)絡(luò)帶寬不穩(wěn)定,導(dǎo)致通信無法和計(jì)算良好配合。計(jì)算問題當(dāng)數(shù)據(jù)指標(biāo)現(xiàn)象指示為計(jì)算問題時(shí),可以直接查看異??ǖ乃阕訑?shù)據(jù),并與正??ㄟM(jìn)行比較。此時(shí)可以使用MindStudioInsight的卡間性能比對(duì)功能,根據(jù)《MindStudioInsight用戶指南》中的“系統(tǒng)調(diào)優(yōu)>算子(Operator)>使用說明”,設(shè)置兩卡進(jìn)入比對(duì)模式,并在算子界面查看結(jié)果。下圖是一個(gè)存在計(jì)算問題的例子,可以看到在算子數(shù)量相等的前提下,MatMul類算子平均耗時(shí)明顯增多,造成了兩張單卡的計(jì)算時(shí)間差異。文檔版本01(2025-01-13)版權(quán)所有?華為技術(shù)有限公司5大模型訓(xùn)練性能瓶頸定位流程案例2問題定位方法圖2-4計(jì)算算子類型根據(jù)經(jīng)驗(yàn),MatMul類算子很可能在特定shape下劣化,可以將分組方式切換到“計(jì)算算子名稱和輸入shape”,并根據(jù)總耗時(shí)排序,進(jìn)一步定位在哪些shape下MatMul類算子的劣化最為嚴(yán)重。定位到算子問題后,可以找相關(guān)算子開發(fā)人員進(jìn)一步確認(rèn)問題原因。圖2-5計(jì)算算子名稱和輸入shape調(diào)度問題當(dāng)數(shù)據(jù)指標(biāo)現(xiàn)象指示為調(diào)度問題時(shí),需要到時(shí)間線界面將異??ê驼?ㄟM(jìn)行比較,進(jìn)一步定位出現(xiàn)問題的算子,可以根據(jù)《MindStudioInsight用戶指南》中的“系統(tǒng)調(diào)優(yōu)>時(shí)間線(Timeline)”了解界面詳情。進(jìn)入時(shí)間線界面,選擇HostToDevice連線類型,HostToDevice展示了CANN層算子到AscendHardware的算子的下發(fā)執(zhí)行關(guān)系和CANN層算子到HCCL通信算子的下發(fā)執(zhí)行關(guān)系,用于定位調(diào)度問題。HostToDevice的連線通常有兩種形態(tài),傾斜和豎直。下圖是一個(gè)存在調(diào)度問題的案例,如果HostToDevice連線如左側(cè)所示,是傾斜的,說明此時(shí)間段調(diào)度任務(wù)安排合理,昇騰設(shè)備是滿負(fù)荷執(zhí)行計(jì)算和通信任務(wù)的。如果HostToDevice連線如右側(cè)所示,是豎直的,說明昇騰設(shè)備此時(shí)快速執(zhí)行完了CPU下發(fā)的任務(wù),未滿負(fù)荷進(jìn)行計(jì)算和通信任務(wù),這一般表示存在調(diào)度問題。此時(shí),可以通過增大batchsize、綁核、融合算子替換等方法進(jìn)行調(diào)優(yōu)。文檔版本01(2025-01-13)版權(quán)所有?華為技術(shù)有限公司6MindStudio大模型訓(xùn)練性能瓶頸定位流程案例2問題定位方法圖2-6調(diào)度問題通信問題當(dāng)數(shù)據(jù)指標(biāo)現(xiàn)象指示為通信問題時(shí),需要進(jìn)入通信界面進(jìn)一步分析。通信界面用于展示集群中全網(wǎng)鏈路性能以及所有節(jié)點(diǎn)的通信性能,通過集群通信與計(jì)算重疊時(shí)間的分析可以找出集群訓(xùn)練中的慢主機(jī)或慢節(jié)點(diǎn)。通常,我們會(huì)根據(jù)關(guān)鍵指標(biāo)通信矩陣、通信時(shí)長來分析性能問題。通信矩陣圖2-7通信矩陣上圖是MindStudioInsight通信矩陣可視化界面,可以獲取各個(gè)通信域下,卡間的帶寬、傳輸大小、鏈路方式和傳輸時(shí)長情況等信息。1.可以先查看傳輸大小,分析在這個(gè)集合通信中,每張卡的傳輸量是否存在差異,是否有分配不均的情況。2.其次,再查看傳輸時(shí)長和帶寬情況,如果不同卡間的傳輸時(shí)長和帶寬數(shù)值異?;蛘卟町愡^大,那都意味著通信域中存在異常鏈路。通信時(shí)長通信時(shí)長是指計(jì)算卡之間進(jìn)行通信所花費(fèi)的時(shí)間。導(dǎo)致通信耗時(shí)過長的因素很多,比如通信協(xié)議配置錯(cuò)誤、傳輸數(shù)據(jù)量過大等等,只有找到這些通信耗時(shí)過長的鏈路并妥善解決問題,才能讓數(shù)據(jù)在計(jì)算卡之間更加順暢地傳輸,進(jìn)而提高集群的整體性能。文檔版本01(2025-01-13)版權(quán)所有?華為技術(shù)有限公司7MindStudio大模型訓(xùn)練性能瓶頸定位流程案例2問題定位方法用戶選擇具體通信域后,即可在通信時(shí)長界面中查看通信域中各個(gè)計(jì)算卡的耗時(shí)匯總情況,以及每個(gè)通信算子的時(shí)序圖和通信時(shí)長的分布圖,從而快速獲得通信算子的相對(duì)位置關(guān)系以及詳細(xì)通信數(shù)據(jù)。圖2-8通信耗時(shí)分析上圖是一份性能數(shù)據(jù)中某一個(gè)通信域內(nèi)的通信耗時(shí)分析。從通信時(shí)長數(shù)據(jù)中,我們發(fā)現(xiàn)4卡的同步時(shí)間最長,0卡的同步時(shí)間最短,且同步時(shí)間差距較為明顯。同步時(shí)間較長一般意味著這張卡在等待其它卡,而同步時(shí)間較短一般意味著其它卡在等待這張卡,據(jù)此可以初步定界出4卡是快卡,0卡是慢卡。文檔版本01(2025-01-13)版權(quán)所有?華為技術(shù)有限公司8MindStudio大模型訓(xùn)練性能瓶頸定位流程案例3性能調(diào)優(yōu)案例3性能調(diào)優(yōu)案例案例描述MindStudioInsight分析定位msttadvisor輔助定位3.1案例描述某多模態(tài)模型在訓(xùn)練時(shí)突然出現(xiàn)性能大幅度劣化問題,我們將根據(jù)上述介紹的流程進(jìn)行性能調(diào)優(yōu)。使用AscendPyTorchProfiler采集大模型訓(xùn)練過程中的性能數(shù)據(jù),此案例集群共有16張卡。3.2MindStudioInsight分析定位MindStudioInsight加載全部數(shù)據(jù),進(jìn)行問題定位。1.概覽界面分析:該通信域內(nèi)各卡的通信時(shí)間占比也較高,總體計(jì)算時(shí)間(純計(jì)算時(shí)間+通信重疊時(shí)間)只占了總耗時(shí)的1/3,可以定界為通信問題。圖3-1概覽界面2.切換通信界面:發(fā)現(xiàn)存在大量卡間不同步現(xiàn)象(框中紅色部分這說明很多算子在長時(shí)間的等待,挑選了一張最明顯的慢卡(第12卡)分析詳細(xì)原因。文檔版本01(2025-01-13)版權(quán)所有?華為技術(shù)有限公司9MindStudio大模型訓(xùn)練性能瓶頸定位流程案例3性能調(diào)優(yōu)案例圖3-2通信界面3.切換流水圖界面:明顯看出12卡存在大段的Free(空閑時(shí)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論