“4+N”架构:从0到1搭建私域营销推荐能力

简介: 小叽导读:随着互联网化的进程,相关的产品和资讯内容也越来越多,如何给用户在合适的场景下推送合适的内容成为运营的难点和痛点,依赖人工规则+圈人的方式在海量item的场景下难以做到item和user的精准匹配,基于大数据和算法的个性化推荐方案应运而生,相比人工方案,基于数据智能的个性化精准营销方案带来了更好的的用户体验,在业务效果(点击和转化)上有明显的提升,同时运营效率也有巨大提升。

1.jpg

作者 | 无荒、水穆、潜隐、启夏、晓冬

一、背景与挑战

业务背景

由于私域的推荐场景较多,碎片化较严重,每接到新需求重新搭建模型链路的成本较高,因此亟需沉淀一套通用营销推荐模型框架,提升模型上线效率。

2.png

技术挑战

搭建通用模型链路框架,我们面临4个方面挑战:

  • 挑战一:场景的复杂性:推荐的场景多样化,面临推荐物料异构,内容参差不齐,长尾物料多,如何抽象一套通用的模型特征框架?
  • 挑战二:链路的复杂性:推荐的链路复杂,涉及系统多,如何打通各个系统链路?
  • 挑战三:模型的复杂性:推荐的模型多为深度神经网络模型(DNN),相比传统机器学习模型而言,开发部署的难度更大,周期更长,如何沉淀一套高效的模型开发部署框架?
  • 挑战四:协同的复杂性:复杂链路带来的是协同的复杂性,需要多方协同,如何建立流畅的多方协同流程机制?

二、架构目标

首先,对推荐模型框架的目标进行思考,我们需要什么样的模型框架;其次,对目标能力进行了拆解,需要什么样的子能力才能达到最终的目标架构。

目标架构

打造一套“体系化、标准化、自动化”推荐模型框架方案,支持轻量级场景营销推荐算法的快速上线和迭代。

目标能力拆解

  • 快速上线能力:能够通过这套框架高效地搭建baseline模型并完成上线,方案易于上手,使这套通用模型链路成为营销推荐算法工程师的起手式。
  • 场景复用能力:同一套框架支持多场景,纯新场景仅需少量代码改动,同类场景无需新模型开发,仅需通过增加埋点配置,自动完成模型更新。
  • 快速迭代能力:支持特征的增删和模型的快速迭代,无需走发布流程,让算法工程师更foucs在算法本身。

三、“4+N”推荐模型架构

总体架构设计

模型流程闭环化:常规的模型开发部署调用链路只有5个环节:样本准备、特征工程、模型训练、模型部署、模型调用,并不能形成闭环,需要增加日志回流的环节,将特征日志记录并回流,形成闭环。形成闭环的意义在于记录在线打分特征,便于样本和特征数据的生成,同时保证数据的强一致性。

"4+N"架构思路:核心是标准化的套路解不同场景的问题,通过样本标准化,通用特征的建设,通用的特征处理和建模方案,通用的推荐链路搭建,目标是以“1套样本、1套特征、1套模型、1条链路”的方案解决N个场景的问题。

3.png

工程链路设计

推荐的工程链路复杂,涉及系统较多,主要分为三大流程:

  • 召回流程,目前支持的业务系统直接召回和“搜索引擎+召回系统”两种方案,核心系统是推荐平台、运营平台、搜索引擎和召回系统,item较少的情况下运营平台直接从业务系统召回,流程上更加简洁;
  • 排序流程,从大数据平台的数据准备,到模型开发平台的特征处理和模型开发,再到模型部署平台的模型部署上线,核心系统是大数据平台、模型开发平台和模型部署平台,线上模型供推荐平台调用打分;
  • 重排流程,主要是流量控制和打散规则,主要在运营平台上通过前台配置实现,核心系统是运营平台。

4.png

四、方案落地与业务效果

1套特征

