Skip to main content
NeMo-RL is the default catalogue for a full post-training stack, at 0.7.0. Methods: nemo-rl/sft, dpo, grpo, grpo-lora, ppo, rm, distillation, maxrl, opsd. Two things you do not have to do: pass --observability-url, and call tuneplane.report. This framework’s observability is platform: the integration enables native TensorBoard output (logger.tensorboard_enabled). An isolated collector reads the event files without modifying NeMo-RL logger classes. Explicitly configured external trackers remain available.

Create and tune

Model and datasets come from configs/base/ and a configs/models/ fragment, so a submission usually needs no --model or --train-data. See config.yaml for how the layering resolves.

Submit

The adapter overwrites four keys from the environment the server injects. Do not fight them in your config:

Put rollout on different cards

With a separate rollout pool the adapter sets policy.generation.colocated.enabled=false and fills the colocated resource counts from TUNEPLANE_POOL_TOPOLOGY. You do not maintain a non-colocated overlay YAML for this. Multiple pools need a kubernetes or slurm Fleet. Node Fleets support one homogeneous pool across at most 8 machines.

Bring your own run.py

The recipe’s entrypoint is the versioned NeMo-RL file. If the recipe declares experiment_override and that file exists in your experiment directory, yours wins — which is how an experiment with a custom dataset or a tool environment ships its own run.py. spec.source.entrypoint in the JobSpec is refused. You cannot override the recipe from submission JSON. The container needs NEMO_RL_DIR, which the deployment sets as TUNEPLANE_NEMO_RL_DIR and is typically /opt/nemo-rl in the NGC image. Without it the submission fails naming the missing configuration.

Check it worked

tp job logs shows Ray starting and then the first training step. The Charts tab fills with train/reward, validation/accuracy, train/entropy, train/kl_penalty and train/token_mult_prob_error. Watch that last one. Above one or two percent, weight sync between the trainer and the rollout engine is broken, and a reward curve that looks fine cannot be trusted.

After training

Formats here are nemo-dcp and nemo-megatron. --then export --then eval on submit runs the first two automatically once the job succeeds.

Next

Pipelines · Benchmarks · Agent environments for GRPO and PPO against tool environments