【应用前沿】索托斯平台:个性化推荐变身SaaS 服务

随着互联网技术和人工智能的迅速发展,面对海量的数据和资源,如何快速准确地为每个用户提供其感兴趣的内容,成为我们亟待解决的问题。个性化推荐系统正是为了解决这一问题而诞生的,它能够通过对用户行为的分析和挖掘,为用户提供精准、个性化的推荐服务,极大地提高了信息获取的效率和用户体验,在电商、新闻资讯、视频、音乐、阅读等领域被广泛应用。

然而,一套完整的个性化推荐系统建设,除了需要巨大的人力物力投入,还需要长时间的数据积累和算法调优,具有较高的使用成本,让很多团队望而却步。

如何让个性化推荐系统像 SaaS 服务一样被低成本使用呢?360内容平台部依托于深厚的推荐算法能力和强大的内容创作平台,通过对推荐系统的算法和引擎平台化,经过多个业务场景的打磨,推出了索托斯推荐平台,为客户提供低成本的一体化推荐服务。

【应用前沿】索托斯平台:个性化推荐变身SaaS 服务_第1张图片

索托斯,以行业标准化协议,接入各个应用场景的待推荐资源和用户的行为日志,通过自动化的数据流生产系统完成识别、标注、向量化等内容理解,通过平台化的一系列算法模型训练实现资源和用户的画像特征等数据挖掘,基于 A/B 实验平台和 Debug 系统,对算法模型进行自动调参,按照预定目标自我优化,给接入方提供该场景个性化推荐的最优解。

整体架构如下:

【应用前沿】索托斯平台:个性化推荐变身SaaS 服务_第2张图片

首先是系统的标准化接入。

对于推荐系统来说,通俗地理解就是根据用户的各种行为推测其兴趣喜好,然后给用户推荐其感兴趣的资源,比如给经常看娱乐资讯的用户推一条明星八卦。因而,用户的行为和要推荐的资源就是推荐系统最基础的要素,那么该如何把这两类数据高效地接入到推荐系统呢?

对于SaaS化推荐系统,接入的推荐场景可能包括资讯、视频、壁纸、商品、短剧等多种属性各异的资源,不同资源的用户行为也千差万别。索托斯对数据接入分资源和行为做了一层标准化抽象:对于资源,定义通用属性,数据可以通过消息队列或文件的方式同步到推荐系统生产平台,然后以统一的生产加工流程完成资源的审核、标注、内容理解、正排提取、倒排构建,对于不同资源类别的个性化属性,索托斯的生产平台以流程分支的方式支持属性定义和处理,底层自动扩展相应的语义体系;对于用户行为,采用日志打点上报的方式,定义通用的打点规范,指定核心提升指标,行为日志自动经过实时计算产生算法模型的输入语料。

其次是通用算法服务。

推荐系统中,算法服务主要包括召回、排序、策略几大类。其中召回服务通过算法模型获取初始的数据集,然后由排序服务通过特征进行打分排序,最后由策略服务做装屏:按资源类别和用户画像进行数据打散、过滤、强插等操作。具体图示如下:

【应用前沿】索托斯平台:个性化推荐变身SaaS 服务_第3张图片

在复杂的实际生产环境中,不同的算法服务依赖各自不同的语料,经过模型训练,产生不同的结果文件,比如用户画像、倒排队列、特征、向量、tag等,然后供在线服务使用,或者作为二级语料进行下一步的模型训练。这些差异一方面会降低系统的可扩展性和复用性,另一方会增加系统的维护成本。

为了便于算法服务平台化,我们对算法服务进行了标准化架构优化。首先是定义统一的算法模型的各种输入语料格式和接入标准。推荐系统原始语料主要是用户的曝光、点击、点赞、收藏、关注等用户行为日志和资源数据,通过Flink实时计算框架,对日志进行标准化的语料预处理生成以下几种初始语料:按请求 id 合并的单位时间窗口内每个用户的行为序列,资源的单位时间行为统计,用户的点击序列。然后,把算法服务拆分成离线和在线,在线服务提供统一协议的PB 格式数据,由推荐引擎调度;离线服务,统一数据解析规范,基于上述的初始语料,通过核心算法模型进行数据训练,产生画像、倒排等结果集。整体如下图:

