概要
NequIP は、単一の固定された予測モデルではなく、E(3) 同変原子間ポテンシャルを構築するためのソフトウェアフレームワークです。モデルの学習からコンパイル、原子シミュレーションでの利用までを含むワークフローをサポートします。プロジェクトの README では、周期表の大部分をカバーする事前学習済み基盤ポテンシャルについても説明されており、nequip.net から入手して、シミュレーションに直接使用するか、ユーザー独自のデータセットに適応させることができます。
ユーザーは独自の学習データから始めることも、提供されている事前学習済みポテンシャルを利用することもできます。文書に記載されたワークフローでは、学習済みまたはコンパイル済みのポテンシャルを作成し、ASE calculator や LAMMPS との連携などを通じて後続の用途に使用します。出典の抜粋ではこれらのワークフロー上の役割は示されていますが、データセットのスキーマ、必要なラベル、正確な予測インターフェースは明記されていません。これらの詳細はリンク先のガイドで確認する必要があります。パッケージのエントリーポイントは、学習、パッケージング、コンパイル、および LAMMPS ML-IAP 連携の準備をカバーしています。
計算ワークフローについて、NequIP の文書では、コンパイル済みの学習と推論、マルチ GPU 学習、さらに OpenEquivariance と CuEquivariance による GPU カーネルの高速化を紹介しています。後者は alpha と記されています。拡張パッケージを使って独自のアーキテクチャや学習方法を利用でき、Allegro は厳密に局所的な同変アーキテクチャを実装する独立した拡張として挙げられています。
既存の設定ではリリース間の互換性に注意が必要です。README は v0.7.0 を後方互換性のない更新とし、古い設定を使用するユーザーには v0.6.2 を案内しています。出典の抜粋には数値による精度や速度の結果がなく、特定の化学系への適合性も示されていません。リポジトリの MIT コードライセンスが、別途配布されるモデルの重みやデータセットの条件も定めていると想定すべきではありません。
主な機能
- E(3) 同変原子間ポテンシャルを構築するフレームワークで、拡張機能を通じた独自のアーキテクチャや学習手法に対応します。
- nequip.net で配布される事前学習済み基盤ポテンシャル。ダウンロード、コンパイル、実行、ファインチューニングのワークフローが文書化されています。
- コンパイル済みの学習と推論のワークフロー、およびマルチ GPU 学習。
- OpenEquivariance と CuEquivariance との連携による GPU カーネルの高速化。README では CuEquivariance は alpha とされています。
- ASE calculator との連携、および pair_nequip_allegro pair styles と ML-IAP 連携による LAMMPS のサポート。
用途
- 評価の提案:より広範なシミュレーションで基盤ポテンシャルを使用する前に、対象材料系の代表的な構造を用いて評価する。
- 評価の提案:事前学習済みポテンシャルをプロジェクト固有のデータセットでファインチューニングし、想定する化学領域に適するか評価する。
- 評価の提案:学習済みまたはコンパイル済みのポテンシャルを ASE または LAMMPS のワークフローに接続し、関連する連携要件を確認する。
- 評価の提案:拡張パッケージを使って独自のアーキテクチャや学習方法を試す。この仕組みの文書化された例として Allegro を参照する。
使い方
- インストールおよびユーザーガイドから始めてください。選択したワークフローの要件を確認してください。提供されたパッケージメタデータでは Python >=3.10 が宣言されており、README は v0.7.0 で後方互換性のない変更が導入されたと警告しています。
- チュートリアルノートブックに取り組んでください。README によると、このチュートリアルはローカルへのインストールなしで Google Colab 上だけで実行できます。
- 独自データで学習するか、事前学習済みポテンシャルから始めるかを選びます。基盤ポテンシャルのガイドで、該当するモデル条件を含め、ダウンロード、コンパイル、実行の手順を確認してください。
- 事前学習済みモデルを適応させる場合は、ファインチューニングガイドに従ってください。評価の提案として、利用範囲を広げる前に対象系の代表的なケースを評価してください。
- シミュレーションのワークフローに応じて、ASE 連携または LAMMPS 連携を選択してください。異なる導入経路が相互に置き換え可能だと想定せず、コンパイルと連携の手順を確認してください。