Question: README says select_layer 16 → 12, but GR00T-N1.7-3B ships with 16 — which applies to finetuning?

Author: makchen0731Created Aug 17, 2026Updated Aug 17, 2026
Labelsdocumentation

The doc issue

The Key Changes from N1.6 section says:

Model defaults changed: select_layer 16 to 12 ... Action head ... changes from 32 to 16 diffusion 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:

  1. Is this expected? Do the new defaults apply only when training from scratch?
  2. 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.