【应用前沿】索托斯平台:个性化推荐变身SaaS 服务_第4张图片

通过上述标准化处理,目前索托斯平台集成了推荐系统核心的算法服务,其中召回服务涵盖高热、画像、icf、vicf、validFilter、dssm、tagicf、berttagemblarge、tagemb、rankshare、lda 等超过20算法。这些通用算法服务在内容平台的视频、cube 等核心推荐场景经过充分验证,在各类适用的场景中有显著的效果提升,如下图:

【应用前沿】索托斯平台:个性化推荐变身SaaS 服务_第5张图片

推荐系统中各个环节的实时日志处理、算法模型训练、离线任务等,都离不开稳定的大数据计算平台。索托斯依赖的是技术中台提供的强大的奇麟大数据平台,针对业务敏感的Flink实时任务,一方面虚拟化团队从底层计算资源做隔离,通过对磁盘LVM条带化和网络加速等方面的优化,使得计算集群机器有极致的性能保障;另一方面系统部团队对这种实时大规模数据处理的任务,对 Flink 进行深读定制优化,在集群资源调度方面实现了更智能、高效的动态策略,在高可用方面提供了更加柔性、稳定的灾备预案。因而,在多个团队的鼎力支持下,索托斯的大数据底座坚如磐石。

然后是持续增长。

几乎所有场景接入推荐服务之后,都会面临如何持续提升数据指标的问题。索托斯从两个方面着手,其一,提供一站式用户分析与运营平台,为接入方提供多维度效果分析指标数据,通过归因分析模型挖掘用户侧、资源侧潜在的优化和改进点,辅助发现业务的关键增长方向,科学地进行产品优化;另一方面各个算法模型向上层暴露超参,每个算法通过多个参数枚举组合的方式,自动进行多组 A/B 实验,根据实验结果自动选择最优参数放量,实现系统的自我迭代优化。

【应用前沿】索托斯平台:个性化推荐变身SaaS 服务_第6张图片

最后是系统自动化运维。

从安全和稳定的角度,各个接入场景的资源、服务、数据都是完全相互隔离的。每个接入场景的各类算法服务至少有20多个,众多的接入场景的数百上千的服务,运维成了棘手的问题,因此,索托斯平台实现了一套自动化运维系统。

对于众多的服务,我们通过 ops 的 wonder 系统采集的基础硬件指标数据和通用算法服务采集的业务指标数据分别进行分钟级的分时对比、单位时间累计对比,同时参考日环比、周同比,以准确发现异常并归因出问题,然后根据问题类型分别采取不同的自动化处理预案。比如,某个服务监测到耗时 P99上升,同时集群所有机器的 cpu利用率都同比升高,且到某个设定的阈值(比如50%),则判定集群负载高,此时自动进行弹性扩容,如果只是某台机器异常,那则可根据这台机器的综合指标判断是进程问题还是机器问题,以进行服务重启或机器弹性替代等自动化运维动作。具体详见下图:

【应用前沿】索托斯平台:个性化推荐变身SaaS 服务_第7张图片

经过全方面的系统基础能力建设,加上内容平台核心推荐场景的不断打磨优化,以及持续的功能迭代,目前索托斯已经具备优越的 toB 能力,并在浏览器画报、锁屏壁纸、开机小助手、卫士资讯弹窗、导航 cube、商业化小说、付费短剧、小游戏等场景接入,为各个业务带来100%甚至更高的核心指标提升。

你可能感兴趣的:(【应用前沿】索托斯平台:个性化推荐变身SaaS 服务)