Etsy使用交错新算法实现更快的ML实验


在线实验在产品开发中起着核心作用。Etsy 写了它如何使用交错实验测试来捕捉用户在个人层面的偏好。

在Etsy,我们的产品和机器学习 (ML) 团队一直在努力改善我们买家和卖家的体验。他们产生的创新必须经过测试,以验证他们做了我们希望他们会做的事情。
在引入产品或算法更改时,团队会针对在线流量进行实验,以评估其是否对当前用户体验产生了改进,如通过关键指标衡量的那样。这些实验通常是“黄金标准”A/B 测试。
但在某些情况下,我们还使用了一种鲜为人知的实验设计,称为交错。
对于产生有序结果的 ML 模型,交错可以在运行等效 A/B 测试所需流量的 10% 或更少的流量上显示用户偏好,从而使我们的团队能够更快地进行实验、学习和迭代。

衡量新算法的影响
考虑一下我们如何测试一种新算法(或“模型”或“排序器”)以产生搜索结果(按特定顺序排列的一组列表)。在 A/B 测试中,访问者被随机分为两组。A组(控制)提供旧算法产生的结果,B组(变体)提供新算法产生的结果。我们分别计算对照组和变异组的平均行为,并进行统计比较。如果新排名的影响非常积极,我们通常会将其推广给所有访问者。
然而,在交错测试中,我们的目标是检测单个访问者级别的排名者的偏好,而不是比较看到不同体验的两组的平均行为。

为了衡量访问者更喜欢两种算法中的哪一种,交错通过两种算法运行每个搜索查询,并同时呈现两组有序结果,衡量哪个排名器吸引了更多的参与度。为了同时呈现这两个结果,我们将它们编织在一起,就像一副纸牌的两半被洗牌一样。

对于访问者来说,这不过是一个标准的搜索结果列表。但是我们会跟踪哪个结果来自哪个模型,如果访问者进行了购买,这会给我们一些关于他们偏好的数据。在将这些交错的搜索结果呈现给大量访问者之后,我们了解这些偏好迹象是否更频繁地出现在一个模型上而不是另一个模型上。

在交错实验中,我们不会像在 A/B 测试中那样将访问者随机分配到不同的体验中。然而,我们需要包含一些随机性,以确保来自一个排名的列表不会获得优先放置,这可能会扭曲我们的数据。

交错速度很快
与 A/B 测试相比,交错的主要好处是它的速度。那些熟悉配对和非配对 t 检验之间差异的人可能会在这里看到概念和速度相关的平行。A/B 测试和非配对 t 检验(可用于 A/B 测试)需要较大的样本量来控制单元间差异并实现组间有用的比较。然而,交织和配对 t 检验通过测量单元内的差异、有效地隔离和识别感兴趣的影响,显着减少了这种变化的影响。

在 A/B 和交错之间的比较中,我们发现交错实验的流量减少了 10 到 100 倍,因此可以更快地为同一问题提供 10 到 100 倍的答案。这种改进可以转化为每年节省的数十个实验天数,为团队腾出空间来对原本无法访问测试流量的模型进行实验。

然而,交错并不是 A/B 测试的简单替代品。有些重要的事情它不能做。我们只能交错排序的结果集,例如排名算法。例如,我们不能使用交错来测试不同颜色背景的影响或通知是否会驱动某种行为。此外,我们无法像使用 A/B 测试那样测试模型之间的延迟差异。这是因为交错必须等待较慢的算法生成结果,然后才能将两个排序列表编织在一起。

详细点击标题