千亿特征流式学习在大规模推荐排序场景的应用

简介: 摘要:2017云栖大会机器学习平台PAI专场,阿里巴巴高级技术专家陈绪带来千亿特征流式学习在大规模推荐排序场景的应用的演讲。主要从电商个性化推荐开始谈起,进而描述了技术挑战和PAI解决方案,重点分享了鲲鹏框架和算法调优,最好作了简要总结。

摘要:2017云栖大会机器学习平台PAI专场,阿里巴巴高级技术专家陈绪带来千亿特征流式学习在大规模推荐排序场景的应用的演讲。主要从电商个性化推荐开始谈起,进而描述了技术挑战和PAI解决方案,重点分享了鲲鹏框架和算法调优,最好作了简要总结。

以下是精彩内容整理:

电商个性化推荐

ad99a41984a434a71373871f6fe35211a4d3adb4

淘宝、天猫在无线、PC端各个场景的商品个性化推荐大家都很熟悉,这些展示都是由个性化推荐排序算法决定的。根据每个用户不同的兴趣,做到千人千面的个性化展示,比如手淘首页的猜你喜欢,它是阿里电商最大的推荐场景,还有人群导购、看了又看、买了又买等页面,背后都是由机器学习算法来规划商品个性化排序。

点击率预估算法

商品的个性化排序一般都转化成点击率预估问题,给定一个当前用户,并且给定用户相关上下文的一些特征,来预测对于一个特定的商品的点击概率有多大,我们希望用户点击率越高的商品排在前面,点击或者不点击是二分类问题,通过采集用户商品各种维度特征进行建模,最终训练排序模型。

点击率预估算法是经典的研究课题,很早以前就有逻辑回归:Logistic Regression(LBFGS、FTRL)线性算法,还有决策树GBDT、XGBOOST提供非线性分类能力,近几年逐渐往更深层次发展研究,比如Factorization Machine、DNN、Wide&Deep。

 2f05de3d348df2cc152f5bdef4b75b5ca6824d0c

挑战和解决方案

具体到阿里电商场景,我们也有特定的问题和挑战。

阿里电商推荐的业务特点:最大场景达到百亿级别的PV/天,训练样本很大,亿级别用户维度和亿级别商品维度使我们做特征工程交叉组合时非常容易形成爆炸式天文数字的特征维度,还有快速实时变化的用户兴趣和热门商品。

传统的点击率预估算法和平台的挑战是特征规模有限(10亿~100亿)难以刻画全网用户行为和商品特征,热门商品每天也在快速变化,离线训练难以捕捉用户短期内兴趣模式。

基于以上问题,我们做了大量算法框架和平台优化,在PAI平台上开发千亿特征流式学习这样的机器学习框架。

 10852409101ada02c0f28f2ded22b2f853cf9b6d

