当推荐遇到社交:美图的推荐算法设计优化实践

2023-05-26 0 527

译者:曾燠 责任编辑是雷蛇高阶演算法研究者曾燠的一则该文,重点项目如是说了SNS互联网大背景下所推荐演算法遭遇的考验,和应

译者:曾燠

责任编辑是雷蛇高阶演算法研究者曾燠的一则该文,重点项目如是说了SNS互联网大背景下所推荐演算法遭遇的考验,和应对的方法。

在雷蛇公司SNS战略目标下,所推荐演算法存有多各方面的考验,为了解决这些考验,他们项目组从辅助工具和演算法两个各方面依次开展了组织工作。

在辅助工具上,他们合作开发了 MML 机器学习网络平台,提供更多从数据挖掘到数学模型新浪网服务的全流程合作开发及布署支持。如前所述 Tensorflow,他们内部暗鞘了 Bamboo 可视化架构,提供更多了丰富的 SOTA 数学模型,常见 Layers 和其他可视化所需的模块,数学模型app评估结果等,让演算法技师著眼互联网结构的结构设计。

在演算法上,他们将所推荐次序的重构分割成五个期,从非线性数学模型+大规模育苗女团特点,到非线性数学模型+小量育苗特点,再到广度学习数学模型+使用者行为字符串特点,最后是从单最终目标强化到多最终目标强化。所推荐次序五个期的重构,又可以概括为四个各方面的组织工作,依次是数学模型强化、特点工程,和多最终目标强化。

总和时数 10.33%。在这一年的课堂教学中,他们展开了很多的试著,在这里也和我们撷取他们过去的许多试著和踩过的许多坑,希望能让我们有所斩获。

所推荐演算法的技术考验

目前,雷蛇公司旗下拥有数款SNS商品,比如说雷蛇秀秀街道社区、美拍短音频街道社区等。特别针对这三款SNS商品,不管在文本上还是商品大背景上都有着自己的特点。比如说雷蛇秀秀从辅助工具向街道社区结构调整,怎样让使用者展开文本消费需求并且产生持续消费需求成了他们需要重点项目考量的问题。而对于美拍,使用者本身有极强的文本消费需求特性,在存留的基础上怎样吸引更多的使用者是当前主要的考量点。

特别针对多个不同形态的SNS商品,所推荐演算法存有以下四个各方面的考验:

情景多,物力少:数款SNS化商品总计数十个所推荐情景,在当前的物力下,组织工作量是比较艰巨的;

情景、使用者差异大:不同情景下,使用者的消费需求习惯和使用意图,和文本的特性存有比较大的差异,比如说,雷蛇秀秀街道社区以图文为主,美拍以短音频为主,导致不同情景下的数学模型不能简单复用;

产品、最终目标迭代快:使用者的生活习惯不是一成不变的,他们的SNS商品也时刻处在不同的发展期,需要根据使用者的诉求,和他们商品的发展需求及时调整所推荐演算法的强化最终目标。

为了解决上述考验,他们依次从辅助工具和演算法两个方面入手。在辅助工具上,去年他们合作开发了 MML 机器学习网络平台,提供更多从日志处理到数学模型新浪网服务的一站式解决方案。在演算法上,他们在雷蛇所推荐情景上展开了良好的课堂教学,特别针对目前存有的问题和商品的需要,展开了很多有益的

辅助工具篇:MML 机器学习网络平台

MML,全称 Meitu Machine Learning Platform,是一站式机器学习服务网络平台,为使用者提供更多从数据预处理,特点与样本生产,数学模型构建、训练与评估结果和数学模型新浪网服务的全业务流程合作开发及布署支持。其网络平台架构图见图一。

当推荐遇到社交:美图的推荐算法设计优化实践

图一 网络平台架构图

MML 机器学习网络平台包括四个主要模块:

