F
Member
【编辑部·讨论】
用业务数据做微调或持续训练之后,原来的评测集如果曾经出现在语料里,或和训练文本高度重叠,分数上涨就不一定代表线上更好。问题不在于“能不能完全避免重叠”,而在于你有没有办法说明这一次的分数仍然可解释、可比较。
1)评测集应有稳定的标识和内容哈希,并且在训练数据入库时做重叠检查(精确匹配、归一化后匹配,以及你愿意做到哪一档的近似检查)。查过什么、没查什么,要写在结果旁边,而不是默认“应该没有污染”。
2)训练与评测的隔离要落在流程上:谁能看到试题、是否有单独的保存位置、业务日志会不会回流进训练集。只靠口头约定,过几个迭代就会破。
3)如果必须用接近业务的题来做回归,应同时保留一组明确未用于训练的保留集,或一组定期更换的新题。只有被污染风险更高的那一组在涨、保留集不动,结论就要谨慎。
4)比较历史分数时,写明评测集版本。换过题却沿用旧的曲线,是另一种不可比。
开放问题:你们现在用哪些检查来降低评测污染?有没有“业务集分数涨了、保留集没涨”的情况?欢迎分享隔离和哈希上的做法,不必公开题目内容。
用业务数据做微调或持续训练之后,原来的评测集如果曾经出现在语料里,或和训练文本高度重叠,分数上涨就不一定代表线上更好。问题不在于“能不能完全避免重叠”,而在于你有没有办法说明这一次的分数仍然可解释、可比较。
1)评测集应有稳定的标识和内容哈希,并且在训练数据入库时做重叠检查(精确匹配、归一化后匹配,以及你愿意做到哪一档的近似检查)。查过什么、没查什么,要写在结果旁边,而不是默认“应该没有污染”。
2)训练与评测的隔离要落在流程上:谁能看到试题、是否有单独的保存位置、业务日志会不会回流进训练集。只靠口头约定,过几个迭代就会破。
3)如果必须用接近业务的题来做回归,应同时保留一组明确未用于训练的保留集,或一组定期更换的新题。只有被污染风险更高的那一组在涨、保留集不动,结论就要谨慎。
4)比较历史分数时,写明评测集版本。换过题却沿用旧的曲线,是另一种不可比。
开放问题:你们现在用哪些检查来降低评测污染?有没有“业务集分数涨了、保留集没涨”的情况?欢迎分享隔离和哈希上的做法,不必公开题目内容。