PAI平台搭建企业级个性化推荐系统

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
对象存储 OSS,20GB 3个月
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: PAI是阿里云推出的人工智能平台,提供一站式的机器学习解决方案。本最佳实践利用PAI平台结合阿里云RDS for MySQL版、对象存储OSS和云数据库Redis版等产品构建一个高效的离线训练+在线推理的推荐业务系统。

分享人: 敬海            解决方案架构师

傲海            阿里云机器学习PAI产品经理

视频地址:https://yqh.aliyun.com/live/detail/21784


正文:

最佳实践目前已覆盖23种常用场景,目前有170余篇最佳实践,这其中涉及100款以上阿里云产品的最佳使用场景。目前,最佳实践已成功帮助大量客户实现自助上云。本篇实践将从3个部分为大家详细介绍PAI平台搭建企业级个性化推荐系统最佳实践,希望可以让大家对其有更深入的了解,并可以将其应用到项目中,达到降本提效的目的。

本文主要内容分为以下三个方面:

l 最佳实践原理讲解

l PAI平台核心产品讲解

l 最佳实践系统搭建


一、 最佳实践原理讲解


1)Demo讲解


image.png

下面通过一个Demo来展示本最佳实践搭建完成后的效果。通过图中链接可以打开Demo展示页面,打开页面后可以会如图所示。这个推荐系统本质上是一个信息流推荐系统。这里要解决的问题是给不同的用户推荐不同的文章,实现千人千面的效果,类似于我们经常用到的今日头条、一点资讯等APP。它的工作原理大致是这样的:在推荐系统里面有很多用户和很多文章,每个用户有一个User ID,比如这个Demo系统里有两个用户,用户A和用户B。每篇文章都有一个Item ID,比如这里有几万篇的文章。推荐系统要解决的问题是根据用户的浏览记录等特征数据,给用户推荐当前可能感兴趣的文章。首先,用户登录APP之后会浏览文章,产生的浏览记录会被系统收集到后台,通过召回和排序两个步骤的计算,给用户生成推荐列表。当用户再访问这个APP的时候,就从推荐列表中拉取对应的文章推荐给用户,用户浏览后又会产生新的浏览记录,从而不断重复这个过程。通常这个周期是以天为单位,比如我们这个Demo就是在每天0点开拾,根据用户昨天的浏览记录作为输入,经过模型训练和模型推理的计算,生成当天的推荐列表,这实际是个离线的训练过程。具体演示如下:

步骤 1 打开浏览器,通过上图链接访问 Demo 系统。

步骤 2 打开后,单击用户 A 下面的生成浏览记录,系统会随机生成用户 A 的浏览记录,并将数据写到 MaxCompute 中。

image.png

步骤 3 这时候,进入 Dataworks 的数据开发页面,单击运维中心。

image.png

步骤 4 这里再次以补数据方式运行,程序会把当前数据补充到昨天中,合并计算出新的召回列表。

image.png

image.png

步骤 5 运行后,等待运行完成,预计需要 30 分钟左右。

步骤 6 返回页面,单击生成智能推荐按钮,右侧会显示实际推荐的内容。

image.png

步骤 7 对用户 B 执行相同的操作,结果如下图所示。

image.png

这里可以看出,根据不同的用户的浏览记录,推荐的内容是不同的。说明:实际生产中,会周期执行训练任务,比如根据当天收集到的用户浏览记录,在凌晨开始训练,在早八点之前训练完成,用户再访问的时候,直接从生成的结果中读取。


2)场景描述


最佳实践的场景描述如下:

l 本最佳实践讲解了如何基于阿里云产品快速搭建一个企业级的个性化推荐系统这里以搭建一个文章推荐系统为例。

l 其中用到了核心产品是阿里云推出的人工智能平台PAI,其提供了一站式的机器学习解决方案。

l 本最佳实践利用PAI平台结合阿里云RDS for MySql版,对象存储OSS和云数据库Redis版等产品构建一个高效的离线训练+在线推理的推荐业务流程。

适用的用户包括以下几个:

l 互联网行业客户,MAU在80万到1500万。

l 业务为信息流、广告推荐等经典推荐场景

l 数据已经使用了阿里云MaxCompute或者准备使用。

l 具有1到5名算法背景的工程人员。

l 原有服务基于开源算法自建体系,但是受限现有人员和成本无法进一步提升。

 

image.png


3)系统架构图


接下来介绍系统架构图,其中包括几个产品:

