当推荐遇到社交:美图的推荐算法设计优化实践( 九 )
目前,我们主要尝试了三种用户行为序列建模的方法,包括 Sum/Mean Pooling 、 RNN 、 Attention 等。在我们的业务场景下,RNN 的离线效果并不理想,原因推测是用户点击 feed 的先后顺序并不存在某种固定的模式,而主要取决于用户对所推荐 feed 的偏好,此外,RNN 的训练耗时也增加比较明显。
Sum/Mean Pooling 的方式虽然简单,但是在长行为序列建模上,效果相比其它两种方式表现得更加优异,因此是我们目前线上建模用户长序列特征的主要手段。
我们也对比了基于 Attention 的方法,离线效果相比 Sum/Mean Pooling 有略微提升,但是考虑到计算复杂度,Attention 只适合于序列长度较短的场景。
在美拍,美图秀秀社区,以及 push 业务都尝试了用户行为序列特征建模,各项业务指标均有较大幅度的提升,美拍人均时长提升了 12%,秀秀的点击率提升了 5%,push 的到达点击率提升了 10%。
随着模型和特征的复杂度显著增加,在线 inference 的耗时已经无法满足业务的要求。为了解决模型推理效率的问题,一方面我们通过 C++ 重写了模型在线推理服务——MML Serving,并在内存和并发上做了大量优化,使得 QPS 和稳定性有了大幅度提升。另一方面,我们实现了多塔网络的模型框架,通过离线预计算 user 和 feed 子网络的输出,并存到 DB 中,在线通过检索 DB 的方式,避免了实时计算 user 和 feed 子网络的庞大计算量。收益也是很明显,其中排序预估耗时从 100+ms 下降到了 7ms,秀秀社区 push 服务预估耗时从单尾号 5 小时降低到了 3 分钟,到达点击率平均提升 23.9%。
推荐阅读
- xyg|XYG晋级S组,还没来得及高兴就遇到了生涯最强的对手,大仙都愁眉苦脸
- 狼队|fly杀伤力有多强?张大仙一句评价太到位,幸好他们没遇到狼队
- 腕豪|LOL:排位选腕豪要BAN掉的五个英雄,遇到第二位,打野来了也没用
- 我的世界|《我的世界》领衔!推荐9款低配置、超耐玩的游戏神作
- 单机|游戏推荐:当前八款最热门的大型单机,都是不容错过的精品游戏
- 游戏推荐|11月游戏推荐,每年的游戏黄金月份,你还在不知道玩什么吗?
- 盖伦|金铲铲:上大分阵容推荐!赌狗阵容变异大嘴湮灭一切!
- 游戏推荐|Steam疯狂周三特惠游戏推荐,每一款都是特别好评!
- 光剑|DNF:鬼剑士武器幻化推荐!光剑首推“灯管”,流光系人气最高
- 传奇|璀璨复古传奇:法师遇到战士只能被按在地上摩擦?道士表示不服