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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容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)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
9月前
|
机器学习/深度学习 搜索推荐 算法
基于机器学习的用户行为分析与个性化推荐系统
传统的用户行为分析和推荐系统常常受限于规则的刻板和模型的简单,无法准确捕捉用户的个性化需求。本文基于机器学习技术,探讨了一种更加灵活、精准的用户行为分析与个性化推荐系统设计方法,通过深度学习模型结合大数据分析,实现了对用户行为的更细致把握和更个性化的推荐服务。
|
9月前
|
机器学习/深度学习 自然语言处理 搜索推荐
探索机器学习在个性化推荐系统中的应用
【4月更文挑战第23天】 随着大数据和人工智能技术的迅猛发展,机器学习已成为推动个性化推荐系统革新的关键动力。本文将深入探讨如何通过机器学习算法提升推荐系统的精准度和用户体验。首先,概述了推荐系统的工作原理及其重要性;随后,详细分析了几种主流的机器学习技术以及它们在构建个性化推荐系统中的应用实例;最后,讨论了当前面临的挑战及未来的发展趋势。
|
1月前
|
存储 分布式计算 算法
企业级推荐开发平台 PAI-Rec
本文介绍了企业推荐系统的关键技术和解决方案。主要内容分为四部分:1) 推荐系统面临的挑战,如数据治理和算法优化;2) 提高开发效率的解决方案,通过配置化和自动化减少重复工作;3) 高性能推荐算法和推理服务,包括GPU优化和特征组合;4) 高效特征管理平台PAI FeatureStore,支持离线和实时特征处理。文中还提到了EasyRecTorch框架,用于加速训练和推理,并分享了如何通过这些工具提升推荐系统的性能和降低成本。
|
2月前
|
人工智能 安全 算法
PAI负责任的AI解决方案: 安全、可信、隐私增强的企业级AI
在《PAI可信AI解决方案》会议中,分享了安全、可信、隐私增强的企业级AI。会议围绕三方面展开:首先通过三个案例介绍生活和技术层面的挑战;其次阐述构建AI的关键要素;最后介绍阿里云PAI的安全功能及未来展望,确保数据、算法和模型的安全与合规,提供全方位的可信AI解决方案。
|
1月前
|
人工智能 运维 API
PAI企业级能力升级:应用系统构建、高效资源管理、AI治理
PAI平台针对企业用户在AI应用中的复杂需求,提供了全面的企业级能力。涵盖权限管理、资源分配、任务调度与资产管理等模块,确保高效利用AI资源。通过API和SDK支持定制化开发,满足不同企业的特殊需求。典型案例中,某顶尖高校基于PAI构建了融合AI与HPC的科研计算平台,实现了作业、运营及运维三大中心的高效管理,成功服务于校内外多个场景。
|
3月前
|
机器学习/深度学习 搜索推荐 算法
在数字化时代,推荐系统成为互联网应用的重要组成部分,通过机器学习技术根据用户兴趣和行为提供个性化推荐,提升用户体验
在数字化时代,推荐系统成为互联网应用的重要组成部分,通过机器学习技术根据用户兴趣和行为提供个性化推荐,提升用户体验。本文探讨了推荐系统的基本原理、常用算法、实现步骤及Python应用,介绍了如何克服数据稀疏性、冷启动等问题,强调了合理选择算法和持续优化的重要性。
124 4
|
9月前
|
机器学习/深度学习 数据采集 搜索推荐
探索机器学习在个性化推荐系统中的应用
【5月更文挑战第30天】 随着数字内容的激增,个性化推荐系统成为缓解信息过载的关键工具。本文将深入探讨机器学习技术在构建高效个性化推荐系统中的核心作用,涵盖算法选择、数据处理及系统优化等方面。通过对比不同机器学习模型,如协同过滤、内容推荐以及混合方法,本文旨在为读者提供一套明确的指导框架,以实现更加精准和用户友好的推荐服务。
206 2
|
8月前
|
机器学习/深度学习 搜索推荐 算法
运用机器学习提升返利App的个性化推荐系统
运用机器学习提升返利App的个性化推荐系统
|
9月前
|
机器学习/深度学习 分布式计算 搜索推荐
探索机器学习在个性化推荐系统中的应用
【5月更文挑战第21天】 随着大数据时代的到来,个性化推荐系统在商业和用户体验中扮演着日益重要的角色。机器学习作为实现智能化推荐的核心技术之一,其算法与模型的发展直接影响着推荐系统的效能。本文将深入剖析机器学习技术在构建个性化推荐系统中的关键作用,探讨不同算法的优势与局限性,并提出创新性的优化策略以增强推荐的准确性和用户满意度。通过实例分析,揭示机器学习如何助力推荐系统更好地理解用户需求,进而推动个性化服务的发展。
87 3
|
9月前
|
机器学习/深度学习 搜索推荐 算法
探索机器学习在个性化推荐系统中的应用
【5月更文挑战第29天】随着大数据时代的到来,个性化推荐系统已成为解决信息过载问题的关键工具。本文深入探讨了机器学习技术在构建个性化推荐系统中的应用与挑战,重点分析了协同过滤、内容推荐及混合推荐等主流算法的原理和实现。同时,针对当前算法面临的冷启动问题、可扩展性问题以及隐私保护问题提出了可能的解决策略。通过实验对比,验证了不同算法在处理特定类型数据集时的性能表现,并对未来推荐系统的发展趋势进行了展望。

热门文章

最新文章