推荐系统线上服务编排及架构说明

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 阿里巴巴技术专家傲海为大家带来推荐系统线上服务编排及架构说明的介绍。内容包括在线推理服务的架构说明和线上多目标问题两部分。

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

一、在线推理服务-架构说明

在如何构建企业级推荐系统系列课程中,前两节课我们分别介绍了召回算法及架构、排序算法及架构。本节课我们会介绍一下如何对排序和召回算法的结果做一个服务编排,以及最终我们的模型跟现场业务是如何对接的。首先,我们介绍一下整个的框架,用户的业务场景,特别是互联网的推荐业务,它的高峰基本上会集中在中午和晚上。这个时候如何减少咱们的资源消耗。比如说,你的高峰需要消耗10台机器,低谷可能用1台机器。如果你没有弹性的机制,在线下买,一定要买10台机器才能满足服务高峰的一个需求。但是,如果你使用了云上的服务,就可以把这一套东西做到弹性。相比于你一直拥有10台机器,会节约很多成本,这是一个推荐业务需要考虑的场景。所以在服务编排阶段通常会采用云上的这套架构去做,来应对它的业务的一个潮汐效应。
另外一个要解决的问题就是,召回和排序这样的一个流程究竟该怎么创建起来。我们的方案是,基于高扩展弹性业务场景,采用阿里云ACK构建整体推理架构。调用流程分为3步。第一步,多路召回:物品协同过滤,语义召回,热门及运营策略召回取回上千条候选集。第二步,曝光去重:基于该用户阅读历史,去掉已经曝光内容,去掉基于运营策略不能推荐的内容。第三步,排序:推理模块调用排序过程时根据用户ID及物料ID,获取用户特征及物料特征后,分批调用PAI-EAS服务返回排序结果。右面这张图其实讲的是排序PAI-EAS在线推理服务的一个在线监控的能力。就是你要观察排序模型的一个水位,进行动态的扩容、缩容,防止你的RT过高,或者QPS达不到业务的需求。这是整个的在线服务编排的框架。
image.png

二、线上多目标问题

最终模型上线的时候,我们还会面临一个问题。我们设计整个架构,有的时候并不是单一目标,而是多目标的。就拿文章或视频推荐为例,很多的客户都希望说,不光是我推荐的视频被用户点击了,用户还需要多看一会儿,这样的话就会规避一些标题党。比如说有些视频把标题起得很吸引人,但其实内容很浮躁。用户点进去看一眼觉得没意思就走了,这样的话他整个的使用体验也不好。所以它可能是多目标的,既要他点击,也要他多看一会。针对这样的一个多目标情况,我们该怎么设计整套的方案,怎么去编排整套的推荐召回应用逻辑,有两种方案。一种是说多模型解决多目标问题。假设就是点击和时长这两个目标,你可以有一套推荐召回模块专门针对点击。
另一块专门针对使用时长去做训练。这两个结果你把它融合一下,得到最终的推荐结果。但代价就会比较大,你要同时维护两个系统,而且二者的比例也不好去量化。方案二是合并多目标成单模型,是目前采用得比较多的一个方案,也是效果相对来讲会比较好的一个方案。你把目标一和目标二这两个目标先融合成一个目标。比如说你把是否点击和观看时长按照一个比例去压缩下,把它都放到0~1之间。不点击就0,点击就是1。然后你把观看时长去做一个归一化,把整个时间都缩小到0~1的区间去。这样,你整个的区间就变成了0~2,变成一个单目标的数值。这样的话你就可以针对这一个目标去训练你的召回、排序模型,从而拿到最终的结果。这样做的好处是你只需要维护一套推荐业务的建模流程,会比较方便维护,最后的效果也通常是方案二好一些。
image.png

三、参考资料

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

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
1月前
|
运维 网络协议 安全
长连接网关技术专题(十):百度基于Go的千万级统一长连接服务架构实践
本文将介绍百度基于golang实现的统一长连接服务,从统一长连接功能实现和性能优化等角度,描述了其在设计、开发和维护过程中面临的问题和挑战,并重点介绍了解决相关问题和挑战的方案和实践经验。
78 1
|
1月前
|
网络协议 Linux
Linux DNS服务详解——DNS主从架构配置
Linux DNS服务详解——DNS主从架构配置
407 4
|
2月前
|
监控 负载均衡 Dubbo
|
2月前
|
存储 数据可视化 数据管理
基于阿里云服务的数据平台架构实践
本文主要介绍基于阿里云大数据组件服务,对企业进行大数据平台建设的架构实践。
717 2
|
3月前
|
机器学习/深度学习 搜索推荐 算法
深度学习推荐系统架构、Sparrow RecSys项目及深度学习基础知识
深度学习推荐系统架构、Sparrow RecSys项目及深度学习基础知识
|
4月前
|
SQL 分布式计算 搜索推荐
【推荐系统】推荐业务架构介绍(一)
【推荐系统】推荐业务架构介绍(一)
95 0
|
2月前
|
缓存 安全 API
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
公司对外开放的OpenAPI-Server服务,作为核心内部系统与外部系统之间的重要通讯枢纽,每天处理数百万次的API调用、亿级别的消息推送以及TB/PB级别的数据同步。经过多年流量的持续增长,该服务体系依然稳固可靠,展现出强大的负载能力。
56 9
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
|
1月前
|
监控 持续交付 开发者
深入探讨后端服务的微服务架构设计与实践
【2月更文挑战第10天】随着互联网应用的不断发展,微服务架构作为一种灵活、高效的解决方案在后端服务开发中备受关注。本文将深入探讨微服务架构设计与实践,从服务拆分、通信机制到部署管理等方面进行详细剖析,旨在帮助开发者更好地理解和运用微服务架构。
27 2
|
1月前
|
消息中间件 SpringCloudAlibaba Java
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(八)Config服务配置+bus消息总线+stream消息驱动+Sleuth链路追踪
783 0
|
1月前
|
缓存 网络协议 微服务
微服务架构下服务注册的几种方式
【2月更文挑战第15天】微服务架构下服务注册的几种方式
35 1

热门文章

最新文章