更换模型、修改提示词、调整检索策略之后,离线评测分数提升了,是否就可以放心上线?不一定。离线评测集再完善,也只是真实用户行为的近似;只有在真实流量上进行对照实验,才能确认修改是否真正改善了用户体验和业务结果。 A/B 测试是互联网产品成熟的方法论,应用到大模型产品时,需要考虑一些特殊之处。

为什么需要线上实验

  • 评测集覆盖有限:真实用户的问题比评测集更多样,会出现评测集中没有的情况;
  • 评测标准与用户感受存在差距:评测认为更“准确”的回答,用户可能觉得太长、太生硬;
  • 业务指标难以离线衡量:转化率、留存、问题解决率等需要在真实场景中观察;
  • 系统性影响:新方案可能影响延迟和成本,进而影响用户行为。

离线评测与线上实验的配合

两者不是替代关系,而是先后衔接的两道关卡:

  1. 离线评测作为准入门槛:新方案必须在评测集上不低于现有方案,特别是不能在关键类别上明显退化,参见如何构建评测集;
  2. 小流量灰度验证:先对很小比例的流量开放,确认没有严重问题,例如报错、明显的质量下降或安全问题;
  3. 正式 A/B 测试:在足够的流量上运行实验,比较核心指标;
  4. 全量发布与持续监控:实验结论正向后全量上线,并持续监控指标变化,参见大模型应用上线后的监控。

选择合适的指标

核心指标

与产品目标直接相关的指标,在实验开始前确定,不要事后挑选对自己有利的指标:

  • 客服场景:问题解决率、转人工率;
  • 写作助手:生成内容的采纳率、编辑幅度;
  • 搜索问答:用户满意度、后续点击行为;
  • 电商导购:转化率、加购率。

护栏指标

确保新方案没有在其他方面造成损害:

  • 响应延迟;
  • 单次请求成本;
  • 安全事件和投诉数量;
  • 错误率。

诊断指标

帮助理解结果的原因,例如回答平均长度、引用数量、重新生成率。

大模型实验的特殊考虑

输出随机性

大模型的输出本身具有随机性,这增加了指标的波动。需要更大的样本量才能得到可靠的结论。

按用户分组而非按请求分组

如果同一用户在不同请求中随机看到不同版本,体验会不一致,也可能相互干扰。通常应该按用户进行分组,同一用户在实验期间始终使用同一版本。

新奇效应

用户可能因为新版本的回答风格新鲜而短期内更加活跃,但这种效果可能随时间消退。实验需要持续足够长的时间。

长期影响

一些影响需要较长时间才能显现,例如回答准确性对用户信任和留存的影响。可以在实验结束后继续追踪关键用户群体。

成本差异

新方案可能效果更好但成本更高,需要综合评估收益是否值得额外的成本,参见大模型 API 成本优化。

样本量与实验时长

  • 在实验开始前,根据核心指标的基线水平和希望检测到的最小提升幅度,估算所需的样本量;
  • 实验至少覆盖一个完整的业务周期,例如一周,以消除工作日和周末的差异;
  • 不要在实验过程中频繁查看结果并在看到显著差异时立即停止,这会大大增加误判的概率。

常见陷阱

  1. 同时修改多个变量:同时更换模型和提示词,无法判断是哪个变化带来的效果;
  2. 事后挑选指标:实验结束后从众多指标中挑选显著的报告,结论不可靠;
  3. 忽视分组的差异:总体指标提升,但某个重要用户群体的指标下降;
  4. 样本量不足就下结论:小样本下的差异很可能是随机波动;
  5. 忽视护栏指标:核心指标提升,但延迟和成本大幅增加。

无法进行 A/B 测试时

对于流量较小的产品或企业内部工具,可能难以进行统计意义上的 A/B 测试。可以采用:

  • 交替测试:同一用户的不同请求交替使用两个版本,收集偏好反馈;
  • 并排比较:同时展示两个版本的回答,让用户选择更好的一个;
  • 专家评审:邀请业务专家对两个版本的真实输出进行盲评;
  • 前后对比:在条件允许时,比较上线前后相同时段的指标,但需注意其他因素的干扰。

小结

大模型应用的 A/B 测试是离线评测之后的关键验证环节。先用离线评测把关,再通过小流量灰度和正式实验验证核心指标和护栏指标。针对输出随机性、用户一致性、新奇效应和成本差异等特殊问题做好实验设计,避免同时修改多个变量和事后挑选指标等常见陷阱,才能得出可靠的结论。实验过程中的提示词管理可参考提示词工程化。