快速开始
首次运行
组合并启动一个 UniRL 实验配方。
启动 Ray 作业前,先做 Hydra compose check。--cfg job --resolve 检查 Hydra 组合、
override 语法以及插值/环境变量解析;它不会实例化运行时 dataclass,也不会运行 trainer
或跨组件校验。
python -m unirl.train_diffusion --config-name=diffusion/sd3/sd3_trainside --cfg job --resolve单机运行
单机通用启动器的第一个参数是 examples/ 下的 recipe 路径
(<path-under-examples>,不含 .yaml):
bash examples/run_experiment_single_node.sh diffusion/sd3/sd3_trainside默认入口是 diffusion;用 ENTRY 选择其他入口:
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_pe bash examples/run_experiment_single_node.sh pe/pe_trainside_pickscore
ENTRY=train_agentic bash examples/run_experiment_single_node.sh deep_research/deep_research_search_judge只检查启动命令,不真正跑训练:
DRY_RUN=1 bash examples/run_experiment_single_node.sh diffusion/sd3/sd3_trainsideAsync AR 和 diffusion 使用独立的 train/rollout slab:
ENTRY=train_async_ar bash examples/run_experiment_single_node.sh \
ar/qwen3_grpo_4b_base_dapo_sglang_async
ENTRY=train_async_diffusion bash examples/run_experiment_single_node.sh \
diffusion/bagel/bagel_vllmomni_async多机运行
多机 role-aware 启动器:
bash examples/run_experiment_multinode.sh diffusion/sd3/sd3_sglang_rollout_colocate直接调用 Hydra 入口
可以直接调用入口并在命令行覆盖字段:
python -m unirl.train_diffusion \
--config-name=diffusion/sd3/sd3_trainside \
num_devices=8Override 优先级:
CLI Hydra override > launcher env var > YAML default示例 prompt
已提交的 prompt 列表在 datasets/ 下,例如 datasets/pickscore/train.txt(每行一个 prompt)和 datasets/pickscore/test.txt。recipe 的 data_source 默认指向它们。
真实运行时使用所选 recipe 暴露的环境变量插值或 Hydra 字段。例如 WAN recipe 的 prompt 文件:
bash examples/run_experiment_single_node.sh diffusion/wan21/wan21_t2v \
data_source.args.run.data_path=/abs/path/train.json