其他
微调检查点发布前的四阶段门禁:用漂移预算…
当训练产出一个检查点、需要决定是否发布微调模型,或已发布模型需针对更新后的黄金集重新门禁时,用四阶段门禁产出 PROMOTE/REJECT 判定报告。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 47/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 47/100 ×0.15
适用场景
微调检查点发布前的四阶段门禁:用漂移预算通用
解决思路
- 准备输入:一个训练好的检查点、来自 eval-harness-first 的 eval/baseline-<model>.json,以及冻结的 eval/drift-suite.yaml;输出为 promotion-report.md,包含四阶段证据和终态 PROMOTE 或 REJECT 判定。
- 按顺序执行四阶段门禁,每阶段门控下一阶段——阶段 2 失败则阶段 3 不运行。
- 阶段 1 数据质量门禁:在任何评估接触检查点之前,对训练集去重、检查评估黄金集泄漏(即 trace-to-training-data 的 Hygiene 部分要防止的失败)、扫描标签噪声;用泄漏黄金集训练的检查点会使后续所有阶段失效。
- 阶段 2 留出集 + 冻结能力漂移套件:对检查点重跑 eval-harness-first 的 eval/drift-suite.yaml(MMLU/GSM8K/IFEval 加 200–500 条领域相邻样本),并按基准逐项与 baseline-<model>.json 对比,对照漂移预算表。
- 阶段 3 与基线的配对竞技场:使用位置随机化的裁判,检查点对基线模型、相同提示词;当测试框架中所有评分器都是确定性的(无 LLM 裁判,位置随机化不适用)时,改用 references/gate-templates.md 中的确定性配对比较变体。留出集胜出但实战竞技场落败的模型不得发布——阶段 2 数字与阶段 3 判断必须一致;冻结黄金集上胜出而配对比较中落败是真实信号,不是可解释掉的差异。
- 阶段 4 金丝雀:对任何进入生产流量的检查点做 5–10% 分层灰度发布并自动回滚;纯本地用户止步于阶段 3——本地部署跳过阶段 4 是正确的停止点,不是走捷径。
- 阶段 2 与阶段 3 共享一次昂贵的推理过程,因此在确定性竞技场上允许并发运行并在判定时按门禁顺序应用(串行化没有节省);基于裁判的竞技场仍应先等阶段 2 完成——真正的节省在那里。
- 应用漂移预算表:≤1 点为噪声,继续;2–5 点需在决定前用种子变化重跑;>5 点为硬失败,任务收益也不例外。>5 点行优先于其他行:目标任务涨 8 点但通用能力掉 6 点的检查点仍在此失败——任务提升永远不能抵消漂移预算违规。
- 样本数由预算而非便利决定:在典型准确率(p≈0.7)下,半宽小于 5 点硬失败阈值一半的严格 n 约为 1,300;n=200 是务实下限(同 p 下半宽 ±6 点,n=50 为 ±13 点)——每次判定都报告半宽,并把小于半宽的边际视为 REJECT (uncertain),而非 PASS/HARD FAIL。
- RERUN 不是判定:2–5 点漂移只有在种子变化重跑完成后才产生 PROMOTE 或 REJECT——PROMOTE 要求回到 ≤1 点(噪声);任何重跑仍 >1 点(无论 2–5 点区间还是 >5 点违规)都将阶段 2 解析为硬 REJECT。任何报告不得在阶段 2 仍显示 RERUN 时进入判定部分。
- 管理灾难性遗忘:未管理的 LoRA 微调会损失约 43% 知识(无回放、无正则化);基础管理(一些回放或保守学习率)约 10%;回放 + EWC 的纪律化做法约 3%;10–30% 通用数据回放混合是标准缓解手段——把通用领域数据混入训练,而非只用目标任务数据。
- 若检查点在阶段 2 触发 >5 点硬失败,按顺序执行升级阶梯:1) 调整回放混合比例——换行而非加行(加行会把比例与总优化步数混淆);小规模运行(<~100 步)下剂量非单调——任何换行后重新检查漂移;2) 降低学习率;3) 减少轮数;4) 减小 LoRA rank——即 lora-qlora-recipes 和 preference-optimization 为训练调优的同一组 rank/LR 杠杆,在此反向应用。
- 把该顺序当默认而非定律:来自单次前后对比运行的补救指导是假设——一旦任何杠杆产生反转就标记为低置信度,并优先做种子变化重复而非盲目信任下一级。某杠杆消除了漂移违规但把成功标准指标压到目标以下,是需人工权衡的双面取舍,不是继续下探阶梯的理由。
- 披露漂移套件指令复用:回放行若复制了漂移测试框架的确切指令措辞(不只是不相交的源样本),会使该基准的回放后分数成为上界——在把接近预算的通过视为干净之前,标记为指令熟悉或用改写重新探测。
- 撰写 promotion-report.md:覆盖全部四个阶段作为章节,必须以终态判定 PROMOTE 或 REJECT 结尾,附产生该判定的证据,且当判定为 REJECT 时恰好给出一条首要补救措施。
- 遵守终态契约:REJECT 是结果而非错误——未通过阶段 2 漂移预算或阶段 3 竞技场比较的检查点完成了它的职责;不要把 REJECT 当作需要重跑本技能的失败运行。
- 只给一条补救措施,不是菜单:证据部分可列出观察到的一切,判定部分按上述升级阶梯指出单一最高杠杆修复;在三个可能修复间含糊其辞的报告没有完成本技能存在的优先级排序职责。
- 不做自动重训:本技能产出判定和报告,不触发训练运行;REJECT 把补救交回 finetuning-method-selection 或相关训练技能处由人工决定。
- 遵循相关技能边界:eval-harness-first 拥有漂移套件和基线(没有 baseline-<model>.json 就没有可门禁的对象);quantized-export 是 PROMOTE 后唯一有效的下一步;preference-optimization 和 lora-qlora-recipes 拥有 LR 和 rank 杠杆;dataset-curation 拥有回放混合构建配方。
适用边界 · 注意事项
- 纯本地部署场景:本地用户止步于阶段 3,跳过阶段 4 金丝雀是正确的停止点。
- 没有 eval/baseline-<model>.json 时:没有基线就没有可门禁的对象,需先由 eval-harness-first 建立基线。
- 不要用本技能触发重训:REJECT 后应把补救交回人工在 finetuning-method-selection 或相关训练技能处决定,本技能不做自动重训。