Spark Feature:负责数据挖掘、特点工程,和样本拼接。Spark Feature 如前所述 Spark SQL 展开合作开发,使用者通过编写 SQL 和配置样本拼接 JSON,即可实现特点和样本生产的组织工作;

Bamboo:如前所述 tensorflow 合作开发,负责数学模型训练、app效果评估结果。Bamboo 实现了所推荐领域大量的 State of the Art 的数学模型,并且提供更多了丰富的 Layers,以简化演算法同学的可视化组织工作。在训练各方面支持多种并行训练方式,同时通过对代码的强化实现了较高的训练效率;

MML Serving:负责数学模型的新浪网服务。底层通过 C++ 实现,在内存和并发上做了大量的强化,支持同时请求多个数学模型,和新浪网热更。灵活的架构让他们能够很方便地接入各种机器学习架构训练的数学模型。

Bamboo

如果说 Spark Feature 和 MML Serving 是 MML 机器学习网络平台的手和脚,那么 Bamboo 就是 MML 机器学习网络平台的大脑。Bamboo 负责机器学习数学模型的训练和效果评估结果。他们底层采用 tensorflow 合作开发,对外提供更多封装好的模块。总的来说,Bamboo 具有以下优点:

便捷:内置了近几年所推荐领域的 SOTA 数学模型,和可视化常见的 Layers,并且内置了部分公共数据集的访问接口,能够支持从本地磁盘,和 HDFS 读取训练数据。数据、训练、数学模型评估结果、数学模型导出通过配置化实现,演算法同学可以著眼于数学模型的结构设计;

高效:采用 tensorflow 底层 API 和 Estimator 来实现,并遵循 tensorflow 官方性能强化指南,最大限度提升数学模型训练效率,相比 Keras 和内部未强化版本,单卡训练效率有数倍提升。同时,能够支持同步、异步等多种并行训练方案;

可扩展:Bamboo 的最初的结构设计最终目标是作为 tensorflow 的补充,因此在整个结构设计过程充分考量了扩展性,能够支持采用 Bamboo 提供更多的 API 或者使用 tensorflow 原生 API。良好的分层结构设计,方便使用方展开模块的复用和重构。

MML Serving

MML Serving 决定了数学模型能否上线提供更多服务和新浪网服务的效率。去年下半年,他们上线了采用 C++ 合作开发的新版 MML Serving,通过内存和并发的强化,让他们整体预估耗时减少了 50%,服务初始化耗时减少了 50%,内存使用量降低了 77%。通过压测发现,服务在高并发下,整体表现稳定。另外良好的架构结构设计,可以很方便接入各种第三方机器学习库,目前已经内置了对 tensorflow 和 xgboost 数学模型的支持。

网络平台收益

当推荐遇到社交:美图的推荐算法设计优化实践

MML 机器学习网络平台上线后,生产力得到了极大的释放。可以简单概括为五个各方面的收益:

合作开发效率的显著提升:网络平台上线前,演算法同学需要同时合作开发样本拼接、数学模型训练、新浪网服务等多个模块的代码,网络平台上线后,演算法同学可以著眼于数学模型互联网结构的结构设计;

数学模型迭代周期显著降低,数学模型调研的范畴大幅扩大:网络平台上线前,演算法同学需要花费较多的精力在工程模块的合作开发上面,而且只能在几个固定的演算法架构下展开许多有限的试著。新架构不仅减少了演算法同学的工程负担,同时因为架构的灵活性,使得演算法的调研不再局限于几个固定的模式,数学模型迭代效率得到了极大的提升;

机器成本:新网络平台效率上的提升,也同样体现在机器资源的节约上面,在美拍热门次序上,接入新网络平台后,机器节约了一半;

经验沉淀:此前各个业务维护自己的数学模型代码,经验很难展开交流和复用。新网络平台很好地解决了这部分问题。

演算法篇:雷蛇所推荐次序课堂教学

当推荐遇到社交:美图的推荐算法设计优化实践