阿里Parameter Server (鲲鹏,SIGKDD'17)优化

 0abc20db739ccce4cf06dca06ea4bdfa035bb602

PS支撑阿里集团最大规模的分布式算法训练,我们从2014年开始研发,到目前为止服务广告、推荐、搜索等多个重要场景,支撑PAI平台大规模算法,Owlqn-LR:300亿特征、1千亿样本,LDA:1万亿word - topic矩阵等,我们也逐步向公有云用户开放算法训练服务。

PS框架面临的挑战有很多,包括参数规模和样本规模巨大,为了能够更精确的学习商品特征,我们需要将规模提升到几千亿甚至上万亿级别;模型更新间隔短(分钟级别)才能尽快捕捉线上用户变化信息特征;算法效果稳定性要求高,在鲲鹏基础上做了大量针对性功能和优化来适应新型算法场景。

PS框架具备以下特点:

l  迈向千亿特征规模

200~400台Server,平均35GB内存。

l  特征集合高频率变化

使用定制的ArrayHashMap存储特征权重向量,去除特征ID化环节,插入、迭代性能较std::unordered_map提升300%。我们以高频率向模型中插入新特征到模型中,也会以非常高的频率剔除过期特征,在工程实践上做了大量改进,能够适应高频率特征集合的高频率变化。

l  通信性能优化

当并行server数量非常高时,我们做了大量通信性能优化,使得我们对大量特征样本量实时训练更新,Sparse、Dense参数合并通信,通信链路无锁。

8ecc0e4ca008fa57cff15a67c87860499fa5d752

我们将以前离线batch方式转换成实时在线训练,由全量样本训练向流式增量训练(Online Learning)演化,由训练Job转化为不间断训练Service,整个过程中内存数据不落盘,实时感知新数据分区触发训练,将训练样本读到训练进程中,将更新后的模型实时推到在线预测服务中去。同时,框架还支持灵活控制实时训练触发间隔,如果某些场景需要高频模型,最高可以精确到分钟级触发。

我们在多数据源支持统一checkpoint、Exactly Once Failover,所有数据保证严格训练一遍;支持单节点异步failover,在训练过程中,如果有个别进程crash,整个进程不需要打断,可以继续不受影响继续更新模型;我们也可以灵活断点调参,结合流式预估、流式评价算子,加速调参过程。

 

千亿特征流式算法体系

90464578f645c8180b87a9fc36a269cc51d1b0bf

我们在鲲鹏平台上打造了一系列千亿特征流式学习系列算法。包括XFtrl是线性模型+千亿级宽特征;XSVD是千亿规模Embedding向量召回模型,融合了许多矩阵算法;XNN也是千亿特征DNN算法。我们具备了从线性到浅层Embedding再到深层DNN网络的算法建设,实际上涵盖了个性化推荐在算法场景下的粗排召回模型以及精排的ranking模型,在平台上都可以支持。

我们对于参数更新模式进行了相应改进,不间断实时模型更新算法优化(XFtrl为例),比如在样本量累积到很大时很容易遇到数值稳定性问题和参数抖动问题,我们做了动态梯度平均策略和正则策略来弥补甚至消除动态抖动影响;此外,我们需要把特征进行高频增删,我们通过特征权重动态衰减策略及时从模型中剔除,保证模型始终是正向更新。

我们也进行了抽象算子(Operator)体系,比如参数Optimizer,支持稀疏梯度矩阵,减少计算量;参数Initializer,支持Lazy initialization,一直到参数第一次出现时我们才会进行随机初始化;我们还有很多的模型评估operator。

模型评估范式

592704ecd5a8eeb31a41e22b43badf8008d3e691

常规模型评价方式是准备一个验证数据集,每次训练完后在模型上计算Loss、AUC等指标,这样会带来流式场景下的问题:用户点击行为和商品快速变化;静态测试集无法反馈模型动态效果。

流式模型评估:对“未来”数据实时评估当前模型准度:AUC、PCOPC、MAE、...,提高了算法工程师对离线调参的效率。

 

总结

PAI平台鲲鹏框架在手淘、天猫多个大规模推荐场景上线,单场景1天100亿+训练样本,累积2000亿+特征;平台训练速度达到500万Sample/s迭代性能,模型持续增量在线训练超过60天;有了大规模特征和实时应用更新,使引导点击率和客单价显著提升。

我们在千亿特征流式学习模式下训练框架和实现算法的革新,PAI平台鲲鹏框架是推荐、广告、搜索排序算法的利器,而且我们以算法组件形式即将通过PAI平台提供公有云服务。


欢迎加入“数加·MaxCompute购买咨询”钉钉群(群号: 11782920)进行咨询,群二维码如下:

IMG_3471


 6c4b69af9fd1b465628b63fcee73224de0b62357

阿里巴巴大数据-玩家社区 https://yq.aliyun.com/teams/6/

---阿里大数据博文,问答,社群,实践,有朋自远方来,不亦说乎……

bba01b493e1c5d904e882b1c380673c6ebe49a98

 

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
Kubernetes 前端开发 数据可视化
一个基于Vue3搭建的低代码数据可视化开发平台
一个基于Vue3搭建的低代码数据可视化开发平台
922 0
|
前端开发 JavaScript 数据可视化
Echarts 折线图完全配置指南 - 手把手教你设置 Echarts 折线图详细教程
Echarts 折线图是图表中最常用的显示形式之一。使用 Echarts 做出基本的折线图很简单,但要是想把多组数据放在一张图表中,展示的漂亮又直观就不容易了。本文将带领大家从最基本的折线图,一步步完善,最终做出可读性很高的可视化图表。 根据本教程在卡拉云中搭建的折线图 Demo,你可以立即注册卡拉云,跟随本教程学习 跟随本教程你将学到 1.折线外观属性 折线增加弧线平滑过渡 折线图变为散状圆点 实线改为虚线 折线指定颜色 增加数据显示 表格外观属...
2050 0
|
8月前
|
弹性计算 固态存储 关系型数据库
国内高性价比云服务器选型指南:阿里云低价机型配置与市场对比
今年,阿里云针对不同用户群体推出多款高性价比云服务器产品,覆盖轻量应用服务器与 ECS 实例,价格区间从 38 元 / 年至 160 元 / 月,适配个人开发、中小企业轻量业务等多种场景,具体核心机型信息如下:
|
9月前
|
JavaScript 前端开发 关系型数据库
基于python的高校后勤报修系统
本研究针对高校后勤报修管理效率低下的问题,设计并实现基于Django、Vue.js和MySQL的B/S架构智能报修系统。通过信息化手段优化传统人工流程,提升维修响应速度与服务透明度,增强师生满意度,推动高校后勤管理向智能化、高效化发展。
|
11月前
|
数据采集 数据可视化 数据挖掘
Python数据分析实战:Pandas处理结构化数据的核心技巧
在数据驱动时代,结构化数据是分析决策的基础。Python的Pandas库凭借其高效的数据结构和丰富的功能,成为处理结构化数据的利器。本文通过真实场景和代码示例,讲解Pandas的核心操作,包括数据加载、清洗、转换、分析与性能优化,帮助你从数据中提取有价值的洞察,提升数据处理效率。
552 3
|
人工智能 自然语言处理 算法
AI-Researcher:告别熬夜肝论文!港大开源AI科研神器,从选题到发表全自动
AI-Researcher 是香港大学数据科学实验室推出的开源自动化科研工具,基于大型语言模型(LLM)代理,支持从研究想法到论文发表的全流程自动化,涵盖文献综述、算法设计、实验验证和论文撰写等功能。
2013 8
AI-Researcher:告别熬夜肝论文!港大开源AI科研神器,从选题到发表全自动
|
11月前
|
数据可视化 安全 中间件
5G视频在公安110接处警的应用
乐科技术将5G视频坐席融入110接处警系统,实现从“听得见”到“看得见”的跨越。通过实时视频连接,提升警情研判精准度与响应速度,强化沟通效率与证据采集,助力智慧警务升级,为公共安全构筑科技防线。
|
机器学习/深度学习 人工智能 Cloud Native
2024阿里云天池大学生竞赛正式开赛,全网招募高校最强大脑!
2024阿里云天池大学生竞赛正式开赛,全网招募高校最强大脑!
|
人工智能 搜索推荐 数据处理
如何利用AI技术提高教育评估的效率和准确性?
【6月更文挑战第2天】如何利用AI技术提高教育评估的效率和准确性?
1138 59
|
JSON 前端开发 Java
Spring Boot框架中的响应与分层解耦架构
在Spring Boot框架中,响应与分层解耦架构是两个核心概念,它们共同促进了应用程序的高效性、可维护性和可扩展性。
555 3

热门文章

最新文章