Data Science

グラフ ニューラル ネットワークによる物理を考慮した機械学習モデルの開発

Reading Time: 2 minutes

NVIDIA Modulus は、物理を考慮した機械学習 (physics-ML) モデルとして知られる物理的システムのディープラーニング モデルの構築、トレーニング、ファインチューニングを行うためのフレームワークです。Modulus は OSS (Apache 2.0 ライセンス) として提供され、成長する physics-ML コミュニティをサポートしています。

Modulus の最新ソフトウェア アップデートであるバージョン 23.05 は、新機能をまとめ、研究コミュニティと産業界がオープン ソースのコラボレーションを通じて研究をエンタープライズ品質のソリューションに発展させることを可能にします。

今回のアップデートでは、1) グラフ ニューラル ネットワーク (GNN) やリカレント ニューラル ネットワーク (RNN) を含む新しいネットワーク アーキテクチャのサポート、2) AI 実務者の使い勝手の向上、の 2 点が大きなポイントとなっています。

グラフ ニューラル ネットワーク対応

GNN は、研究者が物理学、生物学、ソーシャル ネットワークなどで見られるような複雑なグラフ構造を持つ課題に取り組む方法を変えています。グラフの構造を活用することで、GNN はグラフ内のノード間の関係に基づいて学習し、予測することができます。

GNN の応用により、研究者はシステムをグラフやメッシュとして表現するシステムをモデル化することができます。この機能は、計算流体力学、分子動力学シミュレーション、材料科学などの用途で有用です。

GNN を用いることで、研究者は複雑なジオメトリを持つ複雑なシステムの挙動をよりよく理解し、データ内の学習されたパターンと相互作用に基づいて、より正確な予測を生成することができます。

NVIDIA Modulus の最新バージョンには、GNN のサポートが含まれています。これにより、特定のユース ケースのために独自の GNN ベースのモデルを開発することができます。Modulus には、Learning Mesh-Based Simulation with Graph Networks (グラフ ネットワークによるメッシュベースのシミュレーションの学習) で紹介された方法に基づく MeshGraphNet アーキテクチャを使用するレシピが含まれています。このようなアーキテクチャは、パラメーター化された渦放出データセットで学習済みの MeshGraphNet モデルを含む Modulus で訓練できるようになりました。この学習済みモデルは、NVIDIA NGC を通じて入手可能です.

Modulus は、GraphCast: Learning Skillful Medium-Range Global Weather Forecasting (GraphCast: 巧みな中距離の世界天気予報の学習) で提案された GraphCast アーキテクチャも含んでいます 。GraphCast は、グローバルな天気予報のための GNN ベースの新しいアーキテクチャです。気象データの時空間的な関係を効果的に捉えることで、いくつかの既存モデルを大幅に改善します。気象データはグラフとしてモデル化され、ノードは地球のグリッド セルを表しています。このグラフベースの表現により、モデルはデータ内のローカルおよび非ローカル両方の依存関係を捉えることができます。

GraphCast のアーキテクチャは、エンベッダー、エンコーダー、プロセッサ、デコーダーの 4 つの主要コンポーネントで構成されています。エンベッダー コンポーネントは、入力された特徴を潜在的な表現に埋め込みます。エンコーダーは、グリッドの潜在的な特徴のローカル領域をマルチメッシュ グラフ表現のノードにマッピングします。プロセッサは、学習されたメッセージパッシングを用いて各マルチメッシュ ノードを更新します。

最後に、デコーダーは処理されたマルチメッシュの特徴をグリッド表現にマッピングします。マルチメッシュは解像度の高い正二十面体メッシュの集合で、地球全体で均一な解像度を提供します。ERA-5 データセットGraphCast をトレーニングするためのレシピは、データ並列化のサポートとともに Modulus-Launch で提供されています。図 1 は、ERA-5 データセットの 34 変数サブセットに対して Modulus で学習した GraphCast モデルを用いた 2m 気温のサンプル外予測を示しています。

