Analytic Zoo的深度学习对MasterCard的推荐AI服务的优化

2023-10-13 07:10

本文主要是介绍Analytic Zoo的深度学习对MasterCard的推荐AI服务的优化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文介绍在构建通用推荐人工智能服务的用户商品倾向模型方面MasterCard和Intel的合作项目。Analytics Zoo [1] 是Intel开源的一个统一的Analytics + AI平台,它无缝地将Spark、TensorFlow、Keras和BigDL[2] 程序集成到一个整合的流水线中,可以透明地扩展到大型Apache Hadoop/Spark集群中,用于分布式训练或预测,而无需额外的GPU基础设施。

在金融行业中,用户商品倾向模型可以用来计算消费者在特定行业内从商家或零售商处购买的概率。该模型可以用于展示市场研究前景,或为相关金融产品或商业交易提供个性化建议。利用建立在Spark基础上的基于深度学习的神经推荐模型,推荐系统可以在改善消费者体验、活动绩效和目标营销产品/计划的准确性方面发挥重要作用,并提供相关信息以鼓励忠诚度和奖励。本文使用一个个性化的市场营销业务用例作为示例,阐述从格式化的信用卡交易中预测用户的购买商品的倾向:

  1. 通过优惠匹配和链接不断提高投资回报(ROI)是形成营销活动设计和营销管理的策略。
  2. 对于每个目标商品(如商家、类别、地理位置),估算所有消费者在未来几天/几周内进行购买的倾向,并提供一份作为候选人的消费者排名表。同样,该模型还可以为每个消费者推荐一个商品的排名列表。
  3. 数据工程和深度学习流水线能够在限定时间内运行在现有企业Apache Hadoop集群(带有Spark服务)之上,以生成用户商品倾向模型。
  4. 模型服务作为人工智能的服务:一种通用推荐人工智能服务,可以在不同的服务环境(如实时、流式和批处理)下与现有应用程序/服务集成。

背景

MasterCard作为全球领先的支付解决方案提供商,正在将人工智能(AI)集成到其平台中,以更好地为客户服务。Analytic Zoo通过支持在大型Intel® Xeon®可扩展处理器集群上运行基于Spark的BigDL,是满足企业深度学习需求的理想解决方案,因为它允许用户直接在现有的大数据(Apache Hadoop/Spark)基础设施上开发和运行深度学习应用程序。相比之下,在企业中部署基于GPU的解决方案存在许多挑战(例如,错误的工具集成,昂贵的数据复制和移动,耗时和工程人员资源密集,监控较少,学习曲线陡峭等),因为它们与现有数据分析基础设施不兼容。

深度学习可以通过营销活动的有效性来推动更高的投资回报率。因此,着重于对消费者行为的敏锐洞察,根据客户的兴趣和喜好与客户进行连接。例如,如果商家提供优惠给购买潜力最高的消费者,那么商家的优惠是最有效的。传统的机器学习算法在以前的解决方案中起着至关重要的作用。然而,业界正在寻求一种更健壮的简化流程的解决方案,用于处理模型的复杂性,劳动密集的特征工程过程,以及更高的精度。近年来,人们提出了许多基于深度学习的神经推荐模型,以进一步提高营销活动的有效性。

推荐系统概述

推荐系统(RS)是一种信息过滤工具,用于引导用户以个性化的方式从大量可能的选项中发现他们的偏好。它是为许多在线网站和移动应用程序推广销售和服务的关键工具。例如,80%在Netflix上观看的电影来自推荐 [3];60%的视频点击来自YouTube [4] 上的主页推荐。基于深度学习的推荐系统在克服传统模型的障碍和实现高质量推荐方面得到了广泛的关注 [5] 。

推荐模型可分为三类:协同过滤、基于内容和混合系统。协同过滤通过学习用户商品历史交互,通过显式的(例如,用户先前的评级)或隐式的反馈(例如,购买历史)来提出建议。由于数据约束,在这个用例里面,协同过滤利用隐式数据。
传统机器学习和深度学习的基准测试

基准概述

作为一个在Spark上本地运行的集成分析和人工智能平台,Analytic Zoo满足企业深度学习应用程序的标准要求。

  • 分析存储在同一大数据集群上的大量数据(Hadoop分布式文件系统(HDFS)、Apache HBase和Apache Hive等),而不是移动或复制数据。
  • 将深度学习功能添加到现有的分析应用程序和机器学习流水线中,而不是重建它们。
  • 利用现有的大数据集群和基础设施(资源分配,负载管理和企业级的监控)
  • 减少特征工程工作量。在训练阶段进行交叉验证时,深度学习算法会产生指数性增长的隐藏嵌入特征,并自动执行内部特征选择和优化。在构建模型时,算法只关注一些预先定义的滑动特征和自定义重叠特征,删除大部分 Long Time Variable(LTV)预计算工作,节省大量时间和资源。
  • 自动模型优化。传统的机器学习(ML)方法严重依赖于人机学习专家来优化模型。Analytics Zoo提供了更多选项来找到一个最佳的稳健的执行配置。
  • 由于Analytic Zoo作为Intel Xeon处理器上的标准Spark程序运行,因此部署或操作成本为零。
  • 高层流水线API支持,如DataFrames、ML管道、autograd、迁移学习、KERS/KERAS2等。

考虑到MasterCard已经为类似的模型运行了几十年的传统机器学习,并且在Spark ML生态系统(如Spark MLlib)上花费了资源,业务利益相关者希望对这两种方法进行基准测试,并确定其差异。因此,在Spark机器学习和Analytics Zoo的BigDL模型进行了基准测试。

选择数据集
数据来自过去三年中从特定渠道收集的数据集:

  • 不同的合格消费者:675,000
  • 用于基准的目标商家(优惠或广告系列):200
  • 已知交易:14亿(原始数据53GB)消费时间:12 - 24个月作为训练和1 - 2个月作为验证

生产环境Hadoop集群:

  • 9个节点集群(3个主机主节点(HMN)节点,6个Hortonworks数据平台(HDP)节点),每个节点放在一个物理盒中
  • 24个超级内核,384 GB内存,21 TB磁盘
  • Hadoop发行版本:Cloudera Distributed
  • Hadoop(CDH)5.12.1
  • Spark版本:2.2
  • Java *平台,标准版开发工具包(JDK *)1.8

基准库:

  • Analytics Zoo- bigdl_0.6.0-spark_2.2.0
  • Spark MLlib 2.2.0

对于传统的机器学习方法,选择Spark MLlib方法的交替最小二乘(ALS)模型 [6] 。

对于深度学习方法,基于最新的研究和行业实践,选择了神经协同过滤(NCF)和宽深(WAD)模型作为推荐的两个候选模型。来自Analytics Zoo的Keras风格API也被用于用python和scala构建深度学习模型。
在这里插入图片描述
图1.将深度学习模型与ALS模型进行比较

深度学习模型阐述

神经协同过滤(NCF)模型
Xiangnan He [7] 首先提出的简单通用的NCF模型,旨在作为开发推荐服务深度学习方法的指导,以捕捉用户和物品之间的非线性关系。由于存在大量未观察到的实例,NCF采用负抽样来减小训练数据量,显著提高了学习效率。传统的矩阵分解可以看作是NCF的一个特例。使用Analytics Zoo,用户可以轻松构建NCF模型,如下图所示。
在这里插入图片描述
图2.神经协同过滤(NCF)模型的示例

宽深(WAD)模型
2016年,Heng Tze Cheng [8] 为Google Play商店提出了一个应用推荐系统,该系统采用了宽深(wad)模式。宽分量是一个单层感知器,它是一个广义线性模型。深部分量是类似于NCF的多层感知器。结合这两种学习技术,推荐系统可以捕获记忆和泛化。在这种情况下,Merchant ID和其他特性用于生成宽模型的交叉列。
在这里插入图片描述
图3.宽深模型图

WAD模型使用了SparseTensor,以及为稀疏数据计算明确设计的一些的层,例如SparseLinear, SparseJoinTable等。Analytics Zoo支持DataFrame和弹性分布式数据集(RDD)两种接口,用于数据准备和训练,为不同场景提供灵活性,允许Spark 1.5兼容到最新版本。

模型评估

利用Spark MLlib ALS的评价工具,NCF和WAD实现的推荐器用下列指标进行测量。

  • ROC曲线下面积(ROC AUG)
  • 精确度与召回率曲线下面积(PR AUC)
  • 精准度与召回率 (https://en.wikipedia.org/wiki/Precision_and_recall )
  • 每位客户排名前20位的精准度

为了与传统的矩阵分解算法相比,在SARS2.2.0上的ALS训练采用了相同的数据和优化参数。相比之下,深度学习模型比ALS模型有显著的改进,如下表所示。

NCF 模型WAD模型
对比ALS召回率改进29%26%
对比ALS精准度提升18%21%
对比ALS前20个精准度增长14%16%

模型服务

服务方式

通过使用Plain Old Java Object(POJO),本地Java API或Scala / Python模型加载API,Analytic Zoo模型可以无缝集成到Web服务(如Spark Streaming,Kafka 等)中。

MasterCard使用数据流水线框架Apache NiFi [9] 构建企业数据流水线平台。它开发了相关的定制处理器,通过利用Analytic Zoo的服务API,将深度学习和模型服务流程嵌入到现有的企业数据流水线中。

  • 通过将模型导出到评分/预测/推荐服务和集成点来构建模型服务功能。
  • 在业务数据流水线中集成服务模型。例如,将它们嵌入到离线的Spark作业,流式处理的Spark
  • Streaming作业,或与通过Kafka消息系统的实时“对话”等等。

摘要

本文介绍了我们使用Analytic Zoo深度学习建立基于消费者交易历史的推荐AI服务的经验,为满足企业的深度学习需求提供了一个很好的解决方案。开发并评估了两种深度学习模型(NCF,WAD)。与传统的机器学习算法(如LR或ALS)相比,深度学习模型可以显着提高推荐的质量并简化模型训练程序。作为端到端的行业用例,我们展示了如何利用Analytic Zoo的深度学习来构建一个出色的推荐系统,以帮助加强MasterCard的营销和个性化能力的重要组成部分。

参考

  1. Analytics Zoo
  2. BigDL
  3. Carlos A Gomez-Uribe and Neil Hunt. 2016. Netflix推荐系统:算法、商业价值和创新。管理信息系统的ACM事务(TMIS) 6, 4 (2016), 13.
  4. James Davidson, Benjamin Liebald, Junning Liu, Palash Nandy, Taylor Van Vleet, Ullas Gargi, Sujoy Gupta, Yu He, Mike Lambert, Blake Livingston, and Dasarathi Sampath. 2010. The YouTube Video Recommendation System. 第四届ACM推荐系统会议录第29页至第29页(RecSys ‘10).
  5. Shuai Zhang, Lina Yao, and Aixin Sun. Deep learning-based Recommender System: A Survey and New Perspectives. arXiv preprint arXiv:1707.07435, 2017.
  6. Robert M. Bell and Yehuda Koren. Scalable Collaborative Filtering with Jointly Derived Neighborhood Interpolation Weights
  7. Xiangnan He, Lizi Liao, Hanwang Zhang, Liqiang Nie, Xia Hu, and Tat-Seng Chua. 2017. Neural Collaborative Filtering. In Proceedings of the 26th International Conference on World Wide Web. International World Wide Web Conferences Steering Committee, 173–182.
  8. Heng-Tze Cheng, Levent Koc, Jeremiah Harmsen, Tal Shaked, Tushar Chandra, Hrishi Aradhye, Glen Anderson, Greg Corrado, Wei Chai, Mustafa Ispir, et al. 2016. Wide and Deep Learning for Recommender Systems. In Proceedings of the 1st Workshop on Deep Learning for Recommender Systems. ACM, 7–10.
  9. Apache NiFi

译文出处: https://software.intel.com/en-us/articles/deep-learning-with-analytic-zoo-optimizes-mastercard-recommender-ai-service

这篇关于Analytic Zoo的深度学习对MasterCard的推荐AI服务的优化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/201574

相关文章

Tomcat高效部署与性能优化方式

《Tomcat高效部署与性能优化方式》本文介绍了如何高效部署Tomcat并进行性能优化,以确保Web应用的稳定运行和高效响应,高效部署包括环境准备、安装Tomcat、配置Tomcat、部署应用和启动T... 目录Tomcat高效部署与性能优化一、引言二、Tomcat高效部署三、Tomcat性能优化总结Tom

SpringBoot整合DeepSeek实现AI对话功能

《SpringBoot整合DeepSeek实现AI对话功能》本文介绍了如何在SpringBoot项目中整合DeepSeekAPI和本地私有化部署DeepSeekR1模型,通过SpringAI框架简化了... 目录Spring AI版本依赖整合DeepSeek API key整合本地化部署的DeepSeek

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

MySql9.1.0安装详细教程(最新推荐)

《MySql9.1.0安装详细教程(最新推荐)》MySQL是一个流行的关系型数据库管理系统,支持多线程和多种数据库连接途径,能够处理上千万条记录的大型数据库,本文介绍MySql9.1.0安装详细教程,... 目录mysql介绍:一、下载 Mysql 安装文件二、Mysql 安装教程三、环境配置1.右击此电脑

解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)

《解读Redis秒杀优化方案(阻塞队列+基于Stream流的消息队列)》该文章介绍了使用Redis的阻塞队列和Stream流的消息队列来优化秒杀系统的方案,通过将秒杀流程拆分为两条流水线,使用Redi... 目录Redis秒杀优化方案(阻塞队列+Stream流的消息队列)什么是消息队列?消费者组的工作方式每

在 Windows 上安装 DeepSeek 的完整指南(最新推荐)

《在Windows上安装DeepSeek的完整指南(最新推荐)》在Windows上安装DeepSeek的完整指南,包括下载和安装Ollama、下载DeepSeekRXNUMX模型、运行Deep... 目录在www.chinasem.cn Windows 上安装 DeepSeek 的完整指南步骤 1:下载并安装

深入理解Apache Airflow 调度器(最新推荐)

《深入理解ApacheAirflow调度器(最新推荐)》ApacheAirflow调度器是数据管道管理系统的关键组件,负责编排dag中任务的执行,通过理解调度器的角色和工作方式,正确配置调度器,并... 目录什么是Airflow 调度器?Airflow 调度器工作机制配置Airflow调度器调优及优化建议最

微服务架构之使用RabbitMQ进行异步处理方式

《微服务架构之使用RabbitMQ进行异步处理方式》本文介绍了RabbitMQ的基本概念、异步调用处理逻辑、RabbitMQ的基本使用方法以及在SpringBoot项目中使用RabbitMQ解决高并发... 目录一.什么是RabbitMQ?二.异步调用处理逻辑:三.RabbitMQ的基本使用1.安装2.架构

Spring Boot统一异常拦截实践指南(最新推荐)

《SpringBoot统一异常拦截实践指南(最新推荐)》本文介绍了SpringBoot中统一异常处理的重要性及实现方案,包括使用`@ControllerAdvice`和`@ExceptionHand... 目录Spring Boot统一异常拦截实践指南一、为什么需要统一异常处理二、核心实现方案1. 基础组件

Java中使用Java Mail实现邮件服务功能示例

《Java中使用JavaMail实现邮件服务功能示例》:本文主要介绍Java中使用JavaMail实现邮件服务功能的相关资料,文章还提供了一个发送邮件的示例代码,包括创建参数类、邮件类和执行结... 目录前言一、历史背景二编程、pom依赖三、API说明(一)Session (会话)(二)Message编程客