跳到主要内容

当评估指标全看“感觉”时,你的 A/B 测试无法区分两个模型

· 阅读需 9 分钟
Tian Pan
Software Engineer

你在实验中上线了一个模型替换。两周过去了,控制面板只变动了 0.1%,读数显示“无显著差异”。你得出结论,新模型与旧模型基本相同,然后继续进行其他工作。

它们并不相同。你的指标从未敏感到足以区分它们。

这是 AI 功能 A/B 测试中一种悄无声息的失败模式。统计机制完全按照设计运作。随机化很干净。样本量足够大。p-value 是诚实的。然而,实验仍然无法区分一个用户深爱的模型和一个他们仅仅是容忍的模型,因为实验唯一衡量的是他们是否点击了。

AI 的 A/B 测试首先是一个测量问题,其次才是统计问题。大多数团队直接跳到了统计环节。

即使人类评价差异巨大,点击率在不同模型间也几乎持平

将两个模型的输出交给一组用户,问他们更喜欢哪一个。你会得到一个明显的赢家,而且通常差距巨大。现在,通过你的参与度仪表盘进行同样的对比。点击率 (Click-through rate)、任务完成率、会话时长——它们几乎没有任何变动。

原因是点击率所衡量的东西位于模型质量的上游。用户点击是因为他们有问题,而不是因为答案好。他们完成任务是因为他们带着完成任务的意图而来。他们留在会话中是因为接下来的 30 秒内他们无处可去。参与行为发生在模型产生任何内容之前;参与度指标是意图的函数,而不是输出的函数。

坏答案和好答案都可以产生点击。它们的区别在于“接下来发生了什么”,而“接下来发生了什么”恰恰是大多数产品分析工具套件没有监测的部分。你看到了点击和下一个会话,它们被一个包含用户对模型实际体验的鸿沟隔开了——而你对这个鸿沟的任何一端都没有进行足够分辨率的测量,从而无法捕捉到信号。

这与传统产品实验在内容质量变更时遇到的陷阱是一样的。重新设计的文章页面不会对跳出率产生太大影响,因为跳出率衡量的是读者是否到达,而不是他们是否得到了想要的东西。AI 功能位于该鸿沟的更深处。你运行实验所用的指标,与你真正想要改变的东西之间的距离甚至更远。

劣质答案与导致流失之间的延迟

当模型变差时,用户不会在那天离开。他们离开是在三周后,直到累积的体验达到了每个用户个体对“这对我没用”的忍耐阈值。损害是真实的,金钱损失也是真实的,但它们被平摊到了一个足够长的时间窗口内,以至于任何为期两周的 A/B 测试都无法察觉。

这是滞后指标 (lagging-indicator) 问题最刻薄的表现形式。你最信任的指标——留存用户、付费用户、回访用户——恰恰是记录变化所需时间最长的指标。等它发生变动时,实验已经结束一个月了,新模型已经推送给所有人,剩下的唯一信号就是曲线正在向下弯曲,而没有人能证明原因。

反向的情况也同样糟糕。你发布了一个更好的模型,运行了实验,却没看到任何变动,于是得出结论:没有改进。三个月后,留存率上升了两个百分点。没有人将其归功于模型替换,因为实验报告说它毫无作用。

这不是通过增加流量就能解决的统计功效 (statistical-power) 问题。信号并没有被掩埋在噪声中。在你查看仪表盘的那一刻,信号确实还不存在。延长实验时间只有在延迟短于你的耐心时才有用,而对于大多数 B2C 产品来说,事实并非如此。

比留存率变动更快的代理信号

解决办法不是放弃实验。解决办法是停止使用衡量意图的指标进行实验,开始使用衡量不满的指标。不满是模型直接导致的内容,用户会立即察觉,通常就在同一个会话中。

加载中…
References:Let's stay in touch and Follow me for more thoughts and updates