数据中心/云端/边缘

使用 NVIDIA Modulus v22.09 增强数字孪生模型和仿真

最新版本的 NVIDIA Modulus 是一个人工智能框架,它允许用户为数字孪生、气候模型和基于物理的建模与仿真创建可定制的培训管道,现在可以下载。

此次发布的物理 ML 框架 NVIDIA Modulus v22.09 包括关键的增强功能,以增加神经运算符体系结构的合成灵活性,改进训练收敛性和性能,最重要的是,显著改进了用户体验和文档。

您可以从 NGCNGC 下载 GitLab 容器的最新版本,或访问 Modulus 上的 Modulus repo 。

神经网络架构

此更新扩展了傅里叶神经运算符( FNO )、物理信息神经运算符( PINO )和 DeepONet 网络架构实现,以支持使用 Modulus 中的其他内置网络进行定制。更具体地说,通过此更新,您可以:

  • 通过改进的 FNO 、 PINO 和 DeepONet 体系结构,跨问题实现更好的初始化、定制和泛化。
  • 通过将 Modulus 内的任何点式网络(如 Sirens 、 Fourier Feature networks )和 FNO / PINO 解码器部分的 Modified Fourier Feature network 与频谱编码器相结合,探索新的网络配置。
  • 使用 DeepONet 的分支网络和主干网络中的任何网络来尝试多种架构。这包括主干网中的物理信息神经网络( PINN )。 FNO 也可以用于 DeepONet 的分支网络。
  • 用一个新的 DeepONet 示例演示 DeepONet 的改进,以模拟穿过多孔介质的 Darcy 流。

模型并行性是作为模型并行 AFNO 的 beta 特性引入的。这使得可以沿着通道维度跨多个 GPU 并行化模型。这种分解以高度并行的方式分布 FFT 和 IFFT 。矩阵乘法是分区的,因此每个 GPU 持有每个 MLP 层权重的不同部分,并为向前和向后传递执行适当的聚集、分散、缩减和其他通信例程。

此外,现在支持 self-scalable tanh (Stan) 激活功能。众所周知, Stan 具有更好的收敛特性,并提高了 PINN 训练模型的精度。

最后,通过 TorchScript 对 Sigmoid Linear Unit (SiLU) 内核融合的支持现在增加了对 PyTorch 符号梯度公式的上游更改。这对于需要计算高阶导数以进行物理知识培训的问题特别有用,在这种情况下可提供高达 1.4 倍的加速。

建模增强和培训功能

每个 NVIDIA Modulus 版本都改进了建模方面,以更好地将偏微分方程( PDE )映射到神经网络模型,并改进训练收敛性。

新的 recommended practices in Modulus 可用于帮助缩放和非尺寸化 PDE ,以帮助您正确缩放系统的单元,包括:

  • 用数值和单位定义物理量
  • 实例化非尺寸化对象以缩放数量
  • 通过代数操作跟踪无量纲化量
  • 使用用户指定的单位将非量纲化数量缩小到任何目标数量,以便于后期处理

现在,您还可以使用 Selective Equations Term Suppression (SETS) 在系统内有效处理不同的规模。这使您能够创建同一 PDE 的不同实例,并冻结 PDE 中的某些术语。这样,较小规模的损失将最小化,从而改进 PINN 中刚性 PDE 的收敛性。

此外,在 Hydra 配置 YAML 文件中配置的新 Modulus APIs 使最终用户能够根据收敛标准(如总损失或单个损失项或他们可以指定的其他指标)终止培训。

新的 causal weighting scheme 解决了违反瞬态问题物理因果关系的连续时间 PINN 的偏差。通过重新计算残差和初始条件的损失,可以获得动力系统 PINNS 的更好收敛性和更好的精度。

Modulus 培训性能、可扩展性和可用性

每一个 NVIDIA Modulus 版本都侧重于提高培训性能和可扩展性。通过这一最新版本, FuncTorch 被集成到 Modulus 中,以便在 PINN 培训中更快地计算梯度。 Regular PyTorch Autograd 使用反向模式自动微分,必须在for循环中逐行计算雅可比项和黑森项。 FuncTorch 消除了不必要的权重梯度计算,并可以使用反向和正向模式自动微分的组合更有效地计算雅可比矩阵和海森矩阵,从而提高训练性能。

Modulus v22.09 文档改进提供了关于框架工作流关键概念的更多上下文和细节,以帮助新用户。

Modulus Overview 进行了增强,为物理驱动、纯数据驱动以及物理和数据驱动建模方法提供了更多示例指导工作流。 Modulus 用户现在可以按照改进的介绍性示例逐步构建符合每个工作流关键概念的工作流。

有关所有 Modulus 功能的详细信息,请访问 Modulus User Guide Modulus Configuration 页您还可以提供反馈和贡献,作为 Modulus GitLab repo .

查看 NVIDIA 深度学习培训中心自学课程, Introduction to Physics-Informed Machine Learning with Modulus . 加入我们吧 GTC 2022 featured sessions 了解更多有关 NVIDIA Modulus 研究和突破的信息。

 

Tags