构建基于私域场景的通用特征体系,包含user特征、item特征和u2i特征,其中user特征主要是偏静态的用户画像,item特征主要包含item基本信息和流量类特征,u2i特征主要是user对item的历史行为。通用特征的核心在于精准用户画像以及item特征和u2i特征的结构标准化,易于新item的拓展。

1套样本

基于浏览点击转化日志和特征日志拼接形成训练样本集合,核心是日志埋点的标准化工作,需要前端在埋点中记录标准化的item_id,item_type和会话id,同时在特征日志(线上模型使用的特征)中也需要记录会话id,以此关联形成数据样本,由此保证了线上特征和线下训练样本特征的一致性。

1套模型

由于轻量级推荐场景中item数目较少,基本上是业务规则或全量召回的方案,所以模型层面主要是排序的模型。鉴于深度学习模型对特征良好的表征能力,目前主要采用的是深度学习的模型,baseline模型以wide&deep为主,后续会尝试deepFM,AFM,DIN等其它深度推荐的模型。当前算法工程师上手深度模型比较困难,一个痛点是特征抽取,另一个是模型的调试,下面介绍我们的解法。

特征抽取

由于字符型特征无法直接学习,高阶特征无法充分提取,因此需要特征抽取模块来进行特征ID化和特征衍生,传统的特征抽取方案,依赖于人工经验,特征抽取效率较低,我们对这个步骤进行了简化,基于全表统计和特征分箱,对不同的特征类型适配相应的特征算子,例如,对所有字符型特征进行离散化,对数值型特征进行分箱和归一化,对自定义特征进行笛卡尔积交叉抽取,主要通过sql实现了特征抽取配置文件的自动化生成,大大提升了特征抽取的效率。

5.png

模型调试与分布式训练

在模型调试和分布式集群训练模型上,和机器学习平台团队共同提出了单机notebook调试和yarn分布式训练的双分支模型调试训练结构,利用jupyter notebook的交互优势调试网络结构,利用分布式集群的计算能力实现大数据集的训练。目前已经实现了tensorflow estimator的封装,单机和分布式代码使用同一套代码,同时对数据处理和模型评估模块进行封装,让算法工程师只需关注核心的网络结构,大大简化了开发的复杂性。由于要支持分布式训练,目前只支持原生tensorflow的网络结构,待tensorflow 2.0正式版发布后,可以开发基于keras的神经网络,定义网络结构更加的随心所欲。

6.png

1条链路

链路方案上通过运营平台统一对接外部系统,完成整理链路的串联和闭环,让算法工程师更加关注推荐流程本身。

  • 模型部署

模型的部署通过基于模型预测平台(C++编译版)进行部署,为提升部署效率,模型开发平台和模型部署平台进行了打通,模型开发平台生成的模型和特征配置可以方便地用于模型部署,同时通过模型开发平台上的自定义SQL组件mock测试数据,也便于模型部署测试环节的提效。

  • 推荐链路

推荐主要在推荐平台上实现,推荐系统已经集成了特征视图配置、召回配置、模型调用、特征查询、特征日志回流、AB实验等核心功能,基于蚂蚁金服sofa架构,通过定义worker方式,进行pipline流程的编排,少量代码便可以搭建完整的推荐流程。特征视图支持了多个场景共用一份线上特征,复用性大大增强。对模型调用进行封装和优化,使得几行代码就可实现模型调用,并且在性能上做了并行优化。特征日志插件的引入,使得特征日志的回流更加顺畅,同时支持额外的特征的扩展。AB实验方面,可以自动关联推荐场景,通过实验方案中定义的配置字段进行实验版本控制,支持全流程的AB实验(召回、排序、重排)。整体链路搭建完后,模型的线上迭代只需要修改AB实验配置,高效便捷。

  • 召回链路

在内容排序项目中,我们引入了搜索引擎能力,搭建了业务系统->搜索引擎-召回平台->推荐平台->业务系统的链路,储备了多路实时召回的能力。

N个场景

