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

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

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

电商个性化推荐

1


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

点击率预估算法

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

2


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

挑战和解决方案

具体到阿里电商场景,我们也有特定的问题和挑战。
阿里电商推荐的业务特点:最大场景达到百亿级别的PV/天,训练样本很大,亿级别用户维度和亿级别商品维度使我们做特征工程交叉组合时非常容易形成爆炸式天文数字的特征维度,还有快速实时变化的用户兴趣和热门商品。
传统的点击率预估算法和平台的挑战是特征规模有限(10亿~100亿)难以刻画全网用户行为和商品特征,热门商品每天也在快速变化,离线训练难以捕捉用户短期内兴趣模式。

3


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

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

4


PS支撑阿里集团最大规模的分布式算法训练,我们从2014年开始研发,到目前为止服务广告、推荐、搜索等多个重要场景,支撑PAI平台大规模算法,Owlqn-LR:300亿特征、1千亿样本,LDA:1万亿word - topic矩阵等,我们也逐步向公有云用户开放算法训练服务。
PS框架面临的挑战有很多,包括参数规模和样本规模巨大,为了能够更精确的学习商品特征,我们需要将规模提升到几千亿甚至上万亿级别;模型更新间隔短(分钟级别)才能尽快捕捉线上用户变化信息特征;算法效果稳定性要求高,在鲲鹏基础上做了大量针对性功能和优化来适应新型算法场景。
PS框架具备以下特点:
  • 迈向千亿特征规模
    200~400台Server,平均35GB内存。
  • 特征集合高频率变化
    使用定制的ArrayHashMap存储特征权重向量,去除特征ID化环节,插入、迭代性能较std::unordered_map提升300%。我们以高频率向模型中插入新特征到模型中,也会以非常高的频率剔除过期特征,在工程实践上做了大量改进,能够适应高频率特征集合的高频率变化。
  • 通信性能优化
    当并行server数量非常高时,我们做了大量通信性能优化,使得我们对大量特征样本量实时训练更新,Sparse、Dense参数合并通信,通信链路无锁。

5


我们将以前离线batch方式转换成实时在线训练,由全量样本训练向流式增量训练(Online Learning)演化,由训练Job转化为不间断训练Service,整个过程中内存数据不落盘,实时感知新数据分区触发训练,将训练样本读到训练进程中,将更新后的模型实时推到在线预测服务中去。同时,框架还支持灵活控制实时训练触发间隔,如果某些场景需要高频模型,最高可以精确到分钟级触发。
我们在多数据源支持统一checkpoint、Exactly Once Failover,所有数据保证严格训练一遍;支持单节点异步failover,在训练过程中,如果有个别进程crash,整个进程不需要打断,可以继续不受影响继续更新模型;我们也可以灵活断点调参,结合流式预估、流式评价算子,加速调参过程。

千亿特征流式算法体系

6


我们在鲲鹏平台上打造了一系列千亿特征流式学习系列算法。包括XFtrl是线性模型+千亿级宽特征;XSVD是千亿规模Embedding向量召回模型,融合了许多矩阵算法;XNN也是千亿特征DNN算法。我们具备了从线性到浅层Embedding再到深层DNN网络的算法建设,实际上涵盖了个性化推荐在算法场景下的粗排召回模型以及精排的ranking模型,在平台上都可以支持。
我们对于参数更新模式进行了相应改进,不间断实时模型更新算法优化(XFtrl为例),比如在样本量累积到很大时很容易遇到数值稳定性问题和参数抖动问题,我们做了动态梯度平均策略和正则策略来弥补甚至消除动态抖动影响;此外,我们需要把特征进行高频增删,我们通过特征权重动态衰减策略及时从模型中剔除,保证模型始终是正向更新。
我们也进行了抽象算子(Operator)体系,比如参数Optimizer,支持稀疏梯度矩阵,减少计算量;参数Initializer,支持Lazy initialization,一直到参数第一次出现时我们才会进行随机初始化;我们还有很多的模型评估operator。

模型评估范式

7


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

8


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

总结

