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

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 阿里巴巴技术专家傲海为大家带来推荐系统排序算法及架构说明的介绍。内容包括排序模块在推荐系统中的位置,排序算法的介绍,离线排序模型的训练架构,以及在线排序模型的训练架构。

课程地址: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+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
10月前
|
机器学习/深度学习 人工智能 搜索推荐
从零构建短视频推荐系统:双塔算法架构解析与代码实现
短视频推荐看似“读心”,实则依赖双塔推荐系统:用户塔与物品塔分别将行为与内容编码为向量,通过相似度匹配实现精准推送。本文解析其架构原理、技术实现与工程挑战,揭秘抖音等平台如何用AI抓住你的注意力。
2472 7
从零构建短视频推荐系统:双塔算法架构解析与代码实现
|
机器学习/深度学习 运维 监控
实时异常检测实战:Flink+PAI 算法模型服务化架构设计
本文深入探讨了基于 Apache Flink 与阿里云 PAI 构建的实时异常检测系统。内容涵盖技术演进、架构设计、核心模块实现及金融、工业等多领域实战案例,解析流处理、模型服务化、状态管理等关键技术,并提供性能优化与高可用方案,助力企业打造高效智能的实时异常检测平台。
1163 1
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
538 6
|
负载均衡 算法
架构学习:7种负载均衡算法策略
四层负载均衡包括数据链路层、网络层和应用层负载均衡。数据链路层通过修改MAC地址转发帧;网络层通过改变IP地址实现数据包转发;应用层有多种策略,如轮循、权重轮循、随机、权重随机、一致性哈希、响应速度和最少连接数均衡,确保请求合理分配到服务器,提升性能与稳定性。
3067 11
架构学习:7种负载均衡算法策略
|
机器学习/深度学习 算法 PyTorch
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
软演员-评论家算法(Soft Actor-Critic, SAC)是深度强化学习领域的重要进展,基于最大熵框架优化策略,在探索与利用之间实现动态平衡。SAC通过双Q网络设计和自适应温度参数,提升了训练稳定性和样本效率。本文详细解析了SAC的数学原理、网络架构及PyTorch实现,涵盖演员网络的动作采样与对数概率计算、评论家网络的Q值估计及其损失函数,并介绍了完整的SAC智能体实现流程。SAC在连续动作空间中表现出色,具有高样本效率和稳定的训练过程,适合实际应用场景。
6000 7
深度强化学习中SAC算法:数学原理、网络架构及其PyTorch实现
|
存储 监控 算法
公司监控上网软件架构:基于 C++ 链表算法的数据关联机制探讨
在数字化办公时代,公司监控上网软件成为企业管理网络资源和保障信息安全的关键工具。本文深入剖析C++中的链表数据结构及其在该软件中的应用。链表通过节点存储网络访问记录,具备高效插入、删除操作及节省内存的优势,助力企业实时追踪员工上网行为,提升运营效率并降低安全风险。示例代码展示了如何用C++实现链表记录上网行为,并模拟发送至服务器。链表为公司监控上网软件提供了灵活高效的数据管理方式,但实际开发还需考虑安全性、隐私保护等多方面因素。
328 0
公司监控上网软件架构:基于 C++ 链表算法的数据关联机制探讨
|
搜索推荐 NoSQL Java
微服务架构设计与实践:用Spring Cloud实现抖音的推荐系统
本文基于Spring Cloud实现了一个简化的抖音推荐系统,涵盖用户行为管理、视频资源管理、个性化推荐和实时数据处理四大核心功能。通过Eureka进行服务注册与发现,使用Feign实现服务间调用,并借助Redis缓存用户画像,Kafka传递用户行为数据。文章详细介绍了项目搭建、服务创建及配置过程,包括用户服务、视频服务、推荐服务和数据处理服务的开发步骤。最后,通过业务测试验证了系统的功能,并引入Resilience4j实现服务降级,确保系统在部分服务故障时仍能正常运行。此示例旨在帮助读者理解微服务架构的设计思路与实践方法。
1054 17
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
1309 4
|
前端开发 搜索推荐 算法
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发
中草药管理与推荐系统。本系统使用Python作为主要开发语言,前端使用HTML,CSS,BootStrap等技术和框架搭建前端界面,后端使用Django框架处理应用请求,使用Ajax等技术实现前后端的数据通信。实现了一个综合性的中草药管理与推荐平台。具体功能如下: - 系统分为普通用户和管理员两个角色 - 普通用户可以登录,注册、查看物品信息、收藏物品、发布评论、编辑个人信息、柱状图饼状图可视化物品信息、并依据用户注册时选择的标签进行推荐 和 根据用户对物品的评分 使用协同过滤推荐算法进行推荐 - 管理员可以在后台对用户和物品信息进行管理编辑
596 12
中草药管理与推荐系统Python+Django网页界面+推荐算法+计算机课设系统+网站开发