用途
eagle3-validate 用于验证一次 EAGLE3 流水线运行是否端到端成功完成,并检查其是否满足质量判定标准。该技能面向 NVIDIA model-optimizer 的 EAGLE3 流水线,适合在流水线运行结束后执行验收与诊断分流。
主要能力
定位实验
技能会查找最近的实验目录,或向用户询问路径:
ls -td experiments/cicd/cicd_* | head -5
每个实验目录下按任务编号(0–3)各有一个子目录,其中包含日志文件;日志文件名随启动方式不同而变化,Slurm 为 sbatch_*.out,本地 Docker 为 *.log。
检查任务结果
技能会匹配并读取各日志文件的尾部:
find experiments/<exp_id>/ -type f \( -name '*.out' -o -name '*.log' \) | sort | while read -r f; do
echo "=== $f ==="; tail -50 "$f"; echo
done
4 个任务都必须无错误完成。判定依据包括:exit code: 0 或无错误视为成功;DUE TO TIME LIMIT 视为超时;FAILED / signal / exception traceback 视为失败。若有任务失败,技能会建议运行 /eagle3-triage。
核对工件是否存在
技能检查每一步是否产生预期输出(工件位于集群的 /scratchspace/),并通过日志消息确认:
- task_0:日志出现 "Saved N samples" 或进度条完成,工件为 /scratchspace/data/*.jsonl
- task_1:日志出现 "Successfully processed N conversations",工件为 /scratchspace/offline_hidden_states/*.pt
- task_2:训练损失下降、出现 "export complete",工件为 /scratchspace/eagle3/model.safetensors 与 /scratchspace/export/
- task_3:出现 Average Acceptance Length ... ratio: X.XX,工件为 JSON 结果文件
检查接受率
在 task_3 日志中查找:
Average Acceptance Length {'accept': X, 'count': Y, 'ratio': Z.ZZ}
其中 ratio 字段即接受率(AR)。判定标准:AR(MT-Bench)大于等于 2.1 为 PASS,否则为 FAIL。如果日志显示 AR ... < lower bound,说明运行已触发阈值失败(退出码 1)。
检查训练质量
在 task_2 日志中查看:
- 最终训练损失:应呈下降趋势,且不为 NaN
- 训练期间的 AR 验证(若设置了 training.ar_validate_steps)
- 训练步数:确认完成了完整训练时长
生成验证报告
技能按固定模板输出报告,包括:实验目录、模型名、日期、流水线配置路径;0–3 各步骤的状态表(PASS/FAIL/TIMEOUT 及备注);接受率(MT-Bench AR、阈值 >= 2.1 及 PASS/FAIL);训练摘要(最终损失、训练步数、训练期间 AR 若已验证);以及总体 PASS/FAIL 与单行总结。
建议后续步骤
- 若 PASS:建议将已验证结果(及检查点路径)记录到团队内部 triage 跟踪器;该模型可作为候选,通过专门 PR 添加为启动器示例。
- 若 FAIL:指出失败的具体步骤或指标,建议运行 /eagle3-triage 进行诊断。对于低 AR,需要从运行中诊断具体原因(训练损失曲线、数据量与质量、草稿头容量、超参数),并针对该场景给出修复建议;低 AR 可能由多种原因造成,因此应避免使用通用检查清单。
适用场景
适合在 EAGLE3 流水线(数据合成、隐藏状态导出、训练与导出、基准测试)运行结束后,用作统一的验收检查与结果归档环节,并作为进一步诊断(eagle3-triage)前的分流判断。
限制
技能说明中的路径与文件名(如 experiments/cicd/cicd_*、/scratchspace/)基于该流水线的默认布局,实际使用需按现有运行环境对应确认。关于收费、价格、支持的平台、具体安装步骤以及效果保证,资料中暂未提供。