最新版本的 NVIDIA Modulus 是一個(gè)人工智能框架,它允許用戶為數(shù)字孿生、氣候模型和基于物理的建模與仿真創(chuàng)建可定制的培訓(xùn)管道,現(xiàn)在可以下載。
此次發(fā)布的物理 ML 框架 NVIDIA Modulus v22.09 包括關(guān)鍵的增強(qiáng)功能,以增加神經(jīng)運(yùn)算符體系結(jié)構(gòu)的合成靈活性,改進(jìn)訓(xùn)練收斂性和性能,最重要的是,顯著改進(jìn)了用戶體驗(yàn)和文檔。
您可以從 NGC 、 NGC 下載 GitLab 容器的最新版本,或訪問(wèn) Modulus 上的 Modulus repo 。
神經(jīng)網(wǎng)絡(luò)架構(gòu)
此更新擴(kuò)展了傅里葉神經(jīng)運(yùn)算符( FNO )、物理信息神經(jīng)運(yùn)算符( PINO )和 DeepONet 網(wǎng)絡(luò)架構(gòu)實(shí)現(xiàn),以支持使用 Modulus 中的其他內(nèi)置網(wǎng)絡(luò)進(jìn)行定制。更具體地說(shuō),通過(guò)此更新,您可以:
通過(guò)改進(jìn)的 FNO 、 PINO 和 DeepONet 體系結(jié)構(gòu),跨問(wèn)題實(shí)現(xiàn)更好的初始化、定制和泛化。
通過(guò)將 Modulus 內(nèi)的任何點(diǎn)式網(wǎng)絡(luò)(如 Sirens 、 Fourier Feature networks )和 FNO / PINO 解碼器部分的 Modified Fourier Feature network 與頻譜編碼器相結(jié)合,探索新的網(wǎng)絡(luò)配置。
使用 DeepONet 的分支網(wǎng)絡(luò)和主干網(wǎng)絡(luò)中的任何網(wǎng)絡(luò)來(lái)嘗試多種架構(gòu)。這包括主干網(wǎng)中的物理信息神經(jīng)網(wǎng)絡(luò)( PINN )。 FNO 也可以用于 DeepONet 的分支網(wǎng)絡(luò)。
用一個(gè)新的 DeepONet 示例演示 DeepONet 的改進(jìn),以模擬穿過(guò)多孔介質(zhì)的 Darcy 流。
模型并行性是作為模型并行 AFNO 的 beta 特性引入的。這使得可以沿著通道維度跨多個(gè) GPU 并行化模型。這種分解以高度并行的方式分布 FFT 和 IFFT 。矩陣乘法是分區(qū)的,因此每個(gè) GPU 持有每個(gè) MLP 層權(quán)重的不同部分,并為向前和向后傳遞執(zhí)行適當(dāng)?shù)木奂⒎稚ⅰ⒖s減和其他通信例程。
此外,現(xiàn)在支持 self-scalable tanh (Stan) 激活功能。眾所周知, Stan 具有更好的收斂特性,并提高了 PINN 訓(xùn)練模型的精度。
最后,通過(guò) TorchScript 對(duì) Sigmoid Linear Unit (SiLU) 內(nèi)核融合的支持現(xiàn)在增加了對(duì) PyTorch 符號(hào)梯度公式的上游更改。這對(duì)于需要計(jì)算高階導(dǎo)數(shù)以進(jìn)行物理知識(shí)培訓(xùn)的問(wèn)題特別有用,在這種情況下可提供高達(dá) 1.4 倍的加速。
建模增強(qiáng)和培訓(xùn)功能
每個(gè) NVIDIA Modulus 版本都改進(jìn)了建模方面,以更好地將偏微分方程( PDE )映射到神經(jīng)網(wǎng)絡(luò)模型,并改進(jìn)訓(xùn)練收斂性。
新的 recommended practices in Modulus 可用于幫助縮放和非尺寸化 PDE ,以幫助您正確縮放系統(tǒng)的單元,包括:
用數(shù)值和單位定義物理量
實(shí)例化非尺寸化對(duì)象以縮放數(shù)量
通過(guò)代數(shù)操作跟蹤無(wú)量綱化量
使用用戶指定的單位將非量綱化數(shù)量縮小到任何目標(biāo)數(shù)量,以便于后期處理
現(xiàn)在,您還可以使用 Selective Equations Term Suppression (SETS) 在系統(tǒng)內(nèi)有效處理不同的規(guī)模。這使您能夠創(chuàng)建同一 PDE 的不同實(shí)例,并凍結(jié) PDE 中的某些術(shù)語(yǔ)。這樣,較小規(guī)模的損失將最小化,從而改進(jìn) PINN 中剛性 PDE 的收斂性。
此外,在 Hydra 配置 YAML 文件中配置的新 Modulus APIs 使最終用戶能夠根據(jù)收斂標(biāo)準(zhǔn)(如總損失或單個(gè)損失項(xiàng)或他們可以指定的其他指標(biāo))終止培訓(xùn)。
新的 causal weighting scheme 解決了違反瞬態(tài)問(wèn)題物理因果關(guān)系的連續(xù)時(shí)間 PINN 的偏差。通過(guò)重新計(jì)算殘差和初始條件的損失,可以獲得動(dòng)力系統(tǒng) PINNS 的更好收斂性和更好的精度。
Modulus 培訓(xùn)性能、可擴(kuò)展性和可用性
每一個(gè) NVIDIA Modulus 版本都側(cè)重于提高培訓(xùn)性能和可擴(kuò)展性。通過(guò)這一最新版本, FuncTorch 被集成到 Modulus 中,以便在 PINN 培訓(xùn)中更快地計(jì)算梯度。 Regular PyTorch Autograd 使用反向模式自動(dòng)微分,必須在for循環(huán)中逐行計(jì)算雅可比項(xiàng)和黑森項(xiàng)。 FuncTorch 消除了不必要的權(quán)重梯度計(jì)算,并可以使用反向和正向模式自動(dòng)微分的組合更有效地計(jì)算雅可比矩陣和海森矩陣,從而提高訓(xùn)練性能。
Modulus v22.09 文檔改進(jìn)提供了關(guān)于框架工作流關(guān)鍵概念的更多上下文和細(xì)節(jié),以幫助新用戶。
對(duì) Modulus Overview 進(jìn)行了增強(qiáng),為物理驅(qū)動(dòng)、純數(shù)據(jù)驅(qū)動(dòng)以及物理和數(shù)據(jù)驅(qū)動(dòng)建模方法提供了更多示例指導(dǎo)工作流。 Modulus 用戶現(xiàn)在可以按照改進(jìn)的介紹性示例逐步構(gòu)建符合每個(gè)工作流關(guān)鍵概念的工作流。
關(guān)于作者
Bhoomi Gadhia 是 NVIDIA 的高級(jí)產(chǎn)品營(yíng)銷經(jīng)理,專注于 NVIDIA Modular ,一個(gè)用于開發(fā)物理信息機(jī)器學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型的人工智能框架。她在計(jì)算機(jī)輔助工程應(yīng)用領(lǐng)域擁有超過(guò) 10 年的經(jīng)驗(yàn),在 Hexagon MSC Software 和 Ansys 擔(dān)任技術(shù)和產(chǎn)品營(yíng)銷職務(wù)。布米居住在加利福尼亞州,擁有機(jī)械工程碩士學(xué)位。
Ram Cherukuri 是 CUDA 平臺(tái)和 DLA 軟件的高級(jí)產(chǎn)品經(jīng)理。在 NVIDIA 之前, Ram 是 MathWorks 的產(chǎn)品經(jīng)理,負(fù)責(zé)嵌入式軟件開發(fā)的代碼生成和驗(yàn)證產(chǎn)品,與汽車和航空 def 客戶合作。
審核編輯:郭婷
-
解碼器
+關(guān)注
關(guān)注
9文章
1144瀏覽量
40809 -
NVIDIA
+關(guān)注
關(guān)注
14文章
5026瀏覽量
103293 -
人工智能
+關(guān)注
關(guān)注
1792文章
47446瀏覽量
239061
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論