辅助工具的价值落地到业务中,需要通过演算法来实现。雷蛇所推荐次序演算法大致可以分成五个期:第一个期是以 LR 为主的非线性数学模型,女团大规模育苗特点。第二个期发展成了以广度学习为主的非线性数学模型,和小量的育苗特点。再然后,为了减少育苗特点工程的组织工作,他们开始调研以使用者行为字符串为主的原始特点,此时线上的主力数学模型是广度学习数学模型和使用者行为字符串特点。最后一个期他们从单最终目标数学模型重构到了现在的多最终目标数学模型。次序数学模型五个期的重构可以概括为数学模型、特点、强化目标四个各方面的组织工作,下面我将和我们一一展开如是说。

雷蛇所推荐次序课堂教学——数学模型重构

当推荐遇到社交:美图的推荐算法设计优化实践

2018 年,他们上线了第一个如前所述何向南在 SIGIR 2017 发表的《Neural Factorization Machines for Sparse Predictive Analytics》改进的数学模型——NFM-v4。相比原论文,他们的主要改进点是通过一个非线性变换,将变长稀疏的原始高维特点压缩到一个定长稠密的低维实数空间,从而屏蔽了数学模型在输入特点处理上的差异,可以将精力更多放在特点的挖掘上。

但是,将几十万维的高维空间直接压缩到几百维,存有一定的信息损失,因此,在 NFM-v4 的基础上,他们通过将部分高维 id 特点单独可视化,比较好的解决了这个问题,在业务指标上,也有不错的效果提升,美拍的总和播放时数增加了 4.75%,总和有效行为数增加了 3.45%。

不过,NFM 存有的一个问题是,bi-interaction pooling 认为特点二阶交叉的权重是相等的,这种假设在多数情景下并不符合数据的真实分布。因此,在 NFM 的基础上,他们提出了 Neural Field weighted Factorization Machines(NFwFM)数学模型,通过引入一个权重向量,来可视化二阶交叉特点的权重。通过二阶向量不等权相加,业务指标整体提升较为明显。其中美拍总和播放时数增加 3.78%,播放使用者数增加 1.74%,雷蛇秀秀点击率提升了 5.689%,总和使用时数增加 2.53%,新使用者点击率增加 2.701%。

当推荐遇到社交:美图的推荐算法设计优化实践

雷蛇所推荐次序课堂教学——特点工程

从 LR 升级到 NFwFM,他们虽然减少了大量的特点女团上的工作,但是,怎样从数据中挖掘对当前业务有效的特点?怎样展开特点选择?依旧占据了他们的主要精力。去年,工业界和学术界,都发表了大量关于 User Behaviors Sequence 可视化的新组织工作,随后,他们也开始跟进这一各方面的组织工作,并在他们的业务中展开了试著,通过端到端的可视化,减少他们在特点工程上的组织工作。

目前,他们主要试著了三种使用者行为字符串可视化的方法,包括 Sum/Mean Pooling 、 RNN 、 Attention 等。在他们的业务情景下,RNN 的app效果并不理想,原因推测是使用者点击 feed 的先后顺序并不存有某种固定的模式,而主要取决于使用者对所所推荐 feed 的偏好,此外,RNN 的训练耗时也增加比较明显。

Sum/Mean Pooling 的方式虽然简单,但是在长行为字符串可视化上,效果相比其他两种方式表现得更加优异,因此是他们目前线上可视化使用者长字符串特点的主要手段。

他们也对比了基于 Attention 的方法,app效果相比 Sum/Mean Pooling 有略微提升,但是考量到计算复杂度,Attention 只适合于字符串长度较短的情景。

在美拍,雷蛇秀秀街道社区,和 push 业务都试著了使用者行为字符串特点可视化,各项业务指标均有较大幅度的提升,美拍总和时数提升了 12%,秀秀的点击率提升了 5%,push 的到达点击率提升了 10%。

