Skip to main content

A machine learning potential energy project eqnorm

Project description

Eqnorm

Introduction

We propose a novel E(3)-equivariant GNN-based MLIP eqnorm, which employs a dual-branch design: one branch updates high-order tensor features to capture geometric symmetries, while the other one refines scalar embeddings by extracting information from the tensor branch.

Figure 1. Model architecture Figure 1. Eqnorm architecture.

Trained on the MPtrj dataset, eqnorm ranks second among state-of-the-art models on the Matbench Discovery leaderboard for physical property prediction.

Figure 2. Matbench leaderboard Figure 2. Matbench discovery compliant models leaderboard. See Matbench Discovery.

We used the exact benchmark code found in mace_benchmark with mace-torch v0.3.12 (PyPi) to test MD simulation using different MLIPs. To create a fair comparison, all models are benchmarked using the standard Python (3.10) runtime with Pytorch v2.6.0 and CUDA 11.8. No compile/torchscript was used. Notably, eqnorm achieves a fivefold improvement in inference speed over the leading model, eSEN, while enabling simulations of systems threefold larger in size.

Table 1. Inference efficiency test of MD simulation with 1 fs/step on a single Nvidia A40-48G GPU (speed in ns per day / consumed GPU memory).

Model 64 atoms 216 atoms 512 atoms 1000 atoms 1728 atoms
Eqnorm MPtrj 0.6729 / 2.0 G 0.2382 / 5.8 G 0.1028 / 13.2 G 0.05311 / 25.3 G 0.02999 / 44.8 G
eSEN-30M-MP 0.1489 / 12.0 G 0.04941 / 38.5 G OOM OOM OOM
MACE-MP-0 2.3171 / 1.3 G 0.9178 / 3.6 G 0.4054 / 7.9 G 0.2130 / 15.2 G 0.1244 / 25.8 G

Installation

Requirement

python>=3.10
torch>=2.6.0
torch_scatter

for example, install torch-2.6 with cuda 11.8 and torch_scatter:

conda create -n eqnorm python=3.10
conda activate eqnorm
pip install torch==2.6.0 torchvision==0.21.0 torchaudio==2.6.0 --index-url https://download.pytorch.org/whl/cu118
pip install torch_scatter -f https://data.pyg.org/whl/torch-2.6.0+cu118.html

After installation of PyTorch, run the following command:

pip install git+https://github.com/yzchen08/eqnorm.git

Usage

ase calculator

from eqnorm.calculator import EqnormCalculator
calc = EqnormCalculator(model_name='eqnorm', model_variant='eqnorm-mptrj', device='cuda')

you can check all available ckpt, for now only eqnorm-mptrj is available:

from eqnorm.calculator import EqnormCalculator
print(EqnormCalculator.url_dict)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eqnorm-0.1.0.tar.gz (15.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eqnorm-0.1.0-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file eqnorm-0.1.0.tar.gz.

File metadata

  • Download URL: eqnorm-0.1.0.tar.gz
  • Upload date:
  • Size: 15.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for eqnorm-0.1.0.tar.gz
Algorithm Hash digest
SHA256 bc5dde53f6302c05e62ecfaae86a77d5138a849a687fd016911ca6165d93e1d1
MD5 b5c5ce7197db438c42cf160708c5b668
BLAKE2b-256 1a9c6f2bdee9a2b25e23a102f468155e47e2373c525480bbc763c977f18fce2f

See more details on using hashes here.

File details

Details for the file eqnorm-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: eqnorm-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for eqnorm-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 32000da89aa6d4a7445c43181c3f52f319588309dfa14eef9124819553c80155
MD5 8e1759e2693ee675026d50f0083c9fb3
BLAKE2b-256 23ed57f765c630061a8e6aee21b888591267c4df47763ff6d68e1cda89567b0d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page