模拟/建模/设计

用图神经网络开发基于物理的机器学习模型

 

NVIDIA Modulus是一个框架,用于构建、训练和微调物理系统的深度学习模型,也称为物理知情机器学习(physics ML)模型。现在,Modulus 以开源软件(OSS)的形式提供(基于 Apache 2.0 许可证),以支持不断增长的物理 ML 社区。

最新的 Modulus 软件更新 23 . 05 版汇集了新的功能,使研究界和行业能够通过开源协作将研究开发成企业级解决方案

此次更新的两个主要组成部分是 1 )支持包括图神经网络( GNN )和递归神经网络( RNN )在内的新网络架构,以及 2 )提高人工智能从业者的易用性。

图形神经网络支持

GNN 正在改变研究人员如何应对涉及复杂图形结构的挑战,例如物理、生物学和社交网络中遇到的挑战。通过利用图的结构, GNN 能够根据图中节点之间的关系进行学习和预测。

通过 GNN 的应用,研究人员可以将系统建模为图或网格。这种能力在计算流体动力学、分子动力学模拟和材料科学等应用中很有用

使用 GNN ,研究人员可以更好地了解具有复杂几何结构的复杂系统的行为,并根据学习到的模式和数据中的相互作用生成更准确的预测。

NVIDIA Modulus 的最新版本支持 GNN,使您能够为特定用例开发自己的基于 GNN 的模型。Modulus 包括基于Learning Mesh-Based Simulation with Graph Networks的体系结构,其中包括MeshGraphNet model,可在参数化旋涡脱落数据集上进行预训练。此预训练模型可通过 NVIDIA 从NGC获得。

Modulus 还包括在GraphCast: Learning Skillful Medium-Range Global Weather Forecasting中提出的新型基于 GNN 的架构,用于全球天气预报。GraphCast 通过有效地捕捉天气数据中的时空关系,显著改进了一些现有模型。它将天气数据建模为图形,其中节点表示地球网格单元,这种基于图的表示使模型能够捕获数据中的本地和非本地依赖关系。

这个GraphCast架构由四个主要组件组成:嵌入器、编码器、处理器和解码器。嵌入器将输入特征嵌入到潜在表示中。编码器将网格潜在特征的局部区域映射到多网格图表示的节点中。处理器利用学习的消息传递来更新每个多网格节点。

最后,解码器将处理后的多网格特征映射回网格表示。多重网格是一组二十面体网格,其分辨率不断提高,在全球范围内提供均匀的分辨率。Modulus-Launch 中的 GraphCast 训练配方支持ERA-5 数据集的数据并行性。图 1 显示了在 ERA-5 数据集的 34 个变量子集上使用 Modulus 中训练的 GraphCast 模型对 2 米温度的样本外预测结果。

GIF showing out-of-sample prediction results for the 2-meter temperature using a GraphCast model trained in Modulus on a 34-variable subset of the ERA-5 dataset. Starting from an initial condition for the temperature on 2018-01-01, the temperature is predicted for two months with one-day intervals.
图 1 。使用在 Modulus 中训练的 GraphCast 模型对 ERA-5 数据集的 34 个变量子集进行 2 米温度的样本外预测

GraphCast 实现支持梯度检查点,以减少存储器开销。它还提供了一些优化,包括CuGraphOps支持、融合层规范、Adam 优化器使用Apex、高效的边缘功能更新等等。

递归神经网络支持

时间序列预测是许多领域的关键任务。深度学习架构的应用,特别是 RNN 、长短期记忆网络( LSTM )和类似网络的应用,显著增强了预测能力

这些模型在捕捉时间依赖性和学习随时间变化的复杂模式方面是独特的,这使它们非常适合预测时变关系。在物理学 ML 中,这些模型在预测动态物理系统的进化、实现更好的模拟、理解复杂的自然现象和帮助发现方面至关重要

Modulus 的最新版本增加了对 RNN 类型层和模型的支持,使您能够在模型预测工作流中将 RNN 应用于2D 空间域3D 空间域。图 2 展示了 Modulus 中 RNN 模型的预测与 Gray-Scott 系统的实际结果之间的比较。

GIF showcasing time-series prediction for a 3D Gray-Scott system using RNNs in NVIDIA Modulus.
图 2 : NVIDIA Modulus 中 Gray-Scott 系统的三维瞬态预测

易于使用的模块

Modulus 代码库已被重新构建为模块,以便于使用。这与PyTorch相符,由于其易用性,近年来已成为研究人员最受欢迎的深度学习框架之一。

核心 Modulus 模块由物理 ML 模型的核心框架和算法组成。Modulus-Launch 模块由优化的训练配方组成,可以加速类似 PyTorch 的训练模型的工作流,让人工智能研究人员能够获得类似 PyTorch 的体验。NVIDIA Modulus Sym是一个基于符号偏微分方程( PDE )的模块,可以让领域专家用来训练基于 PDE 的物理 ML 模型。

现代深度学习框架的一个关键特征是它们的互操作性。这个 Modulus 版本使人工智能开发人员更容易将 PyTorch 模型引入 Modulus ,反之亦然。这有助于确保模型可以在不同的平台和环境中共享和重用

想要了解 Modulus 23.05 中所有新功能的更多信息,请访问 Modulus 发行说明

立即开始使用 GNN 进行物理 ML

想要了解更多关于 NVIDIA Modulus 的信息并开始使用,请参阅 NVIDIA 深度学习学院的课程 Modulus 物理信息机器学习入门。您可以使用 Modulus LaunchPad 的免费实践实验室获得短期访问,无需设置自己的计算环境。

要在您自己的环境中尝试 Modulus,请下载最新的 Modulus 容器安装 Modulus pip 轮子。要定制并为 Modulus 开源框架做出贡献,请访问 NVIDIA/modulus GitHub

 

Tags