sf methods is authoritative for what the server you are connected to has actually published. The
tables below are a map, not a version pin.
The console’s Methods page shows the same catalog with the parameters laid
out, which is easier to read before a first submission.
NeMo-RL
Default framework for the full post-training pipeline. Current catalog release:nemo-rl@0.7.0.
verl
ByteDance verl synchronous trainer. Catalog release:verl@0.9.0. Entrypoint and parameter-path diffs across versions live in the version matrix (Recipes).
Every RL method below runs the same official entry point (verl.trainer.main_ppo); what separates
them is the advantage estimator the recipe pins. That is deliberate: the estimator is not a
hyperparameter you can set in config.yaml — writing it there is rejected at submission, because a
config that silently disagrees with the method is worse than an error.
Loss variants — GSPO, CISPO, GMPO, clip-cov / kl-cov, GPG — are not separate methods: they are the
policy_loss_mode parameter on any of the RL recipes above. Neither is rollout correction (TIS /
IcePop): every verl RL method carries the rollout_is* parameters, because the rollout engine and the
trainer are never quite the same policy.
TRL
Hugging Face TRL + Accelerate. Catalog release:trl@1.10.0.
OpenRLHF
DeepSpeed ZeRO + vLLM hybrid engine (colocate). Catalog release:openrlhf@0.11.0. Images are self-built (deploy/docker/Dockerfile.openrlhf); set FORGE_IMAGE_OPENRLHF or the runtime registry. Official upstream Dockerfiles do not publish a ready image with the package itself.
Evaluation and custom
Per-framework walkthroughs: NeMo-RL, verl, TRL, OpenRLHF.