推荐系统排序算法及架构说明

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 阿里巴巴技术专家傲海为大家带来推荐系统排序算法及架构说明的介绍。内容包括排序模块在推荐系统中的位置,排序算法的介绍,离线排序模型的训练架构,以及在线排序模型的训练架构。

课程地址:https://developer.aliyun.com/course/2052

一、排序模块在推荐系统中的位置

在如何构建企业级推荐系统系列课程的第一课中,我们介绍了如何去设计整个企业级的推荐系统架构。在第二课中,我们介绍了怎么去理解召回算法以及召回算法的一些意义。在本节课中,我们分享一下推荐系统的排序算法,以及它的一些架构特点。首先,我们再回顾一下这张图,确定一下排序算法在推荐系统中的一个位置。一个用户进入到平台,会发现有很多商品,得把用户可能喜欢的商品先挑出来。我们通过召回模块,进行一个初筛,缩小排序模型的一个受众的范围。
召回模块从潜在的超大规模的item中筛选用户可能喜欢的较小比例的item。比如说平台上有10万个item,用户进来之后筛选出500个他可能会喜欢的。接下来通过排序模块根据他的喜好程度对item进行排序。从这500个item里怎么挑出用户最喜欢的东西,怎么挑出用户第二喜欢的东西,这时候需要一个排序的算法模型。它会针对这500个商品和用户的一些特点,即用户特征进行一个排序。
image.png

二、排序算法介绍

我们今天介绍一下排序算法究竟有哪些种类,排序的模型该怎么训练,它的系统架构是怎么样的。排序模型非常多,随着深度学习的发展,整个的排序算法已经从浅层的算法逐渐往深度学习迁移。目前比较经典的排序算法还是我列的这4种,如下图所示。首先,逻辑回归是应用非常广泛的一种算法。它是目前业内最经典的线性二分类算法,特点是容易上手,对于计算力要求低,模型可解释性好。第二,FM算法近一两年来,在很多客户的场景中都得到大规模的应用,效果也不错。它是通过内积的方式增强特征的表现力。第三,在LR基础上通过GBDT和特征编码增强数据特征的可解释性。第四,DeepFM算法也是现在被应用得非常多的一个深度学习的算法,它把深度学习和经典的机器学习算法做一个结合。如果大家刚开始尝试搭建一套推荐系统,建议先从简单的算法去尝试,后续再逐渐的往更复杂的模型迁移。当然,这些算法都已经内置到了PAI平台,已经可以插件化的应用。
image.png

三、离线排序模型训练架构

接下来讲一下排序模型该怎么训练产生,训练过程分为离线训练和在线训练,首先讲离线排序。
离线训练用的是T-1的数据,也就是说,今天业务上用的模型是通过今天以前的数据训练出来的。好处是可以把历史的大量数据几乎集合到一个数据仓库里,然后基于整体的全样本的特征和数据进行离线的训练,并且再做一个离线的验证。这样的话,生成的模型已经离线验证过了是没问题的。第二天直接把它推到线上去用,可以保证一定的安全性和效果。这是一个离线的训练模型的架构。目前几乎所有的客户都采用离线排序模型的训练方案。如果你想做实时化的训练,会有比较大的架构挑战。
image.png

四、在线排序模型训练架构

我们今天重点放在在线模型训练这块。相比于离线训练,在线训练提供什么好处。离线训练毕竟使用的是T-1或者T-2的数据去做的,没有对线上实时产生的行为数据进行利用,对于数据的时效性利用相对较差。比如说,有这样的一个场景,今天我的整个平台只对14岁以下的少女做某个运营活动,而平台上充斥了大量的年龄段的客户,整个平台的交互行为都变了,这个时候你的模型还是T-1去做的,将无法对线上业务做一个及时的感知。这个时候,通过在线训练就能比较好的解决这个问题。在线模型训练的流程如下图所示。在线模型训练意味着我可以用实时线上传输化的数据,然后用我们的实时机器学习模型训练框架去做训练。在线训练虽然数据是实时进来的,但你的模型并不是从0开始的。而是说我从离线先训练好这个模型,我站在离线模型的巨人的肩膀上,再往上去优化。这就是在线排序模型训练的一个框架。它有3个特点。第一,它是基于Flink框架实现的流式模型训练能力。第二,它是基于实时生成的模型去实时评估模型效果。第三,它具备线上模型回滚和版本管理的能力。你要达到这三个标准,才可以构建一个完整的在线模型训练的架构。
image.png

五、参考资料

最后,介绍一下我们给大家准备的一些资料。这第一个link它对应的是PAI团队结合自身过去几年在推荐领域的一些探索,总结了140页的推荐业务的动手实践文档。没有机器学习背景的人基于我们这些文档,也可以在一周之内搭建一套企业级的推荐系统,大家如果感兴趣可以去用一下。另外这一个是PAI的产品地址。
image.png

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
4月前
|
机器学习/深度学习 搜索推荐 算法
深度学习推荐系统架构、Sparrow RecSys项目及深度学习基础知识
深度学习推荐系统架构、Sparrow RecSys项目及深度学习基础知识
|
5月前
|
SQL 分布式计算 搜索推荐
【推荐系统】推荐业务架构介绍(一)
【推荐系统】推荐业务架构介绍(一)
103 0
|
6月前
|
搜索推荐 算法 前端开发
旅游管理与推荐系统Python+Django网页平台+协同过滤推荐算法
旅游管理与推荐系统Python+Django网页平台+协同过滤推荐算法
162 0
|
4月前
|
机器学习/深度学习 搜索推荐 算法
优秀的推荐系统架构与应用:从YouTube到Pinterest、Flink和阿里巴巴
优秀的推荐系统架构与应用:从YouTube到Pinterest、Flink和阿里巴巴
108 0
|
7月前
|
存储 监控 搜索推荐
【业务架构】业务驱动的推荐系统相关技术总结
【业务架构】业务驱动的推荐系统相关技术总结
60 0
|
7天前
|
机器学习/深度学习 搜索推荐 算法
高并发推荐系统架构设计-1 基本介绍
【5月更文挑战第5天】推荐系统是信息过滤工具,通过处理物料数据和行为日志,运用预处理、特征工程、算法模型学习用户兴趣,实现个性化推荐。在线架构包括AB分流、多路召回、模型排序和业务规则重排序。旧版线上架构由C++编写的API和engine服务组成,HTTP请求经SLB、Nginx、FastCGI到达服务程序,召回和排序服务处理推荐。存在并发瓶颈问题。
29 1
|
4月前
|
搜索推荐 算法 前端开发
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
115 4
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
|
15天前
|
算法 搜索推荐 数据挖掘
MATLAB模糊C均值聚类FCM改进的推荐系统协同过滤算法分析MovieLens电影数据集
MATLAB模糊C均值聚类FCM改进的推荐系统协同过滤算法分析MovieLens电影数据集
|
4月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
推荐系统算法的研究与实践:协同过滤、基于内容的推荐和深度学习推荐模型
268 1
|
5月前
|
搜索推荐 算法 前端开发
商品购物管理与推荐系统Python+Django网页界面+协同过滤推荐算法
商品购物管理与推荐系统Python+Django网页界面+协同过滤推荐算法
78 0

热门文章

最新文章