分层A/B实验
A/B实验
预先假设我们的推荐系统使用的基准模型是LR(线性回归模型),先如今我们进行实验优化,分别提出了4种策略方案,分别为两种深度学习模型DNN、DCN以及两种传统机器学习模型GDBT、LightGBM。并且我们的代码中有两个开关v1和v2分别控制是否使用深度学习模型与是否使用传统机器学习模型。
为了对比
分层实验
因为上述的4个实验机器对比实验已经占用全部流量,这时我们又想实验Wide&Deep模型的时候,已经没有了流量,这时候难道要下线一个实验么?如果没有分层实验,只有A/B实验的话,确实要下掉一个实验或者减少已有实验的流量。但是分层实验的提出就避免了上述现象的发生; 对实验进行分层:即同一份流量可能同时命中两个或者多个实验,如下图所示,一份流量可以同时命中实验DCN和实验GDBT::
但是这么做需要有一个前提,就是两个层的实验不能互相冲突,每个层只能修改自己的参数,即如果实验DCN和实验DNN同时修改开关v1,则这两个实验必须在同一层,实验GDBT和实验LightGBM同时修改开关v2,层与层之间的划分就看层间参数是否有交集。
流量正交
但是现在还有一个问题,我们虽然确认实验DNN和实验GDBT没有参数冲突,但是无法确定实验DNN和实验GDBT的实验效果是否互相影响。为了解决这种现象,提出了流量正交的概念。
流量正交:实验DCN的流量必须均匀分布在后一层中,这样才能保证实验DCN观察的效果主要是由页面改进带来的效果,同样实验GDBT的流量也必须均匀分布在后一层并且均匀来自于前一层。