“4+N”架构已经在私域的多个场景上完成了落地,取得了不错的业务效果,未来将覆盖更多的场景;新场景模型的上线时间从原先的2周缩短至2天,模型上线效率大幅提升。

五、未来展望

我们也在思考如何搭建面向未来的私域营销推荐能力?鉴于私域业务产品形态的特殊性,我们下一步将储备基于“两图一网”的私域推荐能力。

私域知识图谱

很多场景下不仅仅是user和item单纯的匹配,追求的不是短期的点击和转化,更加关注用户长期的价值(long-term value),因此推荐体系也肩负着心智启蒙和用户教育的重任。如何解?借助知识图谱的力量,将垂直领域的专业知识抽取成知识图谱,通过领域知识赋能推荐体系。

社群关系图谱

随着私域业务发展和社群规模的增加,如何基于社群做推荐?是摆在我们面前的问题,我们的解法是采用关系图谱,将用户的关系抽取成社群关系图谱。

多目标优化网络

在推荐过程中永远存在着“既要、也要、还要”的多项指标,不仅关注短期指标,同时也关注长期指标,因此如何在神经网络设计中增加多目标,并且获得最优的求解方案,也是下一步需要探索的点。

关于我们:我们是蚂蚁金服保险模型算法团队,主要负责蚂蚁保险营销风控模型的体系化建设,致力于保险模型算法的实践,我们深耕业务,拥抱业界一流算法,推动互联网保险智能化变革,欢迎讨论、转发。欢迎热爱算法,对业务有好奇心,有合作精神的同学一起工作、成长。简历可投邮箱:yingping.cyp@antfin.com

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
自然语言处理 Cloud Native 开发者
【2023年度技术盘点】「年终盘点后端系列」探索服务架构体系的技术风向,构建微服务核心能力(升级版)
回顾过去的几年,我们目睹了科技界的快速发展,其势头如同一列驶向前方的高速列车。作为后端开发者,我们见证了每一次技术革新所带来的广阔前景。这些创新不仅深刻影响着我们的工作方式,而且不断引领我们走向未来。
65 1
|
9月前
|
Kubernetes Go 网络架构
Go微服务架构实战 中篇:3. 扩缩容、自愈和故障转移、滚动更新以及回退能力
Go微服务架构实战 中篇:3. 扩缩容、自愈和故障转移、滚动更新以及回退能力
|
10月前
|
存储 Oracle JavaScript
【架构师之路 二】需要掌握的技能点---工程架构能力
【架构师之路 二】需要掌握的技能点---工程架构能力
109 0
|
11月前
|
运维 Cloud Native 微服务
带你读《云原生架构白皮书2022新版》——组织能力视角
带你读《云原生架构白皮书2022新版》——组织能力视角
107 1
|
11月前
|
架构师 微服务
【业务架构】业务架构师要知道的业务能力热图
【业务架构】业务架构师要知道的业务能力热图
|
11月前
|
架构师 测试技术
【业务架构】业务架构师如何构建业务能力图?
【业务架构】业务架构师如何构建业务能力图?
【业务架构】业务架构师如何构建业务能力图?
|
11月前
「业务架构」业务能力分析导论
「业务架构」业务能力分析导论
|
11月前
|
存储 测试技术
【业务架构】业务能力转型组织的前 5 个用例
【业务架构】业务能力转型组织的前 5 个用例
|
11月前
【业务架构】价值链分析:提高客户价值和盈利能力
【业务架构】价值链分析:提高客户价值和盈利能力
|
11月前
|
运维 供应链 负载均衡
《云原生架构容器&微服务优秀案例集》——03 零售/电商——震坤行 基于云原生高效提升应急供应链管理能力
《云原生架构容器&微服务优秀案例集》——03 零售/电商——震坤行 基于云原生高效提升应急供应链管理能力
91 0
《云原生架构容器&微服务优秀案例集》——03 零售/电商——震坤行 基于云原生高效提升应急供应链管理能力

热门文章

最新文章