ab实验平台,ab实验平台实测价值?( 六 )


方案3:通过在算法业务层跟AB测试服务交互来实现AB测试能力,不需要前端和接口层做任何处理【ab实验平台,ab实验平台实测价值?】该方案通过在具体业务中整合AB测试能力来做AB测试,我们团队采用该方案 。该方案比较适合算法类(推荐算法、搜索算法、精准投放、精准运营等)相关业务做AB测试 。具体架构见下面图7 。
图7:通过算法业务层来进行AB测试的实现方案
需要做AB测试的业务模块通过调用AB测试服务来实现AB测试能力,具体AB测试的实现放在业务中实现(如在推荐推断时,推荐程序在为用户计算推荐结果过程中访问AB测试服务,确定用户对应的分组) 。当然,可以将这些处理AB测试的操作或者模块封装成Jar包,方便各个业务方共用,提升AB测试落地效率 。
该方案的好处是(拿推荐来说)前端和接口层不做任何处理,只需在业务中实现AB测试能力,并且不需要根据AB两组分别对全量用户计算推荐结果,也不需要为全量用户分别存储AB两个算法的推荐结果,大大减少计算时间和存储开销 。
到此,我们讲完了所有AB测试架构实现方案 。本节我们只是给出了架构实现的架构图,并对各个方案的优缺点做了简要说明,并未具体说明怎么真正实现 。在下面一节,作者以我们团队的AB测试实现方案为例来详细说明该怎么实现AB测试平台 。
七,推荐系统业务AB测试实现方案前面提到我们公司大数据与人工智能团队的AB测试就是基于方案3来实现的,目前在推荐搜索等算法业务中大量采用,效果还不错,在本节我详细说明一下具体的实现逻辑,方便大家作为落地的参考 。
我们用个性化推荐(如兴趣推荐,见下面图8,对于相似推荐也适用)来说明怎么利用方案3来做AB测试 。个性化的兴趣推荐是为每个用户推荐一组视频 。

ab实验平台,ab实验平台实测价值?

文章插图
图8:个性化的兴趣推荐,为每个用户生成推荐结果
下面图9是推荐算法接入AB测试框架的业务流,下面我们对下图中标注数字的4处交互逻辑做简单说明,方便大家全局理解整个AB测试交互逻辑 。
图9:推荐算法接入AB测试框架(方案3)业务流
对于图9中标注数字1的部分,我们的AB测试配置人员先在AB测试管理平台配置AB两类算法(可以是多个算法同时进行AB测试)的占比, 见下面图10(homePagePersonal是首页的个性化推荐,有三个算法,其中streaming-als比例为0,streaming-long-videos-v1比例为0.1,streaming-long-videos比例为0.9),这时AB测试服务检测到了AB测试配置文件有改动,会将对应的新的AB测试配置(或者老的配置的调整)更新到AB测试服务,更新后,算法业务调用AB测试服务时就会获得最新的用户分组 。
图10:通过XML格式来配置各个算法的比例
这时具体的业务逻辑调用AB测试接口(我们的接口的url为
http://ab.tvmore.com.cn/config/abTest?userId=82073570&version=moretv,算法业务调用该接口后返回的json类似图11)时就会基于新的分组比例计算某个用户或者视频对应的是哪个分组(算法),不同的分组采用不同的算法来计算推荐列表,参见下面图11中红色虚线框中部分,某个用户的guessulike业务(猜你喜欢业务)对应的是seq2seq算法(基于keras+rnn算法),可能另外一个用户得到的是另外一个算法 。我们的AB测试框架中的分组算法保证按照配置的各个算法的比例来分配,将所有用户大致按照该比例分配到对应的算法 。
图11:调用AB测试接口获取某个用户对应的推荐业务的算法
对于图9中标注数字2的部分,算法业务根据某个用户所属的算法分组,对该用户利用该算法计算推荐结果,并将结果存于最终的推荐库中 。参考下面图12中的流程 。该步骤做完后,每个用户的推荐结果就会存储在数据库中,同时我们会在推荐结果数据库中为该用户的推荐结果增加两个字段,一个biz,一个alg,biz是对应的推荐业务(如相似影片、猜你喜欢等),alg是对应的算法(如seq2seq等) 。