Question: README says select_layer 16 → 12, but GR00T-N1.7-3B ships with 16 — which applies to finetuning?
The doc issue
The Key Changes from N1.6 section says:
Model defaults changed:
select_layer16to12... Action head ... changes from32to16diffusion layers.
But config.json in nvidia/GR00T-N1.7-3B
still has the old values:
| Field | README says | Checkpoint has |
|---|---|---|
select_layer |
12 | 16 |
diffusion_model_cfg.num_layers |
16 | 32 |
The weights agree with the checkpoint, not the README. model.safetensors.index.json
contains language_model.layers.0 .. .15 (16 layers) and transformer_blocks.0 .. .31
(32 DiT layers).
Finetuning loads the architecture from this config.json, so every finetune run gets
16 backbone layers and 32 DiT layers — not the 12 / 16 the README describes. Setting
select_layer: 12 in the finetune config does nothing: it is silently ignored, but
still written into experiment_cfg/conf.yaml as if it had been used.
Questions:
- Is this expected? Do the new defaults apply only when training from scratch?
- Does running 16 / 32 instead of 12 / 16 matter for downstream finetuning — compute cost, accuracy, or compatibility with future N1.7 checkpoints?
Suggest a potential alternative/fix
No change requested — I mainly want to confirm which configuration applies to the standard finetune workflow.
Source: NVIDIA/Isaac-GR00T