KO
|
EN
gitlite — search
Search
#typescript
#ai-agents
#ai
#dsh-plugin
#deepseek-harness
#open-source
#claude-code
#codex
#cli
#developer-tools
#react
#windows
hip
★ 40
Open GitHub ↗
HIP: Hessians with Interatomic Potentials
Download README (.md)
Explore Similar Repositories
alchemical-mlip
:
Alchemical machine learning interatomic potentials
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
hip
?
Download (.md)
# HIP: Hessian Interatomic Potentials Paper: [https://arxiv.org/abs/2509.21624](https://arxiv.org/abs/2509.21624) Official repo: [https://github.com/BurgerAndreas/hip](https://github.com/BurgerAndreas/hip) MACE implementation (work in progress): [https://github.com/BurgerAndreas/hip-mace](https://github.com/BurgerAndreas/hip-mace) HIPs are machine learning interatomic potentials (MLIPs) that directly predict the Hessian, in addition to the usual energy and forces. This repo primarily trains HIP-EquiformerV2 on the [HORM Hessian dataset](https://github.com/deepprinciple/HORM), which consists of off-equilibrium geometries of small, neutral organic molecules, contained H, C, N, O, based on Transition1x, at the $\omega$B97X/6-31G(d) level of theory. Compared to autograd Hessians, HIP is: - 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 This should only take 5-10 minutes depending on your internet connection. ### Setting up the environment First install the uv package manager (if not already installed) ```bash curl -LsSf https://astral.sh/uv/install.sh | sh export PATH="$HOME/.local/bin:$PATH" ``` ```bash git clone git@github.com:BurgerAndreas/hip.git cd hip # --extra cuda126 uv sync --python 3.12 --extra cuda121 ``` ## Use our model Download the latest checkpoints from HuggingFace: ```bash mkdir -p ckpt wget https://huggingface.co/andreasburger/hip/resolve/main/ckpt/hip_v3.ckpt -O ckpt/hip_v3.ckpt wget https://huggingface.co/andreasburger/hip/resolve/main/ckpt/hip_v3.yaml -O ckpt/hip_v3.yaml wget https://huggingface.co/andreasburger/hip/resolve/main/ckpt/hip_v3_cf.ckpt -O ckpt/hip_v3_cf.ckpt wget https://huggingface.co/andreasburger/hip/resolve/main/ckpt/hip_v3_cf.yaml -O ckpt/hip_v3_cf.yaml ``` Available checkpoints: - `hip_v3.ckpt`: latest HIP checkpoint with direct force prediction. - `hip_v3_cf.ckpt`: latest HIP checkpoint trained with conservative forces (`model.direct_forces=False`). - `hip_v3.yaml` and `hip_v3_cf.yaml`: saved model, optimizer, and training configs for the matching checkpoints. Run a few forward passes (should take 30s) ```bash uv run example.py ``` ## Setting up the HORM dataset for training Our models are trained on the Hessian dataset for Optimizing Reactive MLIP (HORM). The HORM dataset is hosted on Kaggle. Kaggle automatically downloads to the `~/.cache` folder. If you want to use another location for the files, I recommend to set up a symbolic link to a another folder: ```bash PROJECT = <folder where you want to store the dataset> mkdir -p ${PROJECT}/.cache ln -s ${PROJECT}/.cache ${HOME}/.cache ``` Now download the HORM dataset (25GB): ```bash uv run scripts/download_horm_data_kaggle.py ``` Train HIP (around two to three days on a H100 GPU) ```bash uv run scripts/train.py # conservative forces uv run scripts/train.py model.direct_forces=False # reduce the batch size if you are running on a L40s or A100 with 40GB GPU RAM # uv run scripts/train.py +extra=bz64 ``` ## Transition state search For the transition state search we followed the HORM paper and used `ReactBench` - [https://github.com/deepprinciple/ReactBench](https://github.com/deepprinciple/ReactBench) - [https://github.com/deepprinciple/pysisyphus](https://github.com/deepprinciple/pysisyphus) - [https://github.com/deepprinciple/pyGSM](https://github.com/deepprinciple/pyGSM) Unfortunetly, the `ReactBench` code is a bit of a mess. If I were to do this project again, I would use `geodesic interpolation + Sella TS search + Sella IRC` instead of `ReactBench + pysisyphus + pyGSM` as done in this paper: [https://www.nature.com/articles/s41467-024-52481-5](https://www.nature.com/articles/s41467-024-52481-5) For that you would need to install: [https://github.com/virtualzx-nad/geodesic-interpolate](https://github.com/virtualzx-nad/geodesic-interpolate) [https://github.com/zadorlab/sella](https://github.com/zadorlab/sella) and follow their workflow from here: [https://github.com/Quantum-Accelerators/quacc/blob/main/src/quacc/recipes/newtonnet/ts.py](https://github.com/Quantum-Accelerators/quacc/blob/main/src/quacc/recipes/newtonnet/ts.py) ## Citation If I can help you run the code or setup your own project, please email me at: `<firstname>.<lastname>(at)mail.utoronto.ca` If you found this code useful, please consider citing: ```bibtex @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 dataset and parts of the training code are based on the HORM [paper](https://arxiv.org/abs/2505.12447), [dataset](https://www.kaggle.com/datasets/yunhonghan/hessian-dataset-for-optimizing-reactive-mliphorm/data), and [code](https://github.com/deepprinciple/HORM) We thank the authors of from DeepPrinciple for making their code and data openly available.