Skip to content

Conversation

@aliafzal
Copy link
Contributor

Summary:
Make DeltaStore generic to allow use case specific custom implementations

internal

General Context: We are in the process of transition to a unified DeltaTracker and this is 1/n diffs representing changes towards the transition.

Specific Context: DeltaTracker utilizes Memstore to preserve and compact lookups extracted during embedding lookups. As part of transitioning to a common DeltaTracker, we are adding a generic DeltaStore. Memstore will extend from Generic DeltaStore, allowing both MRS and OSS DeltaTrackers to be easily integrated into training frameworks.

Differential Revision: D80614364

@meta-codesync
Copy link
Contributor

meta-codesync bot commented Oct 20, 2025

@aliafzal has exported this pull request. If you are a Meta employee, you can view the originating Diff in D80614364.

@meta-cla meta-cla 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 Oct 20, 2025
aliafzal added a commit to aliafzal/torchrec that referenced this pull request Oct 20, 2025
Summary:

Make DeltaStore generic to allow use case specific custom implementations 

internal

General Context: We are in the process of transition to a unified DeltaTracker and this is 1/n diffs representing  changes towards the transition. 

Specific Context: DeltaTracker utilizes Memstore to preserve and compact lookups extracted during embedding lookups. As part of transitioning to a common DeltaTracker, we are adding a generic DeltaStore. Memstore will extend from Generic DeltaStore, allowing both MRS and OSS DeltaTrackers to be easily integrated into training frameworks.

Differential Revision: D80614364
aliafzal added a commit to aliafzal/torchrec that referenced this pull request Oct 20, 2025
Summary:

Make DeltaStore generic to allow use case specific custom implementations 

internal

General Context: We are in the process of transition to a unified DeltaTracker and this is 1/n diffs representing  changes towards the transition. 

Specific Context: DeltaTracker utilizes Memstore to preserve and compact lookups extracted during embedding lookups. As part of transitioning to a common DeltaTracker, we are adding a generic DeltaStore. Memstore will extend from Generic DeltaStore, allowing both MRS and OSS DeltaTrackers to be easily integrated into training frameworks.

Differential Revision: D80614364
aliafzal added a commit to aliafzal/torchrec that referenced this pull request Oct 21, 2025
Summary:

Make DeltaStore generic to allow use case specific custom implementations 

internal

General Context: We are in the process of transition to a unified DeltaTracker and this is 1/n diffs representing  changes towards the transition. 

Specific Context: DeltaTracker utilizes Memstore to preserve and compact lookups extracted during embedding lookups. As part of transitioning to a common DeltaTracker, we are adding a generic DeltaStore. Memstore will extend from Generic DeltaStore, allowing both MRS and OSS DeltaTrackers to be easily integrated into training frameworks.

Differential Revision: D80614364
aliafzal added a commit to aliafzal/torchrec that referenced this pull request Oct 21, 2025
Summary:

Make DeltaStore generic to allow use case specific custom implementations 

internal

General Context: We are in the process of transition to a unified DeltaTracker and this is 1/n diffs representing  changes towards the transition. 

Specific Context: DeltaTracker utilizes Memstore to preserve and compact lookups extracted during embedding lookups. As part of transitioning to a common DeltaTracker, we are adding a generic DeltaStore. Memstore will extend from Generic DeltaStore, allowing both MRS and OSS DeltaTrackers to be easily integrated into training frameworks.

Differential Revision: D80614364
aliafzal added a commit to aliafzal/torchrec that referenced this pull request Oct 21, 2025
Summary:

Make DeltaStore generic to allow use case specific custom implementations 

internal

General Context: We are in the process of transition to a unified DeltaTracker and this is 1/n diffs representing  changes towards the transition. 

Specific Context: DeltaTracker utilizes Memstore to preserve and compact lookups extracted during embedding lookups. As part of transitioning to a common DeltaTracker, we are adding a generic DeltaStore. Memstore will extend from Generic DeltaStore, allowing both MRS and OSS DeltaTrackers to be easily integrated into training frameworks.

Differential Revision: D80614364
aliafzal added a commit to aliafzal/torchrec that referenced this pull request Oct 21, 2025
Summary:

Make DeltaStore generic to allow use case specific custom implementations 

internal

General Context: We are in the process of transition to a unified DeltaTracker and this is 1/n diffs representing  changes towards the transition. 

Specific Context: DeltaTracker utilizes Memstore to preserve and compact lookups extracted during embedding lookups. As part of transitioning to a common DeltaTracker, we are adding a generic DeltaStore. Memstore will extend from Generic DeltaStore, allowing both MRS and OSS DeltaTrackers to be easily integrated into training frameworks.

