展开本页目录
开始前准备什么
- 下载完整练习包,在独立目录阅读README与已执行范围。
- 安装requirements.txt指定版本或使用文中目标工具;依赖与模型权重不要混入网站工程。
- 只有明确标为已执行的部分有本次证据;真实模型、账号或GPU步骤按自己的环境另行验证。
- 定义可验证的最终答案协议
- 执行真实作者奖励函数
- 审计格式投机反例
- 按verl签名包装compute_score
- 在训练前离线运行样本集
- 在目标训练中保留原始completion
- 交付函数、真值和负例
1. 定义可验证的最终答案协议
要求整段只含一个answer标签,数值按Fraction比较。2/4与1/2等价,不能因为字符串不同给错分。
2. 执行真实作者奖励函数
audit.py实际计算五例,只有eq得1,其余0。它是可运行奖励逻辑,不是模型训练或verl采样结果。
本题独立目录执行
python reference/audit.py3. 审计格式投机反例
spoof同时出现0和1/2,missing无标签;简单contains会误奖。零分母也应返回0,不能异常中断整个批次。
本题SDK或目标环境入口
python reference/run_sdk.py4. 按verl签名包装compute_score
目标版本需要data_source、solution_str、ground_truth、extra_info等参数时显式适配;不丢弃来源字段或把缺失真值默认为正确。
5. 在训练前离线运行样本集
用同一函数跑JSONL并检查确定性、异常、耗时和边界。不要让奖励函数访问网络或对任意输出直接eval。
6. 在目标训练中保留原始completion
真实RL运行后保存response、ground_truth和reward,检查模型是否利用协议漏洞。固定五例通过不能证明奖励不可投机。
7. 交付函数、真值和负例
包内提供可直接调用的compute_score及独立断言,没有模型权重或verl训练回执。新增等价数值类型要先扩展测试再上线。
怎样确认已经完成
- 0.5与1/2等价
- 多填无关数字不误奖
- 单测不冒称RL训练完成
- 已实际执行原创Fraction奖励函数及等价/多答案/缺标签/零分母反例;未运行verl训练、采样或真实模型。
常见问题
verl自定义奖励函数怎么识别等价答案?
用安全解析的Fraction比较数值,2/4与1/2等价。分发的compute_score已实际运行,不用eval执行模型输出。
模型靠格式投机拿高分,奖励函数怎么加反例检查?
要求完整且唯一answer标签,多标签、缺标签、错误分数、零分母都给0,保留反例集。本包五例只有等价分数得1,未运行verl训练。
这篇教程哪些步骤已经真正执行?
已实际执行原创Fraction奖励函数及等价/多答案/缺标签/零分母反例;未运行verl训练、采样或真实模型。



