配置
实验配方
分桶的 examples/ 目录树下的 recipe,以及每个入口如何选择 recipe。
recipe 是 examples/ 下按训练域组织的自包含 YAML 文件。每个 recipe 都是 model、
algorithm、rollout engine、placement、reward、sync 和 batch geometry 的事实源。
用 --config-name=<examples 下的路径> 选择,省略 .yaml。
每个领域的入口
下面的默认 recipe 直接来自各入口的 @hydra.main;它们适合做 compose check 锚点,
并不表示对所有任务都推荐这个 recipe。
| 训练路径 | 入口 | canonical recipe |
|---|---|---|
| Diffusion RL | python -m unirl.train_diffusion | diffusion/sd3/sd3_trainside |
| AR/VLM RL | python -m unirl.train_ar | ar/qwen_vl_grpo_geo3k_mc_4x8 |
| SFT | python -m unirl.train_sft | sft/qwen3_sft |
| Async AR RL | python -m unirl.train_async_ar | ar/qwen3_grpo_4b_base_dapo_sglang_async |
| Async diffusion RL | python -m unirl.train_async_diffusion | diffusion/bagel/bagel_vllmomni_async |
| Prompt enhancement | python -m unirl.train_pe | pe/pe_trainside_pickscore |
| AR + diffusion 统一模型 | python -m unirl.train_unified_model | unified_model/hi3_vllmomni |
| Agentic tool use | python -m unirl.train_agentic | deep_research/deep_research_search_judge |
选择 Recipe 家族
当前目录已有 140 多个 recipe,因此本页不复制一份容易漂移的完整文件名清单。请检查对应 目录,并从这些稳定训练域开始:
examples/diffusion/:图像、视频、音视频与图像编辑 RL;SD3、Qwen-Image、WAN、 HunyuanVideo、BAGEL、LTX-2 等模型通常还有自己的下级目录。examples/ar/:Qwen 文本、VLM、Qwen3-Omni 与 BAGEL 自回归 RL。examples/sft/:文本、VLM、agent trajectory、diffusion、Cosmos3 与 WAN SFT。examples/pe/:prompt-enhancer workflow。examples/unified_model/:AR + diffusion 混合模型。examples/deep_research/:由 service 打分的 agentic workflow。
选择 Recipe
python -m unirl.train_diffusion \
--config-name=diffusion/sd3/sd3_trainside \
--cfg job --resolve启动器传入同一路径;非 diffusion 入口用 ENTRY 选择:
bash examples/run_experiment_single_node.sh diffusion/sd3/sd3_trainside
ENTRY=train_ar bash examples/run_experiment_single_node.sh ar/qwen_vl_grpo_geo3k_mc_4x8
ENTRY=train_sft bash examples/run_experiment_single_node.sh sft/qwen3_sft
ENTRY=train_agentic bash examples/run_experiment_single_node.sh deep_research/deep_research_search_judge
bash examples/run_experiment_multinode.sh diffusion/sd3/sd3_sglang_rollout_colocate如何选择 Recipe
当任务没有指定具体 recipe 时,按此顺序决定:
- 先选训练路径和模型家族。
- 再选 direct
trainsidesampling 或 dedicated SGLang/vLLM-Omni engine。 - 匹配 algorithm、adapter、sync 和 placement 后缀。
- 匹配
4x8、VeOmni SP/EP、HSDP 等 topology-specific 变体。 - 阅读 YAML,并在启动 Ray 前做 compose check。
新增 Recipe
- 从正确训练域/模型目录中最接近的 YAML 复制。
- 把 model、reward、rollout engine、backend、stack、sync、placement、batch geometry 放在 YAML 中,每个用
_target_实例化。 - 只把路径和 logging identity 这类部署相关值放到环境变量插值中。
- 用拥有该训练域的入口做 compose check。