PAI平台鲲鹏框架在手淘、天猫多个大规模推荐场景上线,单场景1天100亿+训练样本,累积2000亿+特征;平台训练速度达到500万Sample/s迭代性能,模型持续增量在线训练超过60天;有了大规模特征和实时应用更新,使引导点击率和客单价显著提升。
我们在千亿特征流式学习模式下训练框架和实现算法的革新,PAI平台鲲鹏框架是推荐、广告、搜索排序算法的利器,而且我们以算法组件形式即将通过PAI平台提供公有云服务。

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
9月前
|
存储 机器学习/深度学习 人工智能
大模型时代的存储趋势
从2022年下半年,大模型和AIGC这两个词变得极其火热,而GPU的市场也是一卡难求。对于这种迷乱和火热,让我想起了当年的比特币挖矿和IPFS。似乎世界一年一个新风口,比特币、元宇宙、NFT、AIGC,金钱永不眠,IT炒作永不停歇。 每一个新的风口出现,总有两拨势力在冲突,保守派不断探索业务的真实价值,通过价值投资试图证明这又是一个新的庞氏骗局;另一波则是来势汹汹,集结一切可团结的力量,证明新时代已经来临。对于这一个个的风口,AIGC和大模型似乎与前几年的风口不一样,让我们看到了一丝真正的未来科技,在这篇文章,我会分享我对大模型&AIGC的看法,以及从存储的视角思索,在大模型时代存储的趋势。
|
存储
大数据分析基础——维度模型
image.png 1基本概念 维度模型的概念出自于数据仓库领域,是数据仓库建设中的一种数据建模方法。维度模型主要由事实表和维度表这两个基本要素构成。
2559 0
|
1月前
|
机器学习/深度学习 监控 自动驾驶
新视频分析技术TDViT发布:提升稠密视频分析效率
【2月更文挑战第16天】新视频分析技术TDViT发布:提升稠密视频分析效率
18 1
新视频分析技术TDViT发布:提升稠密视频分析效率
|
3月前
|
机器学习/深度学习 运维 算法
流计算中的流式机器学习是什么?请解释其作用和常用算法。
流计算中的流式机器学习是什么?请解释其作用和常用算法。
44 0
|
6月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统的下一步?阿里时空聚合GNN,效果吊打LightGCN!
推荐系统的下一步?阿里时空聚合GNN,效果吊打LightGCN!
132 0
《千亿特征流式学习在大规模推荐排序场景的应用》电子版地址
千亿特征流式学习在大规模推荐排序场景的应用
45 0
《千亿特征流式学习在大规模推荐排序场景的应用》电子版地址
|
SQL 分布式计算 自然语言处理
通过Z-Order技术加速Hudi大规模数据集分析方案
多维分析是大数据分析的一个典型场景,这种分析一般带有过滤条件。对于此类查询,尤其是在高基字段的过滤查询,理论上只我们对原始数据做合理的布局,结合相关过滤条件,查询引擎可以过滤掉大量不相关数据,只需读取很少部分需要的数据。例如我们在入库之前对相关字段做排序,这样生成的每个文件相关字段的min-max值是不存在交叉的,查询引擎下推过滤条件给数据源结合每个文件的min-max统计信息,即可过滤掉大量不相干数据。 上述技术即我们通常所说的data clustering 和 data skip。直接排序可以在单个字段上产生很好的效果,如果多字段直接排序那么效果会大大折扣的,Z-Order可以较好的解决多
435 0
|
存储 机器学习/深度学习 人工智能
阿里巴巴开源大规模稀疏模型训练/预测引擎DeepRec
经历6年时间,在各团队的努力下,阿里巴巴集团大规模稀疏模型训练/预测引擎DeepRec正式对外开源,助力开发者提升稀疏模型训练性能和效果。
阿里巴巴开源大规模稀疏模型训练/预测引擎DeepRec
|
存储 JSON 算法
基于HBase构建千亿级文本数据相似度计算与快速去重系统
前言 随着大数据时代的到来,数据信息在给我们生活带来便利的同时,同样也给我们带来了一系列的考验与挑战。本文主要介绍了基于 Apache HBase 与 Google SimHash 等多种算法共同实现的一套支持百亿级文本数据相似度计算与快速去重系统的设计与实现。该方案在公司业务层面彻底解决了多主题海量文本数据所面临的存储与计算慢的问题。 一. 面临的问题 1. 如何选择文本的相似度计算或去重算法? 常见的有余弦夹角算法、欧式距离、Jaccard 相似度、最长公共子串、编辑距离等。这些算法对于待比较的文本数据不多时还比较好用,但在海量数据背景下,如果每天产生的数据以千万计算,我们如何对于这些海
654 0
|
搜索推荐 大数据 数据处理
计算广告与流处理技术综述
案例与解决方案汇总页:阿里云实时计算产品案例&解决方案汇总 1.计算广告背景 广告仍然是互联网公司的主要变现手段,其市场规模2017年已达3000亿元,据统计全球互联网市值前十的公司广告收入占比高达40%,可见其重要性。
4952 0