NVIDIA Base Command Platform 提供了自信地開發(fā)復雜軟件的能力,這些軟件符合科學計算工作流程所需的性能標準。該平臺為開發(fā)人員提供高效配置和管理人工智能工作流程所需的工具,從而為人工智能開發(fā)提供云托管和本地解決方案。集成的數(shù)據(jù)和用戶管理簡化了用戶和管理員的體驗。
現(xiàn)在,使用 NVIDIA Modulus 和基本指揮平臺在團隊和地點之間創(chuàng)建高保真數(shù)字雙胞胎是 high-performance computing ( HPC )工作流可用的最新工具。對于從預測最優(yōu) airplane maintenance schedules 到 simulating wind farms 的許多用例來說,創(chuàng)建和使用數(shù)字雙胞胎對于節(jié)省時間和金錢至關重要。
開始使用這些用例可能會讓人望而卻步。然而,一個集成良好的解決方案會帶來所有的不同,并使開發(fā)人員能夠專注于解決問題。 Base Command Platform 只需點擊幾下即可實現(xiàn) NGC 目錄軟件的全方位功能,并能夠創(chuàng)建強大的物理知情機器學習( physics ML )神經網絡和氣候模型。
利用 FourCastNet 進行氣候建模
FourCastNet 是開源 Modulus 平臺的一部分,專注于以以前不可能的速度創(chuàng)建全球天氣預報。它依靠傅立葉神經算子和變換器在性能和分辨率上實現(xiàn)了這一令人難以置信的飛躍。 FourCastNet 現(xiàn)在與基本命令平臺兼容。
ERA5 dataset 是一個幾十年來整個地球的復雜天氣數(shù)據(jù)集,用于訓練和驗證這樣一個復雜的模型。 FourCastNet 是實現(xiàn) NVIDIA Earth-2 數(shù)字孿生的關鍵技術。有關更多信息,請參閱 NVIDIA to Build Earth-2 Supercomputer to See Our Future 。
Modulus 團隊一直在尋求提高 FourCastNet 的性能,最近更新了它,使用 NVIDIA Data Loading Library ( DALI )將數(shù)據(jù)攝入 GPU ,進一步加快了洞察時間。
在基本指揮平臺上使用 Modulus 提高可擴展性
當在一個可以擴展到幾個基于 GPU 的系統(tǒng)的環(huán)境中運行時, Modulus 的全部功能就會釋放出來。沒有比基本命令平臺更好的方法來運行像 Modulus 這樣的高度可擴展平臺來訓練像 FourCastNet 這樣的大型模型。
為了運行這些示例,我們將稍微修改過的 Modulus NGC container 版本上傳到了一個基本指揮平臺組織,該組織可以訪問由 NVIDIA DGX A100 系統(tǒng)組成的加速計算環(huán)境。我們將 1TB 的 ERA5 數(shù)據(jù)集上傳到同一環(huán)境中的工作空間。
為了支持協(xié)調的多實例工作負載, Base Command Platform 集成了一個名為 bcprun 的工具。bcprun通過抽象機器學習( ML )從業(yè)者的復雜性并消除工作負載容器(如mpirun)中對額外軟件的需求,簡化了多實例工作負載部署。它還為最初為 HPC 調度器(如 Slurm )編寫的應用程序提供了一個更容易的入門路徑。
以下代碼示例顯示了 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 運行一個進程。這導致此作業(yè)總共啟動了 16 個進程(每個復制副本中有 8 個,總共兩個復制副本)。要擴展到使用四個實例,請將--replicas參數(shù)設置為四個而不是兩個。
基本命令平臺不僅為 ML 從業(yè)者和管理員提供了易用性,而且證明了已經實現(xiàn)了最高性能。 NVIDIA Selene supercomputer 與 Modulus 運行 FourCastNet 訓練進行比較。
在 Selene 上測試了工作負載后,我們在基本指揮平臺部署上無縫復制了工作負載,并在兩個環(huán)境之間獲得了幾乎相同的結果。這一結果有力地證明,基本指揮平臺可以支持企業(yè)和科學計算用例中客戶最苛刻的性能要求。
圖 2 :在不同 GPU 數(shù)量下, NVIDIA Selene 超級計算機和基本命令平臺部署之間的 Modulus FourCastNet 性能比較(在 GPU 數(shù)量上同時進行更好)
對開發(fā)者 Kaustubh Tangsali 的采訪
為了了解更多關于在 Base Command Platform 上使用 NVIDIA Modulus 的經驗,我們采訪了 Modulus 團隊的開發(fā)人員 Kaustubh Tangsali 。 Kaustubh 領導了在基本指揮平臺上運行 FourCastNet 和其他幾個軟件示例的調查。
簡要描述您的行業(yè)背景和經驗。
我主要在軟件行業(yè)工作,應用于模擬和計算流體動力學。我致力于 Modulus 平臺的開發(fā),這是一個領域專家和人工智能從業(yè)者開發(fā)物理 ML 模型的框架。我曾與 NVIDIA Thermal 團隊等內部合作伙伴密切合作,使用 Modulus 設計散熱器,還與幾個外部合作伙伴合作,使用 Modulus 加快工作流程。
您在基礎指揮平臺上使用 Modulus 工作了多長時間?
自 2020 年年中以來,我一直在基地指揮平臺上使用 Modulus 。
在基地指揮平臺上,日常使用是什么樣子的?您的開發(fā)周期是什么樣子的?
在我對代碼或模型進行了一些本地測試后,我通常會將代碼安裝在基本命令平臺工作區(qū)中,然后使用 NGC web 界面或僅使用命令行界面( CLI )啟動作業(yè)。 Jupyter 接口非常適合早期調試。當模型運行到完成時,我下載檢查點和結果以進行進一步分析。在運行時,我還使用日志功能和遙測技術來監(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ù)科學家可能遇到的許多常見用例,包括單 GPU 、多[Z1K1’和多實例作業(yè)的命令示例。正如我前面提到的,在擴展作業(yè)之前,我喜歡在開發(fā)的早期階段利用運行作業(yè)的交互式特性,CLI會對其進行優(yōu)化。
總結
NVIDIA Modulus 等尖端數(shù)字孿生技術依靠強大的計算環(huán)境不斷進步?;局笓]平臺在一組易于使用的界面中利用 NVIDIA GPU 的強大功能,繼續(xù) NVIDIA 的使命,即讓高級軟件功能廣泛可訪問,以解決重要問題。
-
NVIDIA
+關注
關注
14文章
5696瀏覽量
110142 -
AI
+關注
關注
91文章
41326瀏覽量
302705 -
Base
+關注
關注
0文章
12瀏覽量
9096
發(fā)布評論請先 登錄
利用MATLAB對交流電機調速系統(tǒng)進行建模和仿真
利用Matlab的simulink搭建模型生成C代碼
利用Matlab的simulink搭建模型生成C代碼
對電動機幾種降壓啟動進行建模及仿真分析
基于PSO和SVM的發(fā)酵過程建模與優(yōu)化控制
如何利用ADIsimPLL對壓控振蕩器模型進行建模并仿真
基于多種模型的云南農作物區(qū)域氣候分析
利用HFSS軟件進行3D可視化建模
利用FourCastNet進行氣候建模
評論