NVIDIA Base Command Platform 提供了自信地開發(fā)復(fù)雜軟件的能力,這些軟件符合科學(xué)計算工作流程所需的性能標(biāo)準(zhǔn)。該平臺為開發(fā)人員提供高效配置和管理人工智能工作流程所需的工具,從而為人工智能開發(fā)提供云托管和本地解決方案。集成的數(shù)據(jù)和用戶管理簡化了用戶和管理員的體驗。
現(xiàn)在,使用 NVIDIA Modulus 和基本指揮平臺在團隊和地點之間創(chuàng)建高保真數(shù)字雙胞胎是 high-performance computing ( HPC )工作流可用的最新工具。對于從預(yù)測最優(yōu) airplane maintenance schedules 到 simulating wind farms 的許多用例來說,創(chuàng)建和使用數(shù)字雙胞胎對于節(jié)省時間和金錢至關(guān)重要。
開始使用這些用例可能會讓人望而卻步。然而,一個集成良好的解決方案會帶來所有的不同,并使開發(fā)人員能夠?qū)W⒂诮鉀Q問題。 Base Command Platform 只需點擊幾下即可實現(xiàn) NGC 目錄軟件的全方位功能,并能夠創(chuàng)建強大的物理知情機器學(xué)習(xí)( physics ML )神經(jīng)網(wǎng)絡(luò)和氣候模型。
利用 FourCastNet 進行氣候建模
FourCastNet 是開源 Modulus 平臺的一部分,專注于以以前不可能的速度創(chuàng)建全球天氣預(yù)報。它依靠傅立葉神經(jīng)算子和變換器在性能和分辨率上實現(xiàn)了這一令人難以置信的飛躍。 FourCastNet 現(xiàn)在與基本命令平臺兼容。
ERA5 dataset 是一個幾十年來整個地球的復(fù)雜天氣數(shù)據(jù)集,用于訓(xùn)練和驗證這樣一個復(fù)雜的模型。 FourCastNet 是實現(xiàn) NVIDIA Earth-2 數(shù)字孿生的關(guān)鍵技術(shù)。有關(guān)更多信息,請參閱 NVIDIA to Build Earth-2 Supercomputer to See Our Future 。
Modulus 團隊一直在尋求提高 FourCastNet 的性能,最近更新了它,使用 NVIDIA Data Loading Library ( DALI )將數(shù)據(jù)攝入 GPU ,進一步加快了洞察時間。
在基本指揮平臺上使用 Modulus 提高可擴展性
當(dāng)在一個可以擴展到幾個基于 GPU 的系統(tǒng)的環(huán)境中運行時, Modulus 的全部功能就會釋放出來。沒有比基本命令平臺更好的方法來運行像 Modulus 這樣的高度可擴展平臺來訓(xùn)練像 FourCastNet 這樣的大型模型。
為了運行這些示例,我們將稍微修改過的 Modulus NGC container 版本上傳到了一個基本指揮平臺組織,該組織可以訪問由 NVIDIA DGX A100 系統(tǒng)組成的加速計算環(huán)境。我們將 1TB 的 ERA5 數(shù)據(jù)集上傳到同一環(huán)境中的工作空間。
為了支持協(xié)調(diào)的多實例工作負載, Base Command Platform 集成了一個名為 bcprun 的工具。bcprun通過抽象機器學(xué)習(xí)( ML )從業(yè)者的復(fù)雜性并消除工作負載容器(如mpirun)中對額外軟件的需求,簡化了多實例工作負載部署。它還為最初為 HPC 調(diào)度器(如 Slurm )編寫的應(yīng)用程序提供了一個更容易的入門路徑。
以下代碼示例顯示了 FourCastNet 在 Base Command Platform 上的單實例作業(yè)啟動:
ngc batch run --name "bcp-dali.fcn.training.ml-model.modulus" --total-runtime 12H --org org-name --ace ace-name --instance dgxa100.80g.8.norm --workspace ERA5_test_21Vars:/era5/ngc_era5_data/:RO --result /results --image "nvcr.io/org-name/team-name/modulus:22.09-examples_0.4" --commandline " set -x && cd /examples/fourcastnet/ && ln -s /era5/stats . && python fcn_era5.py custom.train_dataset.kind=dali custom.num_workers.grid=1 training.max_steps=50000 training.print_stats_freq=500 network_dir=/results/network_checkpoint "
要擴展到兩個 NVIDIA DGX A100 八個 GPU 實例(共 16 個),請使用以下命令(在 bold 中突出顯示更改):
ngc batch run --name "bcp-dali.fcn.training.ml-model.modulus" --total-runtime 12H --org org-name --ace ace-name --replicas "2" --array-type "PYTORCH" --instance dgxa100.80g.8.norm --workspace ERA5_test_21Vars:/era5/ngc_era5_data/:RO --result /results --image "nvcr.io/org-name/team-name/modulus:22.09-examples_0.4" --commandline " set -x && cd /examples/fourcastnet/ && mkdir -p /results/network_checkpoint && ln -s /era5/stats . && bcprun --nnodes $NGC_ARRAY_SIZE --npernode $NGC_GPUS_PER_NODE --cmd ' python fcn_era5.py custom.train_dataset.kind=dali custom.num_workers.grid=1 training.max_steps=50000 training.print_stats_freq=500 network_dir=/results/network_checkpoint ' "
bcprun的添加以及添加的參數(shù)確保指定的命令(來自--cmd參數(shù))在為作業(yè)創(chuàng)建的每個副本上運行(如--replicas和--nnodes參數(shù)所指定)。--npernode參數(shù)確保在每個實例上為該實例中的每個 GPU 運行一個進程。這導(dǎo)致此作業(yè)總共啟動了 16 個進程(每個復(fù)制副本中有 8 個,總共兩個復(fù)制副本)。要擴展到使用四個實例,請將--replicas參數(shù)設(shè)置為四個而不是兩個。
基本命令平臺不僅為 ML 從業(yè)者和管理員提供了易用性,而且證明了已經(jīng)實現(xiàn)了最高性能。 NVIDIA Selene supercomputer 與 Modulus 運行 FourCastNet 訓(xùn)練進行比較。
在 Selene 上測試了工作負載后,我們在基本指揮平臺部署上無縫復(fù)制了工作負載,并在兩個環(huán)境之間獲得了幾乎相同的結(jié)果。這一結(jié)果有力地證明,基本指揮平臺可以支持企業(yè)和科學(xué)計算用例中客戶最苛刻的性能要求。
圖 2 :在不同 GPU 數(shù)量下, NVIDIA Selene 超級計算機和基本命令平臺部署之間的 Modulus FourCastNet 性能比較(在 GPU 數(shù)量上同時進行更好)
對開發(fā)者 Kaustubh Tangsali 的采訪
為了了解更多關(guān)于在 Base Command Platform 上使用 NVIDIA Modulus 的經(jīng)驗,我們采訪了 Modulus 團隊的開發(fā)人員 Kaustubh Tangsali 。 Kaustubh 領(lǐng)導(dǎo)了在基本指揮平臺上運行 FourCastNet 和其他幾個軟件示例的調(diào)查。
簡要描述您的行業(yè)背景和經(jīng)驗。
我主要在軟件行業(yè)工作,應(yīng)用于模擬和計算流體動力學(xué)。我致力于 Modulus 平臺的開發(fā),這是一個領(lǐng)域?qū)<液腿斯ぶ悄軓臉I(yè)者開發(fā)物理 ML 模型的框架。我曾與 NVIDIA Thermal 團隊等內(nèi)部合作伙伴密切合作,使用 Modulus 設(shè)計散熱器,還與幾個外部合作伙伴合作,使用 Modulus 加快工作流程。
您在基礎(chǔ)指揮平臺上使用 Modulus 工作了多長時間?
自 2020 年年中以來,我一直在基地指揮平臺上使用 Modulus 。
在基地指揮平臺上,日常使用是什么樣子的?您的開發(fā)周期是什么樣子的?
在我對代碼或模型進行了一些本地測試后,我通常會將代碼安裝在基本命令平臺工作區(qū)中,然后使用 NGC web 界面或僅使用命令行界面( CLI )啟動作業(yè)。 Jupyter 接口非常適合早期調(diào)試。當(dāng)模型運行到完成時,我下載檢查點和結(jié)果以進行進一步分析。在運行時,我還使用日志功能和遙測技術(shù)來監(jiān)視作業(yè)的狀態(tài)。
基本指揮平臺環(huán)境與您使用過的其他環(huán)境相比如何?
基本指揮平臺的 web 界面是我覺得有用的東西。監(jiān)視作業(yè)、查看用于啟動作業(yè)的命令、克隆作業(yè)以及使用不同的實例類型等功能都很容易。我認為獲得最新和最好的 NVIDIA 硬件是一大優(yōu)勢。
對于剛開始使用基地指揮平臺的人,你有什么建議嗎?
NVIDIA Base Command Platform User Guide 有很好的文檔記錄,涵蓋了數(shù)據(jù)科學(xué)家可能遇到的許多常見用例,包括單 GPU 、多[Z1K1’和多實例作業(yè)的命令示例。正如我前面提到的,在擴展作業(yè)之前,我喜歡在開發(fā)的早期階段利用運行作業(yè)的交互式特性,CLI會對其進行優(yōu)化。
總結(jié)
NVIDIA Modulus 等尖端數(shù)字孿生技術(shù)依靠強大的計算環(huán)境不斷進步?;局笓]平臺在一組易于使用的界面中利用 NVIDIA GPU 的強大功能,繼續(xù) NVIDIA 的使命,即讓高級軟件功能廣泛可訪問,以解決重要問題。
-
NVIDIA
+關(guān)注
關(guān)注
14文章
4940瀏覽量
102817 -
AI
+關(guān)注
關(guān)注
87文章
30155瀏覽量
268426 -
Base
+關(guān)注
關(guān)注
0文章
11瀏覽量
8702
發(fā)布評論請先 登錄
相關(guān)推薦
評論