experiments/my-grpo/config.yaml
tp validate 和 tp submit 解析这个文件用的是集群侧
launcher 用的同一份代码。
custom 作业如果 train.sh 从不读这个文件,可以完全不理它。catalog 方法总是读。
defaults 怎么解析
defaults 里的条目是相对这个文件的路径。每一条都递归解析,所以基线自己也可以有
defaults。后面的条目压过前面的,实验文件里的键最后压过所有。
脚手架最上面那段注释列出人们改得最多的键,范围取自 recipe。它是一张便签,不是配置。
哪一层说了算
四层,后面压过前面:TUNEPLANE_CLUSTER_NUM_NODES 和
TUNEPLANE_CLUSTER_GPUS_PER_NODE 覆盖节点与卡数。从四张卡换到八张是换一个 --profile,从来
不是改配置。
--set 在任何东西上传之前就按 recipe 声明的参数做类型检查。拼错的键在你自己机器上就失败。
整体替换一个映射,而不是合并它
默认是深合并。在某个映射里放_override_: true 可以整体替换它。这个标记会被剥掉,不会到达
训练器。
插值
${...} 的值保持字符串,tp validate 会跳过对它们的数值检查 —— 它看不到值。检查本地数据路径
是否存在时,有两种形式会被识别:${oc.env:GSM8K_DATA_DIR}/train.jsonl 和
${GSM8K_DATA_DIR}/train.jsonl,名字限于 GSM8K_DATA_DIR、ALPACA_DATA_DIR 和
QA_RL_DATA_DIR。其他含 ${ 的内容原样保留。