掘金 后端 ( ) • 2024-04-26 11:30

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群

在移动互联网飞速发展的时代,用户规模和网络信息量呈现出爆炸式增长,信息过载加大了用户选择的难度,这样的背景下,推荐系统应运而生,为用户提供个性化的内容推荐。推荐系统在不断迭代中,其算法、策略、特征、功能和用户界面时常得到更新和优化,其中推荐算法的调整尤为关键。然而,由于深度学习模型的广泛应用,推荐算法调整后的用户体验和效果难以通过经验直接判断。

为了更准确地评估和优化推荐系统,A/B实验成为了一个不可或缺的工具。A/B实验能够量化各项指标的变化,从而对推荐系统的效果进行科学评估,并为后续的优化提供数据支持。本文将以火山引擎数智平台VeDI旗下的A/B测试平台(DataTester)为例,介绍抖音集团如何使用其能力,持续实现推荐系统的精准优化。

在推荐系统优化探索过程中,不同算法叠加不同的策略或功能效果,要通过实验参数做功能组合的A/B实验,是找到最优策略的最高效的方式,合理的实验平台及实验配置设计,可以达到几乎不新增加开发工作量的效果。以火山引擎A/B测试DataTester为例,它目前支持Number、String、Boolean、Json类型的实验参数配置,帮助用户直接实现推荐系统策略的不同维度的A/B实验。

以短视频APP电商推荐场景为例,假设商品内容展示的时机不同,会对用户的视频消费时长和电商GMV产生影响,针对此策略的A/B实验可以如下设计:

  • 对照组:视频开始播放时立即展示商品卡片
  • 实验组1:视频播放5秒后展示商品卡片
  • 实验组2:视频播放10秒后展示商品卡片

在上述实验中,火山引擎DataTester可以支持通过实验参数的调整,直接实现对照组、实验组1、实验组2的分组。通过在代码中解析参数并实现视频播放x秒后展示商品卡片,即可完成实验。若后续要新增如“视频播放8秒后展示商品卡片”的实验效果,也无需修改代码,仅需要继续增加一个新实验参数的实验即可。在此基础上,可以创建几十组甚至更多组不同参数值的实验,并取得最优策略,而过程中几乎无需耗费额外的开发人力。

需要注意的是,由于实验参数是一个功能控制配置,因此在进行A/B实验参数设计的时候需要避免一个误区:不要按实验设计的维度来设计实验参数,而要按照功能控制的维度进行实验设计。 这一点在移动端APP实验中尤为重要,因为APP产品通常发版周期长,变更频率低,而有了功能控制维度的实验参数,就可以在不发版的情况下,随时开启多组不同参数的A/B实验,筛选最优参数组合在线上生效。

火山引擎DataTester作为火山引擎数智平台VeDI旗下的核心产品,源于字节跳动长期的技术和业务沉淀。目前,DataTester已经服务了上百家企业,包括美的、得到、博西家电、乐刻健身等知名品牌。这些企业在业务环节中得益于DataTester的科学决策支持,实现了业务的持续增长和优化。

点击跳转DataTester了解更多