図1. ERA-5 データセットの 34 変数サブセットに対して Modulus で学習させた GraphCast モデルによる 2m 気温のサンプル外予測

GraphCast の実装は、メモリのオーバーヘッドを削減するために勾配チェックポイントをサポートしています。また、CuGraphOps のサポート、Apex を使用したレイヤー正規化と Adam オプティマイザの融合、効率的なエッジ機能の更新など、いくつかの最適化を提供しています。

リカレント ニューラル ネットワーク対応

時系列予測は多くのドメインで重要なタスクです。ディープラーニング アーキテクチャ、特に RNN、LSTM (Long Short-Term Memory Network)、および同様のネットワークの適用により、予測能力が大幅に向上しています。

これらのモデルは、時間的な依存性を把握し、時間の経過とともに複雑なパターンを学習する能力に特徴があり、時間的に変化する関係を予測するのに適しています。physics-ML では、これらのモデルは動的な物理システムの進化を予測し、より良いシミュレーションを可能にし、複雑な自然現象の理解や発見を助けるために重要です。

Modulus の最新バージョンでは、RNN タイプのレイヤーとモデルのサポートが追加されました。これにより、モデル予測ワークフローにおいて、2D 空間ドメイン3D 空間ドメインに RNN を使用することができます。図 2 は、Modulus の RNN モデルによる Gray-Scott システムの予測値と、 ground truth (正解データ) を比較を示しています。

図 2. NVIDIA Modulus における Gray-Scott システムの 3D 過渡現象予測

使いやすさを追求したモジュール

Modulus のコードベースは、使いやすさを考慮し、モジュールに再設計されています。これは、使い勝手の良さから、ここ数年で研究者に最も人気のあるディープラーニング フレームワークの 1 つとなっている PyTorch と同じです。

Modulus のコア モジュールは、physics-ML モデルのためのコア フレームワークとアルゴリズムで構成されています。Modulus-Launch モジュールは、モデルのトレーニングのための PyTorch のようなワークフローを加速するための最適化されたトレーニング レシピで構成されています。このモジュールにより、AI 研究者は PyTorch のような体験をすることができます。NVIDIA Modulus Sym は、専門家が PDE ベースの physics-ML モデルをトレーニングするために使用できる、シンボリックな偏微分方程式 (PDE) に基づくモジュールです。

現代のディープラーニング フレームワークの重要な特徴の 1 つは、その相互運用性です。今回の Modulus のリリースでは、AI 開発者が PyTorch のモデルを Modulus に持ち込んだり、その逆をすることが容易になりました。これは、異なるプラットフォームや環境間でモデルを共有したり、再利用するために役立ちます。

Modulus 23.05 のすべての新機能の詳細については、Modulus のリリース ノートを参照してください。

GNN を physics-ML に今すぐ活用

NVIDIA Modulus の詳細と始め方については、NVIDIA Deep Learning Institute のコース、Introduction to Physics-Informed Machine Learning with Modulus (Modulus による物理を考慮した機械学習入門) をご覧ください。LaunchPad for Modulus の無料ハンズオン ラボで Modulus の体験をスタートしましょう。短期間の利用が可能で、ご自身のコンピューティング環境を構築する必要がありません。

ご自身の環境で Modulus を試すには、最新の Modulus コンテナーをダウンロードするか、Modulus pip wheels をインストールしてください。Modulus オープンソース フレームワークのカスタマイズや貢献については、GitHub の NVIDIA/modulus レポジトリをご覧ください。

翻訳に関する免責事項

この記事は、「Develop Physics-Informed Machine Learning Models with Graph Neural Networks」の抄訳で、お客様の利便性のために機械翻訳によって翻訳されたものです。NVIDIA では、翻訳の正確さを期すために注意を払っておりますが、翻訳の正確性については保証いたしません。翻訳された記事の内容の正確性に関して疑問が生じた場合は、原典である英語の記事を参照してください。

Tags