Skip to main content

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)

Metadata

Release files for eqnorm 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eqnorm 0.1.1
File Size Uploaded Provenance Actions
eqnorm-0.1.1.tar.gz 15.1 kB Without provenance Details for eqnorm-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for eqnorm 0.1.1
File Interpreter ABI Platform Actions
eqnorm-0.1.1-py3-none-any.whl Python 3 none any Details for eqnorm-0.1.1-py3-none-any.whl

Total release size: 39.9 kB

Release files / eqnorm-0.1.1.tar.gz

Download URL eqnorm-0.1.1.tar.gz
Size 15.1 kB
Tags Source
SHA-256 checksum
How to use checksums
115363b2a6a917a22ebd6c4c044d0f6edee34c4eb736e8a56c8d7e25f8d664f4
BLAKE2b-256 checksum
How to use checksums
8aa6db44ba5fd648896b0549aff20b33a5ae3d572ee847649650e60829b77260
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / eqnorm-0.1.1-py3-none-any.whl

Download URL eqnorm-0.1.1-py3-none-any.whl
Size 24.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
41d81edc09b027a708acec61d1a2de6a35e67cb7ead5934429540d70cfeb1548
BLAKE2b-256 checksum
How to use checksums
e8b37cf16fa2004b2a857946877862d946449efeb251dc9e6d0a427a2009d11c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Security for eqnorm 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page