大促评测集遇到问题
单篇讲评测集、讲评分都不稀奇,难的是把它们串起来,让每次模型发版都有一把尺。大促前我在一个电商项目上搭了这么个闭环,这篇把端到端跑通过程和翻车点一起给你。先泼一盆:闭环跑通了,大促当天仍有 0.3%长尾翻车,集子永远有覆盖不到的盲区。
横向比较与选型
评测闭环不是只有"跑个集看分数"这一种,业界还有好几种,各有千秋。
主干是离线回归加门禁,预发加影子加大促专属集压测,放量走 Canary 加监控,全量靠监控加客诉回填。对抗误杀率这种率指标,必须来自线上监控,集子只能给缺陷发现,不能给真正准确率。
不同阶段用哪个:
- 开发期:离线集加回归门禁,每次提交都跑,超阈值直接卡。
- 预发 / 大促前:合对抗集加临时大促专属集压测,再上影子模式接真实流量但不生效。
- 灰度:Canary 1% 到 5% 到 100% 逐步放量,监控告警盯着。
- 全量:实时监控对抗误杀率和客诉率,badcase 回填进集子,让集子长。
闭环方案与对抗策略
一、先合并基线:客服集 + 推荐集
把退款意图集(420 条三层,示意)和推荐相关性集(200 条金标,示意)合并成基线 v1,统一字段:input / 期望 / tier / 评分口径。
这一步的教训:两集评分口径必须对齐。客服用扣分卡(5 分制),推荐用 LLM 1-5 分。我没统一前,跨集对比全是乱的。
二、评分分工:能自动的不用人
客服用"人工 + LLM 混合":核心层人工全检,长尾层 LLM 初评加人工抽 20% 复核,对抗层人工全检(安全不能赌)。
推荐用已校准的 LLM 裁判,但安全项仍人工。
闭环里最贵的是人工,先想清楚哪层必须人、哪层能机器。
三、回归门禁:超阈值就阻断上线
每次模型发版,跑同一基线 v1,看各维度 delta。我们设了红线:推荐相关性跌超 3%、对抗层误杀率涨超 1%,直接卡住不让发(阈值均为示意经验值)。
我踩过的坑:v2 相关性比 v1 涨了 4%,团队高兴,结果对抗层误杀率从 0.5% 飙到 2.5%。幸亏门禁卡住,回滚重训。
但"对抗误杀率"不能靠那 120 条对抗集测出来:120 条里 0.5% 只有 0.6 例、2.5% 只有 3 例,根本分不出这两个率。要稳测 1% 误杀率(±0.5%,95%),需 n = z²p(1-p)/e² = 1.96² × 0.01 × 0.99 / 0.005² ≈ 1522 条对抗样本,差了 12 倍。本文的 0.5%/2.5% 必来自线上大流量监控,不是那 120 条集子。集子只做缺陷发现(有/无)率必须靠线上监控,二者不可互相替代。门禁阈值也应附敏感度计算,别拍脑袋。
四、大促专属集:临时补 50 条压测
大促话术和平时不一样:优惠券叠加、超卖、物流延迟、价保。我在基线外临时加 50 条大促专属 case(示意),压测通过才放量。
结果(脱敏示意):大促当天客诉里仍有 0.3% 是集子没覆盖的长尾翻车。若大促流量 200 万条,0.3% 就是 6000 条漏判。50 条专属 case 想覆盖四类场景及其组合,量级差几个数量级,只能压最显眼的雷,不能 claim 覆盖。
五、怎么对抗:闭环里的四种翻车
- 对抗集子被刷分:回归门禁会被偷偷过拟合集子,定期从线上 badcase 重挖补进集,集子版本化打 tag。
- 对抗长尾盲区:0.3% 长尾翻车避不掉,对抗误杀率、客诉率必须来自线上大流量监控,不是那 120 条集。
- 对抗大促分布偏移:临时补大促专属集压最显眼的雷,承认它覆盖不了全部组合。
- 对抗指标造假:门禁用多指标交叉,相关性跌超 3% 且误杀涨超 1% 才阻断,单指标容易被绕过。
一句话收尾
评测闭环的价值,不是让 AI 不出错,是让每次改动可视、可拦、可回溯。你现在的发版,是靠人肉回归还是靠一把固定尺?
英文术语释义
- shadow(影子模式):用真实流量跑新模型但不生效,只比对结果,上线前安全验证。
- Canary(金丝雀灰度):先放 1% 流量再逐步放量,控制故障爆炸半径。
- A/B 实验:把流量随机分桶对比两个版本,看哪个指标更好,但慢且有风险暴露。
- 混沌工程:主动注入故障(杀节点、断网)测系统韧性,测系统不测模型质量。
- baseline(基线):固定版本,发版前后跑同一集看 delta 的参照。
- 门禁(gate):CI 里超阈值就阻断发布的卡点。
- badcase:模型判错的真实样本,回流进集子补盲区。