l 机器学习PAI是阿里云机器学习PAI平台用于机器学习、开发和测试。

l MaxCompute是阿里云大数据计算平台。

l Dataworks是数据仓库管理工具,用于开发管理MaxCompute的数据。

l 云数据库RDS MySql版是阿里云云上关系型数据库用于存储业务系统数据。

l 对象存储OSS是阿里云对象存储系统用于存储排序模型文件。

l 云数据库Redis版是云上Redis数据库用于存储模型特征数据表格存储。

l 表格存储TableStore是云上nosql数据库用于存储召回列表。

架构及组件的作用大致是这样。

image.png


4)核心产品-PAI


这里用到的核心产品就是PAI平台,下面来看下PAI平台的构成(如下图)。这里我们主要用到了三个组件:PI-EAS模型在线服务,PAI-autolearning、PAI-studio。

最前面是客户的应用,比如浏览文章的APP,PI-EAS模型在线服务将召回和排序封装成两个restful的API,提供一键部署、版本控制、蓝绿部署、弹性伸缩等功能。

再往后用到了PAI-autolearning自动学习框架、零门槛使用、迁移学习框架,这里面可以通过简单的页面配置来实现这个学习框架。

PAI-studio用来做可视化建模,提供200多种算法模型、算法组件。通过web页面拖拽的方式构建实验,它支持百亿特征样本,这些算法是核心。

再往后就是用到了机器学习框架和计算引擎,这里用的是MaxCompute的计算引擎。

 

image.png


5)业务流程


下面介绍个性化推荐的业务流程。这个信息流推荐系统当中,每个用户有一个userID,每篇文章有一个itemID,通过召回和排序两个模块的计算给用户生成推荐文章列表。推荐系统要解决的问题就是从这10万篇文章当中,筛选用户A最喜欢的十篇文章。

召回可以看作是初步筛选,比如有10万篇文章,通过协同过滤算法的计算,筛选出500篇文章,这些是不分优先级的。召回可以设置多路,比如两路,每路召回500篇,总共1000篇。

然后再通过排序模块,排序相当于精排,对于这500篇文章进行优先级的计算。比如这里通过排序算法计算后,用户第一喜欢33这篇文章,第二喜欢22这篇文章。

在简单的推荐系统中,可以只有召回模块,比如直接召回10篇文章,然后推荐给用户,开文的Demo就是这样。

在实际的推荐系统中,可能有多重排序算法,然后将所有结果汇总后再设置一定的策略,然后再推给用户,这样效果会更好。image.png

6)推荐业务架构图


下面详细看下推荐系统的方案架构。如果将推荐系统看成一个系统,它的输入是三张不断变化的表。

左侧的User、 Item、Behavior表。它的输出是每个用户的文章推荐列表。这个表可以通过两个API来实现,以上三张表分别存储了用户、文章表、浏览记录,存储在RDSMySQL版的数据库里。

在实际系统中,这些数据一般经过ETL的处理,然后导入Dateworks这里弹幕系统。在Dateworks主要进行数据的预处理、特征工程模块儿、周期性调动配置等。

后面进入到PAI的模块,主要有两个模块,排序和召回。首先PAI-studio提供了排序算法和召回算法。先看排序算法,这里会生成排序的模型,然后提交给PAI-EAS。通过PAI-EAS封装成Restful API供前端调用,以后应用再调用的时候直接调用这个Restful API更加方便。

回到召回算法,经过召回计算后生成两张表,一张是item表,一张是user表,存储在tablestore中,包含了召回向量和特征向量。下一步将tablestore中数据和PAI-autolearning打通,经过召回数据的顾虑和召回策略的设置,最终给到PAI-EAS服务,同样封装成restful ap,作为召回服务的API,这样即形成了整个业务流程。

image.png


7)方案优势


最后看下阿里云推荐方案的优势,主要包括三点:

l 阿里云原生产品组合丰富,生态完善

资源丰富,产品组合多样,云服务器+对象存储+数据库弹性易用

l 成熟的机器学习平台PAI

包括业内主流的推荐算法、推荐服务,采用多路召回,成熟易用。

一站式的机器学习体验,包含机器学习全流程支持。

支持主流的深度学习框架,支持Tensorflow、Caffe、Mxnet

l 大规模计算存储MaxCompute+Dateworks数据治理

MaxCompute支持多种计算类型,强数据安全低成本。

