报错是这么冒出来的。拿 50 条样本对比 gpt-4o 和 gpt-4.1,均分 82 对 80,团队准备据此换模型,但重跑一次顺序又反过来了,两次差值都在 2 分以内。
中间走过弯路,把「评分标准里主观项占比过高」当成主因,改完现象没变。
把日志和配置对完,能解释这个现象的基本就这几处。样本量太小,置信区间远大于 2 分。少数情况下是两版输出在同一批难题上波动大,方差盖过差异。
还有一种情况,两次运行没固定采样温度与随机种子。
上来先按题目维度统计每条的差值分布
python -c "import json;ds=[json.loads(l) for l in open('cmp.jsonl')];print(sum(d['delta'] for d in ds)/len(ds))"
再往下用配对检验估计差异是否显著
python paired_test.py --in cmp.jsonl --alpha 0.05
然后把样本扩到 300 条再跑一次
python run_eval.py --model gpt-4.1 --n 300 --seed 42
末了对分歧样本做人工复核并更新评分细则
python review.py --where abs_delta>1 --out review.jsonl
怎么算真的好了,看的是同一批现象。配对检验给出的区间包含 0 时不下换模型结论,扩样后若差异稳定再结合成本一起决策。
小样本上两三分之差基本是噪声,先看区间再看均分,否则很容易把随机波动当成模型能力差异。这类问题最好一次改到位,反复小改反而容易把原因搅混。
