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

相关文章

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

Java嵌套for循环优化方案分享

《Java嵌套for循环优化方案分享》介绍了Java中嵌套for循环的优化方法,包括减少循环次数、合并循环、使用更高效的数据结构、并行处理、预处理和缓存、算法优化、尽量减少对象创建以及本地变量优化,通... 目录Java 嵌套 for 循环优化方案1. 减少循环次数2. 合并循环3. 使用更高效的数据结构4

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI集成DeepSeek实现流式输出的操作方法

《SpringAI集成DeepSeek实现流式输出的操作方法》本文介绍了如何在SpringBoot中使用Sse(Server-SentEvents)技术实现流式输出,后端使用SpringMVC中的S... 目录一、后端代码二、前端代码三、运行项目小天有话说题外话参考资料前面一篇文章我们实现了《Spring

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Nginx配置系统服务&设置环境变量方式

《Nginx配置系统服务&设置环境变量方式》本文介绍了如何将Nginx配置为系统服务并设置环境变量,以便更方便地对Nginx进行操作,通过配置系统服务,可以使用系统命令来启动、停止或重新加载Nginx... 目录1.Nginx操作问题2.配置系统服android务3.设置环境变量总结1.Nginx操作问题

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

Python与DeepSeek的深度融合实战

《Python与DeepSeek的深度融合实战》Python作为最受欢迎的编程语言之一,以其简洁易读的语法、丰富的库和广泛的应用场景,成为了无数开发者的首选,而DeepSeek,作为人工智能领域的新星... 目录一、python与DeepSeek的结合优势二、模型训练1. 数据准备2. 模型架构与参数设置3