Dateworks提供一站式数据开发与治理平台,自带阿里数据治理最佳实践。

image.png

二、核心产品讲解


1)召回算法


召回是整个推荐流程中第一次筛选候选集的环节,需要通过召回算法锁定排序候选集。召回算法分为i2i和u2i两种。i2i指的是基于已经购买过的item,提供相似的item。u2i指的是基于用户基于与用户相似的用户的购买行为,为用户进行推荐。

首先我们看Etrec,这个算法是一个经典的协同过滤算法。

另外GraphSage算法,这个算法是基于PAI最新开源的企业级图神经网络框架GNN开发的。图神经网络算法也是目前科研领域比较前沿的算法。

另外我们还提供了ALS算法。这是一种矩阵分解算法,ALS会基于用户的行为数据产生user embedding和item embedding。利用这两个embedding向量就可以实现基本的向量召回。举个例子介绍PAI的召回算法的作用:某段视频客户基于PAI的照顾算法,提升了视频的CTR点击的3%,用户的整体的停留市场也提升了11%。另外,也挖掘更多的长尾视频,保证视频的多样性,从而也提升了升视频生产者的积极性。

image.png


2)排序算法


下面再给大家介绍一下PAI现在提供的排序算法。排序算法在PAI平台是一套名为EasyRec的排序算法库。其中包含业内比较流行的深度学习排序算法DeepFM以及DIN。

另外,也有基于Youtube论文,PAI团队自行实现的MultiTower算法。

除此之外,我们也提供了基于用户历史行为数据序列进行建模的BST算法。用户可以基于这个算法去用他的用户的历史行为序列,做一个排序模型的建模。

MMOE算法是个多目标算法,因为在推荐业务中通常存在多目标的场景,比如既需要停留时长提升,也需要CTR提升,MMOE算法能很好的满足多目标的需求。

基于以上的排序算法,PAI团队在诸多业务场景下进行了验证,比如说帮某大型APP推送场景的客户的AUC场景提升了1个点;另外也帮助某社交媒体提升了AUC6个点。第三个例子是我们帮助某直播APP提升了它整体的点击率的CTR2个点。

image.png


三、最佳实践系统搭建


下面简单演示如何搭建基础环境,包括创建 RDS,Redis,OSS 等基础组件。这里采用 CADT 来拉起整个基础环境,使用 CADT 模板创建基础环境。

