Skip to content
This repository has been archived by the owner on Dec 20, 2024. It is now read-only.

feat(rollout)!: Rollout Schedulers #206

Draft
wants to merge 6 commits into
base: develop
Choose a base branch
from
Draft

Conversation

HCookie
Copy link
Member

@HCookie HCookie commented Dec 18, 2024

Closes ecmwf/anemoi-core#14

Rollout Schedulers

Expand the ways to describe rollout, and provide an interface to schedule updates

New default rollout config

# length of the "rollout" window (see Keisler's paper)
rollout:
  _target_: anemoi.training.schedulers.stepped.EpochStepped
  minimum: 1
  maximum: 12
  # increase rollout every n epochs
  every_n_epochs: 1
  # Control the incrementing of the rollout window
  increment:
    step:
      0: 0
      200000: 1 # After 200k steps, increment by 1 every 1 epoch

Can step by epoch, step, and control the increment based on either the step or epoch.

Additonally, formally add random steppers.

Todo

  • Integrate with the data loader
  • Ensure that the randomness is seeded appropriately and broadcast
  • Ensure restartability and ability to change config

- Allow for complex incrementing setup
- Calculation based not step based
@HCookie HCookie self-assigned this Dec 18, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rollout Scheduling
1 participant