ACEsuit / mace

MACE - Fast and accurate machine learning interatomic potentials with higher order equivariant message passing.
Other
554 stars 205 forks source link

Last-layer prediction rigidity (LLPR)-based uncertainty quantification for MACE #601

Open SanggyuChong opened 2 months ago

SanggyuChong commented 2 months ago

Hello, all!

Sanggyu from COSMO-EPFL here, together with Filippo (@frostedoyster). We recently had the chance to explore the model uncertainties of MACE-mp-0 and conduct as thorough of an analysis as possible, and would like to contribute the implementation that we used in doing so. Here are a list of main changes:

I see that our branch has some discrepancies elsewhere with develop branch that does not interfere with our newly contributed functionalities, so I will first put this in as a draft PR to do further clean-up. In the mean time, any feedback is more than welcome.

Thanks, Sanggyu and (Filippo)

ilyes319 commented 2 months ago

amazing, thank you! I will have a look:)

SanggyuChong commented 2 months ago

Cheers, Ilyes. For the record, we must have started from the universal branch when starting on our implementation, and hence the extra commits from that branch. @frostedoyster will do some rebasing and cherrypicking before we mark it ready for review. Thanks all!

frostedoyster commented 2 months ago

Ok, done! We need to make sure things are still working

SanggyuChong commented 2 months ago

Our UQ features have been checked to be fine after the rebase. It would be nice for you to take a look and try it out (get in touch with us for a detailed workflow). We are open to any comments or suggestions of our new features, thanks!

ilyes319 commented 2 months ago

Hey @SanggyuChong, thank you very much for your PR. Some additional questions:

  1. Please could you a ref to your paper in the doc string of the model.
  2. Would be nice to have series of test of the basic functionalities of the model.
  3. I remember there was a calibration step for the model and I see the funciton in utils. Is is possible to make a script in cli to run the calibration.
  4. Is an interface to an ASE calculator possible so one can get the uncertainties directly from there.