在爱奇艺业务生态里,“用户”和“内容”是两个核心词汇,虹吸了我们大量的时间和精力。查同学所在的推荐团队,就是利用机器学习技术为用户找到其感兴趣的内容,为内容找到可能对其感兴趣的用户。这简单的原理背后却是极复杂的算法计算和海量的数据处理,是使命中的“让快乐简单”。
接下来,就让我们听听查同学和他推荐算法的故事吧。
查同学2014年加入爱奇艺推荐团队,这6年来一直在做推荐算法工作,做推荐算法,就是要设计大量高效、优雅和奇妙的算法,并利用算法更快更准确地计算出视频的属性、用户的属性,并在特定的环境下从海量信息中筛选和推荐出用户感兴趣的内容。
(图为:推荐算法演示图)
“快”是推荐算法所追求的,早期时我们使用的还是离线推荐框架,与业务刚刚兴起的信息流模式下的在线推荐相比,相当于自行车遇到了汽车,速度不是一个量级的。于是,我们开始研究升级我们的技术架构。当时业界还没有特别成熟的实践案例做参考,我们只能一步步地摸索。记得上线初期,由于QPS(Queries-per-second,每秒查询率)高、更新频繁,线上接口访问数据库,在高峰期时有大约4%的超时率,这对我们线上服务造成非常大的压力。我们当时从各种维度去分析性能的瓶颈,从数据源头做预处理、数据库分库、主从备份、引入二级缓存、用户ID hash分流等各个维度去尝试优化。最终将线上服务的高峰期超时率控制在0.3%以下。当时,只有3个同学做在线推荐,但最终通过大家的努力和公司各部门支持,我们几经迭代,将小时级别的推荐频率提高到十几秒,又提高到几秒,最后实现实时在线推荐。这也就意味着,你随时可以刷新出当下最感兴趣的视频内容,而你每一次行为也会直接影响着下一次刷新出的内容。当下这个进步还是非常明显的。
用户在线实时刷新的背后,是我们实时地采集、清洗、存储海量的数据的努力。我们需要对用户观看的视频内容进行实时分析,也需要给用户实时地打上更多标签以识别用户偏好,然后再对用户和内容进行实时匹配。这也要求我们有足够强大的底层技术框架、数据管理和运算能力。为此,我们的数据分析从线下手动模式转化为线上自动模式,又升级为单独的数据中台,架构也从传统的MR陆续升级为实时的kafka、spark-streaming、flink等。目前我们已经能支持每秒处理几十万条数据的需求,实现了让用户兴趣实时更新,向用户推荐的内容也更加精准,也就是说我们更懂用户了。
努力避免用户对特定内容的过度沉浸,这是我们对用户负责任的体现之一。用户喜欢看什么,我们就推荐什么,这是个性化推荐,用户可能喜欢什么,我们推荐什么,这是多样化的推荐。我们会基于对用户理解,推荐给用户那些可能感兴趣的内容,帮助用户探索多元化的兴趣,让生活更精彩。当你偶尔疑惑,为什么推荐给我某个内容时,你的兴趣或许会因此而更加多元了哦。
社区化是随刻发展的重要方向,我们不单纯地追求高流量,也会追求打造UP主与用户之间的生态平衡。为此,我们尝试利用推荐算法把粉丝与UP主更紧密的连接起来,促进社区互动,提高私域流量。
在个性化推进时,如果你关注了某个UP主,我们会推荐同类型的UP主给你;UP主发布内容,我们会将新内容推送给你;你的观看、点赞、评论、转发会让UP主更有创作动力,同时也会丰富你的社交圈,打造良好的社区生态。当然,我们只会重点推荐高品质、正能量的内容给用户,这也是爱奇艺愿景中“伟大”的内涵在算法上的具体体现。
在一个季度的私域流量的优化之后,随刻信息流的私域流量曝光占比提升了127%,私域的消费时长也提升了37%,在满足用户的私域需求同时,也提升了创作者的创作动力。在推荐技术的持续迭代中,我在工作上也从技术小白到了技术大白,感谢公司给了我不断学习试错和持续积累的机会。在这一过程中,我有两个重要感悟分享给大家。不管做什么工作,我都习惯性的先问为什么做?背景是什么?目标是什么?很多时候捋清楚要做什么,我们才知道怎么去做。
现在我带领几个同学一起工作,在和大家讨论工作时,我也努力让团队同学知道,他做每一件事情的原因、接的每一个需求的预期,同时也让合适的人去做合适的事。希望大家可以干的开心,有所成长。
(图为:团队合影)
做技术工作的,必须保持好奇心,追求新鲜感,需要紧跟技术前沿,确保技术不掉队。在信息获取相对容易的今天,平时喜欢看看论文,逛逛技术论坛,保持专业技术上的持续学习。
对于技术管理者而言,也要紧跟技术发展,不能做纯粹的管理。长久地脱离一线会很难把握技术团队的方向。这也是我个人的经验总结。六年前,爱奇艺还是行业追随者;六年后,我们已经在一些方向上引领这个行业,这是一件令人自豪的事情,期待公司未来发展越来越好。
也许你还想看