本文へスキップ

TorchMD-Net

Acellera

TorchMD-Netは、TensorNetアーキテクチャ、自作分子データセット、学習済みチェックポイントの読み込み、分子動力学との連携を備えた、学習可能なニューラルネットワークポテンシャルをPyTorchモジュールとして実装します。

掲載情報の更新 ·

概要

TorchMD-Netは、単一の学習済み予測モデルではなく、分子および生体分子系のニューラルネットワークポテンシャルを学習・利用するためのツールキットです。ポテンシャルはPyTorchモジュールとして提供され、READMEには分子動力学ワークフロー向けのACEMD、OpenMM、TorchMDとの連携が記載されています。利用可能なアーキテクチャとしてTensorNetとTensorNet2が挙げられており、Equivariant Transformer、Transformer、Graph Neural Networkの各アーキテクチャは非推奨とされています。

学習はYAMLファイルまたはコマンドライン引数で設定でき、コマンドラインの値が優先されます。自作のNumPyデータセットについて、ドキュメントで指定されている入力は原子種と原子座標で、それらにエネルギーラベル、力ラベル、または両方を対応付けます。別のデータセット実装では、zとposに加え、y、neg_dy、または両方を含むtorch-geometric Dataオブジェクトを返します。これらのインターフェースは、ラベル付き構造から分子エネルギーと座標微分を学習するワークフローを支援します。リポジトリには、自作priorモデルや新しいアーキテクチャの拡張方法も記載されています。

推論向けに、TorchMD-Netはチェックポイントの読み込みとASE計算器インターフェースを提供しており、学習済みAceFFモデルの例も含まれています。ローダーは、ドキュメントに記載された旧形式のマーカーを検出すると、旧形式のTensorNetおよびTensorNet2チェックポイントのレイアウトを自動的に再マッピングします。マルチノード学習に対応していますが、READMEでは各ノードのGPU数を同じにする必要があるとされており、GPUアーキテクチャが異なる場合の注意点や、複数GPUでハングする可能性について警告しています。出典の抜粋からは、特定の化学分野における予測精度は確認できません。リポジトリのMITコードライセンスを、別途配布されるモデルの重みやデータセットにも同じ条件が適用される根拠として扱うべきではありません。

主な機能

  • TensorNetおよびTensorNet2のニューラルネットワークポテンシャルをPyTorchモジュールとして実装。ET、T、GNアーキテクチャは非推奨と記載。
  • YAMLファイルとコマンドライン引数による学習設定に対応し、コマンドライン引数で上書き可能。
  • 原子種、座標、エネルギーまたは力のラベルを含む自作NumPyデータセットを読み込み、torch-geometricのデータセット実装にも対応。
  • `load_model`による学習済みチェックポイントの読み込みと、`TMDNETCalculator`によるASEインターフェースを提供。AceFFの例も掲載。
  • ドキュメントに記載された旧形式のTensorNetおよびTensorNet2チェックポイントのテンソル配置を自動検出して再マッピングし、明示的な上書きオプションも提供。
  • 自作priorモデル、アーキテクチャの拡張、GPU数に制約のあるマルチノード学習について説明。

用途

  • 評価案:ラベル付き構造の集合で分子ポテンシャルを学習し、保留した構造に対するエネルギーおよび力の予測を評価する。
  • 評価案:ドキュメントに記載されたASE計算器ワークフローを通じてAceFFチェックポイントを読み込み、対象の分子系への適合性を評価する。
  • 評価案:学習済みポテンシャルをACEMD、OpenMM、またはTorchMDのシミュレーションワークフローで使用する可能性を調べ、関連する連携要件を確認する。
  • 評価案:リポジトリの拡張ガイドを使って自作priorモデルまたはアーキテクチャを試作し、適切な検証データセットで評価する。

使い方

  1. ドキュメントとリポジトリのREADMEを読みます。ポテンシャルを学習するか、既存のチェックポイントを読み込むかを選び、非推奨のアーキテクチャを確認します。
  2. READMEに記載されたpipまたはconda/mambaによるインストール手順に従います。例にあるCUDAの選択が自分の環境に適していると決めつけず、リンク先のPyTorchの手順を参考に、PyTorchのアクセラレーター対応ビルドを選択します。
  3. 学習する場合は、ドキュメントに記載された自作データセットインターフェースを使い、原子種、座標、エネルギーまたは力のラベルを用意します。設定例を参照し、コマンドラインの設定がYAMLの値より優先されることに注意してください。
  4. 学習済みモデルで推論する場合は、AceFFの例またはチェックポイント読み込みの説明を参照します。自動検出を上書きする前に、ドキュメントに記載された旧形式レイアウトへの対応を確認してください。
  5. 評価案として、シミュレーションに使用する前に、代表的な保留構造に対する予測を評価します。マルチノード学習へ拡張する場合は、READMEにある各ノードのGPU数を同じにする要件に従い、ハードウェアと通信に関する制約を確認してください。

関連リソース

GemNet

モデル

GemNetは、幾何学的メッセージパッシングモデルを用いて分子エネルギーと原子に作用する力を予測するPyTorch参照実装で、学習、ASEを用いた予測、分子動力学のノートブックを備えています。

Python

分子特性予測 · 計算化学

Allegro

モデル

Allegro は NequIP の拡張として E(3) 等変原子間ポテンシャルを実装し、文書化された GPU 高速化オプションと、LAMMPS シミュレーション用の独立したプラグインを提供します。

オープンソースPython

計算化学 · 材料探索

ASE

オープンソース

ASE は原子シミュレーション向け Python ライブラリで、共通の計算器インターフェースを通じて従来の計算コードと外部の機械学習ポテンシャルを接続します。

オープンソースPython

計算化学

computational-chemistry-agent-skills コレクションに含まれる ASE ルーティング Skill。ワークフローの準備と計算器の設定を分け、実行は別の担当先に委任します。

計算化学 · 材料探索

Cantera Skill (K-Dense) は、均相着火計算の手順と Python ヘルパーを提供し、機構の出典記録、保存則の診断、数値的な細分化チェックを含みます。

オープンソースPython

計算化学 · プロセス最適化

ChemAgent (AI4Chem)

エージェント

ChemAgent (AI4Chem) は化学・材料分野でのツール利用を目的とする研究フレームワークであり、木探索による計画、ツール実行、ChemToolBench に基づく学習を扱う CheMatAgent 論文と関連しています。

計算化学 · 材料探索

関連ガイド