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.1.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.1-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: eqnorm-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 115363b2a6a917a22ebd6c4c044d0f6edee34c4eb736e8a56c8d7e25f8d664f4
MD5 d4f7cf3d5c322c57ba6fca0f136645b1
BLAKE2b-256 8aa6db44ba5fd648896b0549aff20b33a5ae3d572ee847649650e60829b77260

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eqnorm-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 41d81edc09b027a708acec61d1a2de6a35e67cb7ead5934429540d70cfeb1548
MD5 01a249231c0decebc3f5fbd449e4f241
BLAKE2b-256 e8b37cf16fa2004b2a857946877862d946449efeb251dc9e6d0a427a2009d11c

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