如何实现多实验并行迭代,谈阿里妈妈的 A/B 测试实践

  下图是整个实验的配置文件的示意图。

物联网

  整个引擎的实验根据需要分为了PC和无线两种场景,分别进行策略优化和调整。根据算法实验的需要,在两种场景下均分为了两层(QR和Rank层,QR是Query Rewrite)。每一层中均包含了三个实验。每个实验均是一些实验参数的集合,例如,exp 100包含的参数有qr_plan=5,qr_weight=3。Exp 103包含的参数为rank_level=2,rank_stragety=9。

  使用这个配置文件,一个用户请求发过来之后,如果根据acookie分流计算得出此请求恰好落入PC场景的exp 100和exp 103这两个实验,则返回的bucketID应当为100_103,参数集合为qr_plan=5,qr_weight=3,rank_level=2,rank_stragety=9。BucketID可以记录在日志中,后续进行日志统计和分析使用。日志统计分析时按下划线把BucketID切割开,然后用Storm进行实时统计各个实验的情况,也可以用Hadoop进行离线的日志分析处理。对于在线引擎,各个实验点根据实验参数的值决定使用哪种策略和模型参数。

  总结

  本文参考现有的关于在线服务系统实验方法论文基础上,结合广告系统的特点,实践出了一套有效的可以复用流量支持并行实验的方法。该方法也可以解决灰度发布的问题。该套系统极大提高阿里妈妈所有的业务线应用的实验效率。

  未来工作

 

  未来,分层实验平台计划将实验配置系统、实时实验结果分析和离线日志分析系统进行更好地整合,给实验用户带来一站式服务的良好体验,使得配置实验、发布生效、实时观察实验结果在几分钟之内即可完成。同时也在探索将这套系统平台开发给淘宝商家,商家便可以使用这套系统清楚看到两种不同文案设计带来的点击率以及成交率的差别,从而更好地设计自己店面图片和文字。