步骤 1 登录 CADT 控制台。(https://bpstudio.console.aliyun.com

步骤 2 依次打开新建->官方模板库新建,找到如下模板,点击基于模板新建。

image.pngimage.png

步骤 3 创建后,进入如下页面

image.png

这里根据模板中的设置,依次修改各个产品的参数。

VPC 配置参考如下:

image.png

 

RDS 配置:

image.png

RDS 到 ECS 的连接线,需要重新设置密码。

image.png

Tablestore 配置:

image.png

OSS 配置:

image.png

Redis 实例配置:

image.png

ECS 实例配置:

image.png


另外注意:

OSS 的地址要是全局唯一的,ots 的实例名称不能以 ots 开头,并且实例名称要全局唯一。

步骤 4 设置好参数后,点击保存,填写应用名称。

image.png

步骤 5 打开应用,部署应用

image.png

步骤 6 资源验证

image.png

步骤 7 计算价格

image.png

步骤 8 部署资源,点击后,大概需要 20 分钟创建资源。

image.png

步骤 9 部署资源结束后,如下图。

image.png

关于完整的搭建演示过程,大家可以用过https://bp.aliyun.com/detail/140

这个链接来访问本篇最佳实践文档内容,里面包含最佳实践场景和完整的搭建过程。

相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
22天前
|
机器学习/深度学习 搜索推荐 算法
基于机器学习的用户行为分析与个性化推荐系统
传统的用户行为分析和推荐系统常常受限于规则的刻板和模型的简单,无法准确捕捉用户的个性化需求。本文基于机器学习技术,探讨了一种更加灵活、精准的用户行为分析与个性化推荐系统设计方法,通过深度学习模型结合大数据分析,实现了对用户行为的更细致把握和更个性化的推荐服务。
|
1月前
|
机器学习/深度学习 存储 算法
利用机器学习优化数据中心冷却系统
【2月更文挑战第23天】 在数据中心的运营成本中,冷却系统占据了一大块。传统的冷却管理通常依赖于简单的规则或手动调整,无法适应复杂多变的热负荷和环境条件。本文提出了一种基于机器学习的方法来动态优化数据中心的冷却系统。我们设计了一个预测模型来估计未来的热负荷,并结合实时数据,通过优化算法调整冷却设备的工作状态,以降低能源消耗并保持适宜的运行温度。实验结果表明,该方法能够有效减少能耗,同时保证数据中心的冷却效率。
16 0
|
1月前
|
机器学习/深度学习 自然语言处理 运维
基于机器学习的网络安全威胁检测系统
【2月更文挑战第20天】 在数字化时代,网络安全已成为全球关注的焦点。随着攻击手段的日益复杂化,传统的安全防御措施已不足以应对新型的网络威胁。本文提出了一种基于机器学习的网络安全威胁检测系统,旨在通过智能算法提升威胁识别的准确性和效率。系统结合了多种机器学习技术,包括深度学习、异常检测和自然语言处理,以适应不同类型的网络攻击。经过严格的测试与验证,该系统显示出较传统方法更高的检出率及更低的误报率,为网络安全管理提供了一种新的解决方案。
|
1月前
|
机器学习/深度学习 传感器 算法
利用机器学习优化数据中心冷却系统
【2月更文挑战第15天】 在数据中心运营效率的众多挑战中,冷却系统的优化是一个关键因素。本文将探讨如何应用机器学习技术来改善数据中心的冷却性能,减少能源消耗,并提高整体的可持续性。通过分析历史温度数据、服务器负载以及环境参数,构建预测模型来动态调整冷却需求,实现智能化管理。本研究展示了一种创新方法,不仅提升了数据中心运行效率,也为其他工业冷却系统提供了可借鉴的解决方案。
16 1
|
2月前
|
机器学习/深度学习 存储 算法
基于Flask+Bootstrap+机器学习的世界杯比赛预测系统
基于Flask+Bootstrap+机器学习的世界杯比赛预测系统
56 0
|
2月前
|
机器学习/深度学习 数据采集 算法
基于Flask+Bootstrap+机器学习的南昌市租房价格预测系统(上)
基于Flask+Bootstrap+机器学习的南昌市租房价格预测系统
53 0
|
1月前
|
机器学习/深度学习 数据采集 安全
基于机器学习的网络安全威胁检测系统
【2月更文挑战第30天】 随着网络技术的迅猛发展,网络安全问题日益凸显,传统的安全防御机制面临新型攻击手段的挑战。本文提出一种基于机器学习的网络安全威胁检测系统,通过构建智能算法模型,实现对异常流量和潜在攻击行为的实时监测与分析。系统融合了深度学习与行为分析技术,旨在提高威胁识别的准确性与响应速度,为网络环境提供更为坚固的安全防线。
|
1月前
|
机器学习/深度学习 数据采集 安全
构建基于机器学习的网络安全威胁检测系统
【2月更文挑战第29天】 随着网络技术的飞速发展,网络安全问题日益凸显,传统的安全防御手段已难以应对日新月异的网络攻击手段。本文旨在探讨利用机器学习技术构建一个高效的网络安全威胁检测系统。首先分析了当前网络安全面临的主要挑战,接着介绍了机器学习在网络安全中的应用前景和潜力。随后详细阐述了该系统的设计原理、关键技术以及实现流程。最后通过实验验证了所提系统的有效性,并对未来的研究方向进行了展望。
21 1
|
1月前
|
机器学习/深度学习 传感器 算法
利用机器学习优化数据中心冷却系统
【2月更文挑战第29天】 在本文中,我们探讨了如何应用机器学习技术来改善数据中心的能源效率,特别是针对冷却系统的优化。传统的数据中心冷却方法常常采用静态的、预设的策略,忽视了环境变化和负载波动的影响。通过集成机器学习模型,我们能够实时分析数据中心的操作状况,并动态调整冷却策略,以实现节能和性能的双重提升。文中详细介绍了所采用的算法框架、实验设置以及与传统方法的性能比较。
|
1月前
|
机器学习/深度学习 数据采集 安全
探索基于机器学习的网络安全威胁检测系统
【2月更文挑战第27天】 随着网络技术的迅猛发展,网络安全问题日益严峻。传统的安全防御手段在面对不断进化的网络攻击时显得力不从心。本文旨在探讨一种基于机器学习的网络安全威胁检测系统的设计与实现,通过构建智能化的威胁识别模型,提升检测效率与准确率,为网络安全提供强有力的技术支持。
31 3