-g/--set-grid 声明网格轴(可重复,多轴取笛卡尔积——上例 3×2=6 个变体);-s/--set 是所有变体共用的固定覆盖。每个变体走一次标准提交:校验、配额、排队全部照常生效,不存在绕过配额的批量通道。
先看再提:—dry-run
分组与追踪
- 所有变体带同一个
sweep_id,默认分组名sweep-<实验名>-<时间戳>(-p自定义); - 控制台作业页给 sweep 成员打徽标,项目页按项目聚合曲线对比;
- 一键停止整组:
实践建议
先粗后细
先粗后细
第一轮跨量级扫学习率(1e-6 / 1e-5 / 1e-4),锁定量级后第二轮在量级内细扫。盲目全网格是烧卡最快的方式。
用 --limit 思维控制成本
用 --limit 思维控制成本
sweep 变体建议先把
max_num_steps 降到能看出趋势的最小值(如 200 步),选出前 2 名再全量训练。配额是按变体计的
配额是按变体计的
6 变体 × 4 卡 = 24 卡并发需求。超出配额的变体会排队而不是失败——但也意味着组内变体不是同时开跑的,对比时注意数据版本一致。
早停:砍掉明显没戏的变体
网格里通常有一半配置在前几百步就能看出不行。RL 一跑几十 GPU 小时,让它们跑完是在烧钱。
被停的变体会在作业详情页写明第几步、跟几个变体比、排第几——「被早停」三个字说明不了任何事。
四条刻意的保守取舍:只在梯级上裁决,不逐步比较——每步都比会因为曲线的正常抖动砍掉一个恰好在低谷的变体。只跟到过同一梯级的变体比——拿跑到 100 步的和跑到 900 步的比,比的是谁跑得久。同梯级少于 4 个变体不裁决——两个里砍一个等于抛硬币,而损失是真金白银。每级至少留一个——
--keep 再大也不会把一个梯级上的变体全砍光。部署级急停:FORGE_SWEEP_EARLY_STOP_ENABLED=false 关掉全平台的早停,不用改任何 sweep。