Differential Revision: D80614364
aliafzal added a commit to aliafzal/torchrec that referenced this pull request Oct 21, 2025
Summary:

Make DeltaStore generic to allow use case specific custom implementations 

internal

General Context: We are in the process of transition to a unified DeltaTracker and this is 1/n diffs representing  changes towards the transition. 

Specific Context: DeltaTracker utilizes Memstore to preserve and compact lookups extracted during embedding lookups. As part of transitioning to a common DeltaTracker, we are adding a generic DeltaStore. Memstore will extend from Generic DeltaStore, allowing both MRS and OSS DeltaTrackers to be easily integrated into training frameworks.

Differential Revision: D80614364
aliafzal added a commit to aliafzal/torchrec that referenced this pull request Oct 21, 2025
Summary:

Make DeltaStore generic to allow use case specific custom implementations 

internal

General Context: We are in the process of transition to a unified DeltaTracker and this is 1/n diffs representing  changes towards the transition. 

Specific Context: DeltaTracker utilizes Memstore to preserve and compact lookups extracted during embedding lookups. As part of transitioning to a common DeltaTracker, we are adding a generic DeltaStore. Memstore will extend from Generic DeltaStore, allowing both MRS and OSS DeltaTrackers to be easily integrated into training frameworks.

Differential Revision: D80614364
@aliafzal aliafzal force-pushed the export-D80614364 branch 2 times, most recently from cf25b75 to 3ea94c0 Compare October 21, 2025 04:06
aliafzal added a commit to aliafzal/torchrec that referenced this pull request Oct 21, 2025
Summary:

Make DeltaStore generic to allow use case specific custom implementations 

internal

General Context: We are in the process of transition to a unified DeltaTracker and this is 1/n diffs representing  changes towards the transition. 

Specific Context: DeltaTracker utilizes Memstore to preserve and compact lookups extracted during embedding lookups. As part of transitioning to a common DeltaTracker, we are adding a generic DeltaStore. Memstore will extend from Generic DeltaStore, allowing both MRS and OSS DeltaTrackers to be easily integrated into training frameworks.

Differential Revision: D80614364
aliafzal added a commit to aliafzal/torchrec that referenced this pull request Oct 21, 2025
Summary:

Make DeltaStore generic to allow use case specific custom implementations 

internal

General Context: We are in the process of transition to a unified DeltaTracker and this is 1/n diffs representing  changes towards the transition. 

Specific Context: DeltaTracker utilizes Memstore to preserve and compact lookups extracted during embedding lookups. As part of transitioning to a common DeltaTracker, we are adding a generic DeltaStore. Memstore will extend from Generic DeltaStore, allowing both MRS and OSS DeltaTrackers to be easily integrated into training frameworks.

Differential Revision: D80614364
aliafzal added a commit to aliafzal/torchrec that referenced this pull request Oct 21, 2025
Summary:

Make DeltaStore generic to allow use case specific custom implementations 

internal

General Context: We are in the process of transition to a unified DeltaTracker and this is 1/n diffs representing  changes towards the transition. 

Specific Context: DeltaTracker utilizes Memstore to preserve and compact lookups extracted during embedding lookups. As part of transitioning to a common DeltaTracker, we are adding a generic DeltaStore. Memstore will extend from Generic DeltaStore, allowing both MRS and OSS DeltaTrackers to be easily integrated into training frameworks.

Differential Revision: D80614364
aliafzal added a commit to aliafzal/torchrec that referenced this pull request Oct 21, 2025
Summary:

Make DeltaStore generic to allow use case specific custom implementations 

internal

General Context: We are in the process of transition to a unified DeltaTracker and this is 1/n diffs representing  changes towards the transition. 

Specific Context: DeltaTracker utilizes Memstore to preserve and compact lookups extracted during embedding lookups. As part of transitioning to a common DeltaTracker, we are adding a generic DeltaStore. Memstore will extend from Generic DeltaStore, allowing both MRS and OSS DeltaTrackers to be easily integrated into training frameworks.

Differential Revision: D80614364
…meta-pytorch#3143)

Summary:

X-link: meta-pytorch#3143

### 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
…meta-pytorch#3144)

Summary:

X-link: meta-pytorch#3144


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
Summary:

Make DeltaStore generic to allow use case specific custom implementations 

internal

General Context: We are in the process of transition to a unified DeltaTracker and this is 1/n diffs representing  changes towards the transition. 

Specific Context: DeltaTracker utilizes Memstore to preserve and compact lookups extracted during embedding lookups. As part of transitioning to a common DeltaTracker, we are adding a generic DeltaStore. Memstore will extend from Generic DeltaStore, allowing both MRS and OSS DeltaTrackers to be easily integrated into training frameworks.

Differential Revision: D80614364
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 meta-exported

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant