feat (training): Configurable weight averaging (exponential moving average (EMA), ...) #743
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Weight averaging is a technique to improve model generalization by averaging model weights during training. In the new pytorch lightning version (2.6.0) different versions of weight averaging are now supported.
Here, I refactor the existing SWA implementation to support general weight averaging methods through the config. For example, EMA training can be used by adding the following to the
config.training:Note:
weight_averagingdoes not exist, but this is still a breaking change if swa was used before.As a contributor to the Anemoi framework, please ensure that your changes include unit tests, updates to any affected dependencies and documentation, and have been tested in a parallel setting (i.e., with multiple GPUs). As a reviewer, you are also responsible for verifying these aspects and requesting changes if they are not adequately addressed. For guidelines about those please refer to https://anemoi.readthedocs.io/en/latest/
By opening this pull request, I affirm that all authors agree to the Contributor License Agreement.
📚 Documentation preview 📚: https://anemoi-training--743.org.readthedocs.build/en/743/
📚 Documentation preview 📚: https://anemoi-graphs--743.org.readthedocs.build/en/743/
📚 Documentation preview 📚: https://anemoi-models--743.org.readthedocs.build/en/743/