manifest.json
三种 kind
这里有意没有第四种,特别是没有内置的那种。
为什么平台从不充当判定器
为什么平台从不充当判定器
这个仓库上一次长出内置打分器时,它写了自己的仿真管线和自己的权重,得出的判断和评测侧不一致,最后
被整体回滚。一个住在控制面里的判定器,不管开始时多小,都会是”什么算正确”的第二个定义,而这两个
定义会恰好在最要紧的时候不一致。
契约
不管哪种 kind,解析出来的判定器在平台这一侧长得一样:- rubric
- plugin
- endpoint
prompt、拉平后的轨迹文本,以及任务
的 reference(如果有)。轨迹会替你拉平 —— 字符串还是字符串,message 对象贡献它的 content 或 text,列表会被拼接。
各家 harness 的形状不同,而判定器契约关心的是模型产出了什么,所以这个折叠在这里做一次,而不是
在每个作者的代码里做一遍。判定失败是错误,永远不是零
这是任何写判定器的人最需要知道的一条规则,为什么值得说白:一个被静悄悄置零的奖励,和一个真的 答错了的回答完全无法区分。一次在第 400 步判定器悄悄坏掉的训练运行,会继续产出一条 reward 曲线、 继续看起来合理,并在剩下几个小时里用噪声教模型。 所以在你自己的判定器代码里:VerificationError 并带上失败的那个引用,所以作业日志会点名是哪个判定器停下来、
以及为什么。