Skip to main content
tp methods is authoritative for what your server has published. The tables below are a map, not a version pin. The console’s Methods page shows the same catalogue with the parameters laid out, which is easier to read before a first submission. A method id is <framework>/<method>.

What a recipe pins

tp new writes recipe.lock.json beside your config: At submit the CLI handshakes with the server’s catalogue, and the lock has to match what the server published. When the platform publishes a newer recipe, an old lock is refused rather than silently upgraded:
One recipe can publish several framework versions. Entrypoint changes and moved parameter paths are declared on the version, not branched in code, so adopting a new upstream release is usually a manifest and an image:

NeMo-RL

The default framework for a full post-training pipeline. Catalogue release nemo-rl@0.7.0.

verl

ByteDance verl, synchronous. Catalogue releases verl@0.9.0 (the default) and verl@0.9.1. Every RL method here runs the same upstream entry point, verl.trainer.main_ppo. What separates them is the advantage estimator the recipe pins. The estimator is not a hyperparameter: setting it in config.yaml is refused at submission, because a config that disagrees with the method it claims to be is worse than an error. Loss variants are parameters, not methods: GSPO, CISPO, GMPO, clip-cov, kl-cov and GPG are all policy_loss_mode on any RL recipe above. Rollout correction is the same — 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 with Accelerate. Catalogue release trl@1.10.0. trl/grpo-judge is the one place where training and evaluation share an asset: the same rubric scores a benchmark, so what you optimise and what you report cannot drift apart.

OpenRLHF

DeepSpeed ZeRO with a colocated vLLM hybrid engine. Catalogue releases openrlhf@0.11.0 (the default) and openrlhf@0.11.2. Images are built by the deployment from deploy/docker/Dockerfile.openrlhf, because upstream publishes no image with the package in it. An administrator sets TUNEPLANE_IMAGE_OPENRLHF or adds it to the runtime registry.

PyTorch

A native PyTorch loop under torchrun. Catalogue release pytorch@2.14.0. Images are built by the deployment from deploy/docker/Dockerfile.pytorch.

Evaluation and custom

custom/custom requires --image. The platform does not guess an entrypoint, and it never falls back to custom after another adapter fails.

Pick a starting point from the data you have

Next

Per-framework walkthroughs: NeMo-RL · verl · TRL · OpenRLHF · PyTorch · your own trainer A common chain is SFT → DPO or GRPO → benchmark. See pipelines.