fix(customizer): grpo sft full serialization fix - #1868
Draft
soluwalana wants to merge 11 commits into
Draft
Conversation
Signed-off-by: Sam Oluwalana <soluwalana@nvidia.com>
Signed-off-by: Sam Oluwalana <soluwalana@nvidia.com>
Signed-off-by: Sam Oluwalana <soluwalana@nvidia.com>
Contributor
|
Signed-off-by: Sam Oluwalana <soluwalana@nvidia.com>
Signed-off-by: Sam Oluwalana <soluwalana@nvidia.com>
Signed-off-by: Sam Oluwalana <soluwalana@nvidia.com>
Contributor
Signed-off-by: Sam Oluwalana <soluwalana@nvidia.com>
Signed-off-by: Sam Oluwalana <soluwalana@nvidia.com>
Signed-off-by: Sam Oluwalana <soluwalana@nvidia.com>
Signed-off-by: Sam Oluwalana <soluwalana@nvidia.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
A successful one-step GRPO
all_weightsrun withpolicy_backend=automodelalready writes HuggingFace safetensors (policy/weights/model/shard-*.safetensors). Publication always sent that tree to NeMo-RL's DCP converter, which requires a.metadatafile and failed withFileNotFoundErrorfromconvert_dcp_to_hf. Users never got a registered model or fileset from a completed full-weight GRPO job.After this change, Automodel full-weight checkpoints are copied (preferring
model/consolidated/) and only DTensor V1 DCP trees still go throughconvert_dcp_to_hf.Related Issue
NVBug 6740834. QA cross-check: DevTest T6259695 / job
rl-14f91222c14d(also tracked against 6716627).Changes
find_hf_full_weight_root) and copy it for publication: flatten.hf_metadata(config.json, tokenizer), attachpolicy/tokenizerwhen needed, strip the FSDP2 architecture prefix, and leave optimizer state behind.shard-00001-model-00001-of-00001.safetensors) tomodel.safetensorsso HuggingFace/from_pretrainedand fileset checks accept it. Multi-rank or multi-file shard layouts are left as-is with a warning — those need Automodel consolidation, not a rename..metadatais present (DTensor V1). Fail with an explicit path if neither an HF tree nor DCP metadata exists.all_weightsGRPO, emitcheckpointing.model_save_format=safetensorsandsave_consolidated=everyso training writesmodel/consolidated/when the pinned Automodel honors it. The string"every"is used instead ofTrue/"final": NeMo-RLsetattrs this past Automodel's bool→enum normalizer, and it never passesis_final_checkpoint. Omit both keys for DTensor V1 (V1 rejectsmodel_save_format) and for LoRA.Type of Change
Quality Gates
Verification
Signed-off-by:traileruv run pre-commit run -apasses, or any blocked checks are identified belowTargeted validation:
95 passed.
uv run pre-commit run -awas not run on this branch.Verified that one step run fixed the HF export.