UniRL 文档
配置

实验配方

分桶的 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 RLpython -m unirl.train_diffusiondiffusion/sd3/sd3_trainside
AR/VLM RLpython -m unirl.train_arar/qwen_vl_grpo_geo3k_mc_4x8
SFTpython -m unirl.train_sftsft/qwen3_sft
Async AR RLpython -m unirl.train_async_arar/qwen3_grpo_4b_base_dapo_sglang_async
Async diffusion RLpython -m unirl.train_async_diffusiondiffusion/bagel/bagel_vllmomni_async
Prompt enhancementpython -m unirl.train_pepe/pe_trainside_pickscore
AR + diffusion 统一模型python -m unirl.train_unified_modelunified_model/hi3_vllmomni
Agentic tool usepython -m unirl.train_agenticdeep_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 时,按此顺序决定:

  1. 先选训练路径和模型家族。
  2. 再选 direct trainside sampling 或 dedicated SGLang/vLLM-Omni engine。
  3. 匹配 algorithm、adapter、sync 和 placement 后缀。
  4. 匹配 4x8、VeOmni SP/EP、HSDP 等 topology-specific 变体。
  5. 阅读 YAML,并在启动 Ray 前做 compose check。

新增 Recipe

  1. 从正确训练域/模型目录中最接近的 YAML 复制。
  2. 把 model、reward、rollout engine、backend、stack、sync、placement、batch geometry 放在 YAML 中,每个用 _target_ 实例化。
  3. 只把路径和 logging identity 这类部署相关值放到环境变量插值中。
  4. 用拥有该训练域的入口做 compose check。

目录