model-iteration: runDic 单一可信源 + label-master 逐条调用
- 新增 scripts/resolve_run_ids.sh:从 workflow5/ 解析出 SFT_RUNDIC / EVAL_RUNDIC,禁止 agent 心算 +1 - submit_sft_via_cml.sh 拆成 <SFT_RUNDIC> <EVAL_RUNDIC> [PREV_RUNDIC] 三参,yaml 用 SFT_RUNDIC,cml workflow run 用 EVAL_RUNDIC - program.md §746 / §5.2 / §1.2 同步约束,并加 R2 落盘多 +1 的踩坑案例 - §4.0.1 Step A.5 / §4.5 label-master 复核改逐条调用(≤8 路并发),禁止批量塞多条 query Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+42
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
# resolve_run_ids.sh —— SFT/EVAL runDic 单一可信来源
|
||||
#
|
||||
# 规则(与 program.md §746 + §5.2 对齐):
|
||||
# SFT_RUNDIC = workflow5/ 下「已落盘」(含 metric_diff/lark_template.json)的最大 runDic
|
||||
# 即 R{n-1}.runDic —— augment 落盘、SFT yaml、modified_samples 归档全用这个值
|
||||
# EVAL_RUNDIC = SFT_RUNDIC + 1
|
||||
# 仅 cml workflow run 提交本轮评测时使用
|
||||
#
|
||||
# 用法:
|
||||
# eval "$(./scripts/resolve_run_ids.sh)"
|
||||
# echo "$SFT_RUNDIC $EVAL_RUNDIC"
|
||||
#
|
||||
# 失败行为:找不到任何已落盘 workflow 时打 ERR 到 stderr 并 exit 1,调用方 set -e 时直接终止。
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
WF_ROOT=${WF_ROOT:-/mnt/xiaoai-zk-model-train-tj5/workflow5}
|
||||
|
||||
if [ ! -d "$WF_ROOT" ]; then
|
||||
echo "ERR: WF_ROOT=$WF_ROOT 不存在或不可读" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 只挑「已落盘」的 workflow:必须存在 metric_diff/lark_template.json
|
||||
# 这样可以避免 CML 创建了空目录就被算成最大值
|
||||
MAX=$(
|
||||
for d in "$WF_ROOT"/workflow*; do
|
||||
[ -d "$d" ] || continue
|
||||
[ -f "$d/metric_diff/lark_template.json" ] || continue
|
||||
name=$(basename "$d")
|
||||
echo "${name#workflow}"
|
||||
done | sort -n | tail -1
|
||||
)
|
||||
|
||||
if [ -z "$MAX" ]; then
|
||||
echo "ERR: $WF_ROOT 下没有任何已落盘的 workflow(含 metric_diff/lark_template.json)" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "SFT_RUNDIC=$MAX"
|
||||
echo "EVAL_RUNDIC=$((MAX+1))"
|
||||
Reference in New Issue
Block a user