Skip to content

BurgerAndreas/hip

Repository files navigation

HIP: Hessian Interatomic Potentials Without Derivatives

arXiv Jupyter PyTorch

A machine learning interatomic potential to directly predict the Hessian. Trained on the HORM Hessian dataset, which consists of off-equilibrium geometries of small, neutral organic molecules, contained H, C, N, O, based on the T1x and RGD1 datasets, at the $\omega$B97X/6-31G(d) level of theory.

Compared to autograd Hessians:

  • 10-70x faster for a single molecule of 5-30 atoms
  • 70x faster for a typical T1x batch in batched prediction
  • 3x memory reduction
  • Better accuracy (Hessian, Hessian eigenvalues and eigenvectors)
  • Better downstream accuracy (relaxation, transition state search, frequency analysis)

Speed and memory comparison

Installation

Setting up the environment

Install uv (if not already installed)

curl -LsSf https://astral.sh/uv/install.sh | sh
export PATH="$HOME/.local/bin:$PATH"
git clone git@github.com:BurgerAndreas/hip.git
cd hip

# Create virtual environment and install base dependencies
uv venv .venv --python 3.11
source .venv/bin/activate
uv sync

# Install PyTorch with CUDA support
uv pip install torch==2.7.0 --index-url https://download.pytorch.org/whl/cu126

# Install PyTorch Geometric packages with CUDA support
uv pip install torch-scatter -f https://data.pyg.org/whl/torch-2.7.0+cu126.html
uv pip install torch-cluster -f https://data.pyg.org/whl/torch-2.7.0+cu126.html
uv pip install torch-geometric

# Install the package in development mode
uv pip install -e .

Use our model

Download the checkpoint from HuggingFace

wget https://huggingface.co/andreasburger/heigen/resolve/main/ckpt/hip_v2.ckpt -O ckpt/hip_v2.ckpt
uv run example.py

Setting up the HORM dataset for training

Kaggle automatically downloads to the ~/.cache folder. I highly recommend to set up a symbolic link to a local folder to avoid running out of space on your home directory:

PROJECT = <folder where you want to store the dataset>
mkdir -p ${PROJECT}/.cache
ln -s ${PROJECT}/.cache ${HOME}/.cache

Get the HORM dataset:

uv run scripts/download_horm_data_kaggle.py

Citation

If you found this code useful, please consider citing:

@misc{burger2025hiphessian,
      title={Shoot from the HIP: Hessian Interatomic Potentials without derivatives}, 
      author={Andreas Burger and Luca Thiede and Nikolaj Rønne and Varinia Bernales and Nandita Vijaykumar and Tejs Vegge and Arghya Bhowmik and Alan Aspuru-Guzik},
      year={2025},
      eprint={2509.21624},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2509.21624}, 
}

The training code and the dataset are based on the HORM paper, dataset, and code We thank the authors of from DeepPrinciple for making their code and data openly available.

About

HIP: Hessians with Interatomic Potentials

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages