Skip to content

docs(sc): clarify checkpoint retention and metric constraints - #3784

Open
tianyi-zhang-02 wants to merge 6 commits into
NVIDIA-NeMo:mainfrom
tianyi-zhang-02:docs/sc-checkpointing-supported
Open

docs(sc): clarify checkpoint retention and metric constraints#3784
tianyi-zhang-02 wants to merge 6 commits into
NVIDIA-NeMo:mainfrom
tianyi-zhang-02:docs/sc-checkpointing-supported

Conversation

@tianyi-zhang-02

@tianyi-zhang-02 tianyi-zhang-02 commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Clarifies two SingleController checkpointing details that were still missing from the guide:

  • checkpointing.metric_name must be null or use a train: metric, because SC does not run validation metrics yet;
  • a checkpoint also saves the replay buffer and dataloader position, so committed but untrained rollouts survive resume.

The guide already says checkpointing itself is supported. This PR only documents the retention constraint and resume behavior.

Validation

Final SHA: 5f5d0baf6eea159c426acfb1d865b72b5d7d3f93, refreshed onto upstream main at ccbcd4cc5.

Docs only; the claims were checked against validate_single_controller_config, _save_checkpoint, and _maybe_restore_replay_buffer.

The Known Missing Features list said "Checkpointing and validation are not yet
supported (setup raises if enabled)". Both halves are wrong now.

Checkpointing landed in NVIDIA-NeMo#3429: SingleControllerActor holds a CheckpointManager,
_save_checkpoint writes GRPOSaveState plus a replay_buffer.pt and the dataloader
position, _maybe_restore_replay_buffer reads them back, and
tests/unit/single_controller/test_sc_checkpointing.py covers it.

Nothing raises on either feature. grep for a raise about checkpointing or
validation in single_controller_utils/setup.py returns nothing. The only guard
is narrower and points the other way: validate_single_controller_config rejects
a non-"train:" checkpointing.metric_name precisely because checkpointing works
while validation does not, so top-k retention would key off a metric that is
never collected.

Rewrites the bullet to cover validation only, states the metric_name constraint
it implies, and adds a line to the migration section so a legacy user can tell
that checkpointing carries over rather than reading its absence as an omission.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Tianyi Zhang <123608656+tianyi-zhang-02@users.noreply.github.com>
@tianyi-zhang-02
tianyi-zhang-02 requested a review from a team as a code owner August 24, 2026 04:02
@copy-pr-bot

copy-pr-bot Bot commented Aug 24, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@github-actions github-actions Bot added the Documentation Improvements or additions to documentation label Aug 24, 2026
@svcnvidia-nemo-ci svcnvidia-nemo-ci added the waiting-on-maintainers Waiting on maintainers to respond label Aug 26, 2026
# Conflicts:
#	docs/guides/single-controller.md
# Conflicts:
#	docs/guides/single-controller.md
@tianyi-zhang-02 tianyi-zhang-02 changed the title docs(sc): checkpointing is supported; only validation is not docs(sc): document the checkpointing metric_name constraint and what the checkpoint holds Aug 29, 2026
@tianyi-zhang-02 tianyi-zhang-02 changed the title docs(sc): document the checkpointing metric_name constraint and what the checkpoint holds docs(sc): clarify checkpoint retention and metric constraints Aug 30, 2026
Signed-off-by: Tianyi Zhang <123608656+tianyi-zhang-02@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-request Documentation Improvements or additions to documentation waiting-on-maintainers Waiting on maintainers to respond

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants