Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add presets? #273

Open
spozdn opened this issue Jun 27, 2024 · 9 comments
Open

Add presets? #273

spozdn opened this issue Jun 27, 2024 · 9 comments
Assignees
Labels
Infrastructure: CLI Related to the command line interface Priority: Medium Important issues to address after high priority.

Comments

@spozdn
Copy link
Collaborator

spozdn commented Jun 27, 2024

Following a recent discussion with @frostedoyster regarding changing the default PET hypers towards a more lightweight and fast model, we agreed that it would be better to offer different presets rather than a single set of default hyperparameters. Presets might be something like "fast," "medium," and "large." This issue is created to track the implementation of this feature. I guess it is up to me to address the presets themselves, but this feature also requires scaffolding infrastructure.

@frostedoyster frostedoyster changed the title presets for pet Add presets? Jun 27, 2024
@frostedoyster
Copy link
Collaborator

I think having small, medium, large presets will be unfortunately necessary because people can't be bothered to read the docs and change the parameters themselves

@Luthaf
Copy link
Member

Luthaf commented Jun 27, 2024

This is a great idea!

I think having at most three preset is good (more than three means you have to read the documentation again), and we could try to name the presets in the same ways for all architectures, following the "good", "better", "best" convention.

Some possibilities would be

  • small/medium/large
  • fast/???/accurate
  • loose/???/tight (close to AIMS basis names)

@spozdn
Copy link
Collaborator Author

spozdn commented Jun 27, 2024

upd. The main motivation for presets was the impression that PET with default hypers is slow, and thus, a 'light' preset was urgently needed. An investigation with @DavideTisi, though, revealed that the issue is that the LAMMPS MD interface is currently 40 times slower than intrinsic PET (see #274). I guess there are two implications:

  1. It is still a super nice feature, but priority can probably be low (at least from the point of view of PET)
  2. the default PET preset should be the one that will correspond to the current default hypers

and [unrelated] 3) probably it is worth to think about naming to incorporate more than 3 presets if needed.

@Luthaf
Copy link
Member

Luthaf commented Jun 27, 2024

and [unrelated] 3) probably it is worth to think about naming to incorporate more than 3 presets if needed.

I disagree here. I don't think more than three preset is helpful for users. If they are using presets, it is because they don't know a lot about the architecture, and offering too many choices does not help. The presets are not here for people who want to tune the hypers, but as a way to balance speed vs accuracy easily.

@spozdn
Copy link
Collaborator Author

spozdn commented Jun 27, 2024

and [unrelated] 3) probably it is worth to think about naming to incorporate more than 3 presets if needed.

I disagree here. I don't think more than three preset is helpful for users. If they are using presets, it is because they don't know a lot about the architecture, and offering too many choices does not help. The presets are not here for people who want to tune the hypers, but as a way to balance speed vs accuracy easily.

yeah, good point actually, idk

@spozdn
Copy link
Collaborator Author

spozdn commented Jun 27, 2024

and [unrelated] 3) probably it is worth to think about naming to incorporate more than 3 presets if needed.

I disagree here. I don't think more than three preset is helpful for users. If they are using presets, it is because they don't know a lot about the architecture, and offering too many choices does not help. The presets are not here for people who want to tune the hypers, but as a way to balance speed vs accuracy easily.

Thought №2 about this. Probably, users who do not want to tune hypers want some kind of slider that represents a one-dimensional tradeoff between accuracy and computational efficiency (contrary to the multidimensional nature of hypers). And this 1D slider actually opens up a space for a continuum number of presets, not just 3. @Luthaf

@Luthaf
Copy link
Member

Luthaf commented Jun 27, 2024

No, this is just introducing a new hyper (the 1D "slider"), that they don't want to tune either. I feel like "good", "better", "best" presets is the best way to think about these.

@spozdn
Copy link
Collaborator Author

spozdn commented Jun 27, 2024

No, this is just introducing a new hyper (the 1D "slider"), that they don't want to tune either. I feel like "good", "better", "best" presets is the best way to think about these.

Can work, do not have strong feelings about this, anyway.

@frostedoyster
Copy link
Collaborator

Small, medium, large?
Fast, balanced, accurate?
1, 2, 3?

@frostedoyster frostedoyster added Priority: Medium Important issues to address after high priority. Infrastructure: CLI Related to the command line interface labels Jun 28, 2024
@spozdn spozdn self-assigned this Jul 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Infrastructure: CLI Related to the command line interface Priority: Medium Important issues to address after high priority.
Projects
None yet
Development

No branches or pull requests

4 participants