随着数学模型和特点的复杂度显著增加,新浪网 inference 的耗时已经无法满足业务的要求。为了解决数学模型推理效率的问题,一各方面他们通过 C++ 重写了数学模型新浪网推理服务——MML Serving,并在内存和并发上做了大量强化,使得 QPS 和稳定性有了大幅度提升。另一各方面,他们实现了多塔互联网的数学模型架构,通过app预计算 user 和 feed 子互联网的输出,并存到 DB 中,新浪网通过检索 DB 的方式,避免了实时计算 user 和 feed 子网络的庞大计算量。收益也是很明显,其中次序预估耗时从 100+ms 下降到了 7ms,秀秀街道社区 push 服务预估耗时从单尾号 5 小时降低到了 3 分钟,到达点击率平均提升 23.9%。

当推荐遇到社交:美图的推荐算法设计优化实践

雷蛇所推荐次序实践——多最终目标强化

随着商品强化的深入,单一的数学模型强化最终目标已经无法准确刻画商品的迭代方向,为了满足多样化的商品需求,他们开始探索多最终目标强化。整个多最终目标强化的路线,大概经历了五个期:样本 reweight,多最终目标数学模型,多数学模型,多个多最终目标数学模型。下面我将对这五个期的组织工作依次展开如是说。

多最终目标强化之样本 reweight

样本 reweight 是一种简单轻量的可用于解决多最终目标问题的做法,它借鉴了 imbalanced data 的典型做法,在保持数学模型强化的主最终目标不变的情况下,通过提高次要最终目标的正样本占比,来模拟多最终目标的联合概率分布。

多最终目标强化之多最终目标数学模型

当推荐遇到社交:美图的推荐算法设计优化实践

样本 reweight 的方式改变了样本的原始分布,导致主最终目标存有比较大的预估偏差。同时,因为次要最终目标是通过主最终目标的互联网结构来实现,无法对各个最终目标的数学模型依次展开调优,数学模型结构强化存有比较大的局限性。因此,他们开始试著多最终目标数学模型可视化。

多最终目标数学模型通过共享底层的互联网输入,实现信息共享,再根据每个最终目标的数据特点,依次构建各个最终目标的输出互联网,得到每个最终目标的输出。

在雷蛇的多个SNS情景中,他们展开了试著,并取得了比较大的新浪网提升。其中,在美拍双列 feed 流情景下10.33%。

多最终目标强化之多数学模型

虽然多最终目标数学模型在业务上取得了比较大的提升,但是仍然存有许多问题。典型的问题包括:

当不同任务的最终目标相关性较弱,或者损失函数的输出值范围差异较大时,多最终目标数学模型的调优存有比较大的困难;

使用多最终目标数学模型,会导致不同最终目标的强化存有比较大的耦合,延迟整体强化进度,在商品要求快速迭代的情景下,这种技术手段不一定能够很好的满足业务需求。

为了解决多最终目标数学模型存有的许多问题,他们通过拆分多

多最终目标强化之多个多最终目标数学模型

当所推荐情景的强化最终目标增加,多数学模型的方案会存有维护成本高,线上资源开销大,各个任务的数学模型无法利用其他任务的数据等问题。

未来规划

未来,他们将继续完善 MML 机器学习网络平台的建设,并计划对 Bamboo 项目展开开源。在演算法上,他们开始了强化学习在所推荐领域的调研,同时,对多最终目标可视化、行为字符串特点可视化、和 Embedding 技术等也将持续展开跟进和强化。期待后续能和我们有更多地探讨和交流。

译者简介

曾燠,雷蛇高阶演算法研究者,曾在腾讯任高阶研究员,硕士毕业于哈尔滨工业大学。主要从事所推荐演算法,点击率预估和自然语言处理各方面的相关研究。在工业界的大规模所推荐与次序演算法课堂教学上积累了丰富的经验。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务