> ## Documentation Index
> Fetch the complete documentation index at: https://starforge.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 用 NeMo-RL 训练

> sf new、配置继承、提交、拓扑，以及只在 NeMo-RL 上出现的行为

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
sf new my-grpo --method nemo-rl/grpo
sf validate my-grpo
sf submit my-grpo --profile h200:8
```

NeMo-RL 是完整后训练栈的默认 catalog，当前版本 **0.7.0**。方法有：
`nemo-rl/sft`、`dpo`、`grpo`、`grpo-lora`、`ppo`、`rm`、`distillation`、`maxrl`、`opsd`。

可观测性是 `platform`，这意味着两件事你不用做：传 `--observability-url`，
以及自己调 `starforge.report`。adapter 和框架桥都替你做了。

## 创建和调参

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
sf new my-grpo --method nemo-rl/grpo
# 编辑 experiments/my-grpo/config.yaml  （defaults + 差异）
sf validate my-grpo
sf methods nemo-rl/grpo
```

模型和数据一般在 `configs/base/` 加 `configs/models/` 片段里。提交常常不需要 `--model` / `--train-data`。

配置细节：[config.yaml](/zh-Hans/guides/config)。

## 提交

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
git add -A && git commit -m "grpo lr"
sf submit my-grpo --profile h200:8
```

`--profile` 决定记账拓扑。adapter 用 `FORGE_CLUSTER_*` 写 `cluster.num_nodes` 和 `cluster.gpus_per_node`，并把 `checkpointing.checkpoint_dir` / `logger.log_dir` 指到 `FORGE_OUT_DIR`。实验文件里不要和这些键对着干，会被覆盖。

异构池（训练和 rollout 用不同卡型）只在 `kuberay` / `slurm`：

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
sf submit my-grpo --profile train=h200:8 --profile rollout=h100:2
```

存在独立 rollout 池时，adapter 会设 `policy.generation.colocated.enabled=false`，并从 `FORGE_POOL_TOPOLOGY` 填生成侧资源。不必再维护一份 noncolocated overlay YAML。

`local` 和 `agent` 不能跑多池作业。

## 入口

默认是版本化的 NeMo-RL 模块或文件。recipe 声明了 `experiment_override` 且实验目录里有那个文件时，用实验内文件（自带 `run.py` 的自定义环境/数据集实验）。JobSpec 里的 `spec.source.entrypoint` 会被拒绝；不能用提交 JSON 覆盖 recipe 入口。

容器需要 `NEMO_RL_DIR`（服务端 `FORGE_NEMO_RL_DIR`，NGC 镜像里一般是 `/opt/nemo-rl`）。缺了会编译失败：服务端没法代理 nemo-rl 作业。

## 训练之后

```bash theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
sf export my-grpo --checkpoint <path> --checkpoint-format nemo-dcp
# 格式：nemo-dcp | nemo-megatron
sf eval my-grpo --model /path/or/hub/id --eval-config configs/eval/gsm8k.yaml
sf bench run --model …          # 标准基准，和 sf eval 不是一回事
```

提交时加 `--then export --then eval`，会在 `SUCCEEDED` 之后自动跑。

## 工具环境

GRPO/PPO 可以指向 `common/environments/` 下的模块。见[智能体环境](/zh-Hans/guides/agent-envs)。
