Skip to content

Adding support for MOMENTUM_DIFF and ROWWISE_ADAGRAD optimizer states #3144

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

aliafzal
Copy link
Contributor

Summary: This diff extends the Model Delta Tracker to support two new tracking modes: MOMENTUM_DIFF and ROWWISE_ADAGRAD, which enable tracking of rowwise optimizer states for more sophisticated gradient analysis.

Differential Revision: D76918891

aliafzal added 2 commits June 27, 2025 05:46
Summary:
### Overview

This diff adds support for tracking optimizer states  in the Model Delta Tracker system. It introduces a new tracking mode called `MOMENTUM_LAST` that enables tracking of momentum values from optimizers to support approximate top-k delta-row selection.

### Key Changes

#### 1. Optimizer State Tracking Support

*   To support tracking of optimizer states I have added `optim_state_tracker_fn` attribute to `GroupedEmbeddingsLookup` and `GroupedPooledEmbeddingsLookup` classes responsible for traversing over the BatchedFused modules.
*   Implemented `register_optim_state_tracker_fn()` method in both classes to register the trackable callable
*   Tracking calls are invoked after each lookup operation.

#### 2. Model Delta Tracker Changes

*   Added `record_momentum()` method to track momentum values from optimizer states and its support in record_lookup function.
*   Added validation and optim tracker function logic to support the new `MOMENTUM_LAST` mode

#### 3. New Tracking Mode

*   Added `TrackingMode.MOMENTUM_LAST` to [`**types.py**`](command:code-compose.open?%5B%22%2Ffbcode%2Ftorchrec%2Fdistributed%2Fmodel_tracker%2Ftypes.py%22%2Cnull%5D "/fbcode/torchrec/distributed/model_tracker/types.py")
*   Maps to `EmbdUpdateMode.LAST` to capture the most recent momentum values

Differential Revision: D76868111
Summary: This diff extends the Model Delta Tracker to support two new tracking modes: `MOMENTUM_DIFF` and `ROWWISE_ADAGRAD`, which enable tracking of rowwise optimizer states for more sophisticated gradient analysis.

Differential Revision: D76918891
@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Jun 27, 2025
@facebook-github-bot
Copy link
Contributor

This pull request was exported from Phabricator. Differential Revision: D76918891

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants