一个团队改了提示词,评测集100道题,旧版得分78,新版82。Slack群里欢呼,部署日志里记了一笔,改动直接上线。两周后,客服工单没变化。那4分的"提升",不过是100道题里4道答案变了。样本这么小,4分完全在噪音范围内。同一套提示词换一天重跑,波动都不止这点。团队测的不是改进,是抛硬币的正反面。
这是生产环境LLM评测里最便宜、最常见的错误。解法不是换更好的评判模型或更复杂的指标,而是把评测集做大——大到4分差距真有统计学意义。这是个有标准答案的数学题。
通过率评测本质是二项分布。每道题是一次伯努利试验:对或错。得分是样本比例。n=100、p=0.80时,比例的标准误约为√(0.80×0.20/100)=0.04。95%置信区间约±2×SE=±8个百分点。再看一遍:100道题、80%通过率,真实通过率有95%概率落在72到88之间。两个提示词4分的差距,不到噪音的一半。
这还是单次运行。要检测提示词A和B的差异,需要两个置信区间不重叠。差异的标准误随双方方差增长,门槛更严。n=1000时,95%区间缩到约±2.5分;n=5000时,±1.1分。评测成本随n线性增长,但判决精度随√n增长。要么花钱买样本,要么别下结论。
你真正需要的数字是:检测Δ大小的差异,显著性α=0.05、统计功效1−β=0.80,需要多少样本?两组比例比较的闭式解为:n_per_arm≈[z(α/2)×√(2p̄(1−p̄))+z(β)×√(p1(1−p1)+p2(1−p2))]²/Δ²。其中p̄=(p1+p2)/2,Δ=|p2−p1|,z(0.025)=1.96,z(0.20)=0.84。
代入几个场景:想从80%提升到84%(Δ=0.04),每组约需2000题;想从80%提升到85%(Δ=0.05),每组约需1200题;想从80%提升到90%(Δ=0.10),每组约需300题。差距越小,需要的样本越夸张。很多团队的评测集规模,根本撑不起他们想检测的细微改进。
更隐蔽的问题是多次比较。如果你试了10组提示词,挑最好的那组上报,假阳性率就不是5%而是40%。没做多重检验校正,就是在数据里钓鱼。还有时间漂移:模型版本更新、温度参数波动、甚至API端的负载均衡,都会让同一套题得分飘移。评测集不够大,信号永远埋在噪声里。
代码已经写在那里。算清楚再测,测够了再上线。否则那4分差距,不过是随机数生成器的余温。
热门跟贴