本文介紹在構(gòu)建通用推薦人工智能服務(wù)的用戶商品傾向模型方面MasterCard和Intel的合作項目。Analytics Zoo?[1] 是Intel開源的一個統(tǒng)一的Analytics + AI平臺爷狈,它無縫地將Spark挤安、TensorFlow、Keras和BigDL [2] 程序集成到一個整合的流水線中,可以透明地擴(kuò)展到大型Apache Hadoop/Spark集群中,用于分布式訓(xùn)練或預(yù)測,而無需額外的GPU基礎(chǔ)設(shè)施砌滞。
在金融行業(yè)中,用戶商品傾向模型可以用來計算消費(fèi)者在特定行業(yè)內(nèi)從商家或零售商處購買的概率坏怪。該模型可以用于展示市場研究前景贝润,或為相關(guān)金融產(chǎn)品或商業(yè)交易提供個性化建議。利用建立在Spark基礎(chǔ)上的基于深度學(xué)習(xí)的神經(jīng)推薦模型铝宵,推薦系統(tǒng)可以在改善消費(fèi)者體驗打掘、活動績效和目標(biāo)營銷產(chǎn)品/計劃的準(zhǔn)確性方面發(fā)揮重要作用,并提供相關(guān)信息以鼓勵忠誠度和獎勵。本文使用一個個性化的市場營銷業(yè)務(wù)用例作為示例胧卤,闡述從格式化的信用卡交易中預(yù)測用戶的購買商品的傾向:
通過優(yōu)惠匹配和鏈接不斷提高投資回報(ROI)是形成營銷活動設(shè)計和營銷管理的策略唯绍。
對于每個目標(biāo)商品(如商家、類別枝誊、地理位置)况芒,估算所有消費(fèi)者在未來幾天/幾周內(nèi)進(jìn)行購買的傾向,并提供一份作為候選人的消費(fèi)者排名表叶撒。同樣绝骚,該模型還可以為每個消費(fèi)者推薦一個商品的排名列表。
數(shù)據(jù)工程和深度學(xué)習(xí)流水線能夠在限定時間內(nèi)運(yùn)行在現(xiàn)有企業(yè)Apache Hadoop集群(帶有Spark服務(wù))之上祠够,以生成用戶商品傾向模型压汪。
模型服務(wù)作為人工智能的服務(wù):一種通用推薦人工智能服務(wù),可以在不同的服務(wù)環(huán)境(如實(shí)時古瓤、流式和批處理)下與現(xiàn)有應(yīng)用程序/服務(wù)集成止剖。
背景
MasterCard作為全球領(lǐng)先的支付解決方案提供商,正在將人工智能(AI)集成到其平臺中落君,以更好地為客戶服務(wù)穿香。Analytic Zoo,通過支持在大型Intel? Xeon?可擴(kuò)展處理器集群上運(yùn)行基于Spark的BigDL绎速,是滿足企業(yè)深度學(xué)習(xí)需求的理想解決方案皮获,因為它允許用戶直接在現(xiàn)有的大數(shù)據(jù)(Apache Hadoop/Spark)基礎(chǔ)設(shè)施上開發(fā)和運(yùn)行深度學(xué)習(xí)應(yīng)用程序。相比之下纹冤,在企業(yè)中部署基于GPU的解決方案存在許多挑戰(zhàn)(例如洒宝,錯誤的工具集成,昂貴的數(shù)據(jù)復(fù)制和移動萌京,耗時和工程人員資源密集雁歌,監(jiān)控較少,學(xué)習(xí)曲線陡峭等)知残,因為它們與現(xiàn)有數(shù)據(jù)分析基礎(chǔ)設(shè)施不兼容靠瞎。
深度學(xué)習(xí)可以通過營銷活動的有效性來推動更高的投資回報率。因此橡庞,著重于對消費(fèi)者行為的敏銳洞察较坛,根據(jù)客戶的興趣和喜好與客戶進(jìn)行連接印蔗。例如扒最,如果商家提供優(yōu)惠給購買潛力最高的消費(fèi)者,那么商家的優(yōu)惠是最有效的华嘹。傳統(tǒng)的機(jī)器學(xué)習(xí)算法在以前的解決方案中起著至關(guān)重要的作用吧趣。然而,業(yè)界正在尋求一種更健壯的簡化流程的解決方案,用于處理模型的復(fù)雜性强挫,勞動密集的特征工程過程岔霸,以及更高的精度。近年來俯渤,人們提出了許多基于深度學(xué)習(xí)的神經(jīng)推薦模型呆细,以進(jìn)一步提高營銷活動的有效性。
推薦系統(tǒng)概述
推薦系統(tǒng)(RS)是一種信息過濾工具八匠,用于引導(dǎo)用戶以個性化的方式從大量可能的選項中發(fā)現(xiàn)他們的偏好絮爷。它是為許多在線網(wǎng)站和移動應(yīng)用程序推廣銷售和服務(wù)的關(guān)鍵工具。例如梨树,80%在Netflix上觀看的電影來自推薦 [3]坑夯;60%的視頻點(diǎn)擊來自YouTube [4] 上的主頁推薦÷账模基于深度學(xué)習(xí)的推薦系統(tǒng)在克服傳統(tǒng)模型的障礙和實(shí)現(xiàn)高質(zhì)量推薦方面得到了廣泛的關(guān)注 [5]柜蜈。
推薦模型可分為三類:協(xié)同過濾、基于內(nèi)容和混合系統(tǒng)指巡。協(xié)同過濾通過學(xué)習(xí)用戶商品歷史交互淑履,通過顯式的(例如,用戶先前的評級)或隱式的反饋(例如厌处,購買歷史)來提出建議鳖谈。由于數(shù)據(jù)約束,在這個用例里面阔涉,協(xié)同過濾利用隱式數(shù)據(jù)缆娃。
傳統(tǒng)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的基準(zhǔn)測試
基準(zhǔn)概述
作為一個在Spark上本地運(yùn)行的集成分析和人工智能平臺,Analytic Zoo滿足企業(yè)深度學(xué)習(xí)應(yīng)用程序的標(biāo)準(zhǔn)要求瑰排。
1贯要、分析存儲在同一大數(shù)據(jù)集群上的大量數(shù)據(jù)(Hadoop分布式文件系統(tǒng)(HDFS)、Apache HBase和Apache Hive等)椭住,而不是移動或復(fù)制數(shù)據(jù)崇渗。
2、將深度學(xué)習(xí)功能添加到現(xiàn)有的分析應(yīng)用程序和機(jī)器學(xué)習(xí)流水線中京郑,而不是重建它們宅广。
利用現(xiàn)有的大數(shù)據(jù)集群和基礎(chǔ)設(shè)施(資源分配,負(fù)載管理和企業(yè)級的監(jiān)控)
3些举、減少特征工程工作量跟狱。在訓(xùn)練階段進(jìn)行交叉驗證時,深度學(xué)習(xí)算法會產(chǎn)生指數(shù)性增長的隱藏嵌入特征户魏,并自動執(zhí)行內(nèi)部特征選擇和優(yōu)化驶臊。在構(gòu)建模型時挪挤,算法只關(guān)注一些預(yù)先定義的滑動特征和自定義重疊特征,刪除大部分?Long Time Variable(LTV)預(yù)計算工作关翎,節(jié)省大量時間和資源扛门。
4、自動模型優(yōu)化纵寝。傳統(tǒng)的機(jī)器學(xué)習(xí)(ML)方法嚴(yán)重依賴于人機(jī)學(xué)習(xí)專家來優(yōu)化模型论寨。Analytics Zoo提供了更多選項來找到一個最佳的穩(wěn)健的執(zhí)行配置。
5爽茴、由于Analytic Zoo作為Intel Xeon處理器上的標(biāo)準(zhǔn)Spark程序運(yùn)行政基,因此部署或操作成本為零。
6闹啦、高層流水線API支持沮明,如DataFrames、ML管道窍奋、autograd荐健、遷移學(xué)習(xí)、KERS/KERAS2等琳袄。
考慮到MasterCard已經(jīng)為類似的模型運(yùn)行了幾十年的傳統(tǒng)機(jī)器學(xué)習(xí)江场,并且在Spark ML生態(tài)系統(tǒng)(如Spark MLlib)上花費(fèi)了資源,業(yè)務(wù)利益相關(guān)者希望對這兩種方法進(jìn)行基準(zhǔn)測試窖逗,并確定其差異址否。因此,在Spark機(jī)器學(xué)習(xí)和Analytics Zoo的BigDL模型進(jìn)行了基準(zhǔn)測試碎紊。
選擇數(shù)據(jù)集:
數(shù)據(jù)來自過去三年中從特定渠道收集的數(shù)據(jù)集淫半。
1)不同的合格消費(fèi)者:675,000
2)用于基準(zhǔn)的目標(biāo)商家(優(yōu)惠或廣告系列):2000
3)已知交易:14億(原始數(shù)據(jù)53 GB)消費(fèi)時間:12 - 24個月作為訓(xùn)練和1 - 2個月作為驗證
生產(chǎn)環(huán)境Hadoop集群:
1)9個節(jié)點(diǎn)集群(3個主機(jī)主節(jié)點(diǎn)(HMN)節(jié)點(diǎn)缓升,6個Hortonworks數(shù)據(jù)平臺(HDP)節(jié)點(diǎn))眠屎,每個節(jié)點(diǎn)放在一個物理盒中
2)24個超級內(nèi)核千扶,384 GB內(nèi)存,21 TB磁盤
3)Hadoop發(fā)行版本:Cloudera Distributed Hadoop(CDH)5.12.1
4)Spark版本:2.2
5)Java *平臺秃嗜,標(biāo)準(zhǔn)版開發(fā)工具包(JDK *)1.8
基準(zhǔn)庫:
1)Analytics Zoo- bigdl_0.6.0-spark_2.2.0
2)Spark MLlib 2.2.0
對于傳統(tǒng)的機(jī)器學(xué)習(xí)方法权均,選擇Spark MLlib方法的交替最小二乘(ALS)模型 [6]。
對于深度學(xué)習(xí)方法锅锨,基于最新的研究和行業(yè)實(shí)踐叽赊,選擇了神經(jīng)協(xié)同過濾(NCF)和寬深(WAD)模型作為推薦的兩個候選模型。來自Analytics Zoo的Keras風(fēng)格API也被用于用python和scala構(gòu)建深度學(xué)習(xí)模型必搞。
深度學(xué)習(xí)模型闡述
神經(jīng)協(xié)同過濾(NCF)模型
Xiangnan He [7] 首先提出的簡單通用的NCF模型必指,旨在作為開發(fā)推薦服務(wù)深度學(xué)習(xí)方法的指導(dǎo),以捕捉用戶和物品之間的非線性關(guān)系顾画。由于存在大量未觀察到的實(shí)例取劫,NCF采用負(fù)抽樣來減小訓(xùn)練數(shù)據(jù)量,顯著提高了學(xué)習(xí)效率研侣。傳統(tǒng)的矩陣分解可以看作是NCF的一個特例谱邪。使用Analytics Zoo,用戶可以輕松構(gòu)建NCF模型庶诡,如下圖所示惦银。
寬深(WAD)模型
2016年,Heng Tze Cheng [8] 為Google Play商店提出了一個應(yīng)用推薦系統(tǒng)末誓,該系統(tǒng)采用了寬深(wad)模式扯俱。寬分量是一個單層感知器,它是一個廣義線性模型喇澡。深部分量是類似于NCF的多層感知器迅栅。結(jié)合這兩種學(xué)習(xí)技術(shù),推薦系統(tǒng)可以捕獲記憶和泛化晴玖。在這種情況下读存,Merchant ID和其他特性用于生成寬模型的交叉列。
WAD模型使用了SparseTensor呕屎,以及為稀疏數(shù)據(jù)計算明確設(shè)計的一些的層让簿,例如SparseLinear, SparseJoinTable等。Analytics Zoo支持DataFrame和彈性分布式數(shù)據(jù)集(RDD)兩種接口秀睛,用于數(shù)據(jù)準(zhǔn)備和訓(xùn)練尔当,為不同場景提供靈活性,允許Spark 1.5兼容到最新版本蹂安。
模型評估
利用Spark?MLlib ALS的評價工具椭迎,NCF和WAD實(shí)現(xiàn)的推薦器用下列指標(biāo)進(jìn)行測量。
1田盈、ROC曲線下面積(ROC AUG)
2侠碧、精確度與召回率曲線下面積(PR AUC)
3、精準(zhǔn)度與召回率 (?https://en.wikipedia.org/wiki/Precision_and_recall?)
4缠黍、每位客戶排名前20位的精準(zhǔn)度
為了與傳統(tǒng)的矩陣分解算法相比弄兜,在SARS2.2.0上的ALS訓(xùn)練采用了相同的數(shù)據(jù)和優(yōu)化參數(shù)。相比之下瓷式,深度學(xué)習(xí)模型比ALS模型有顯著的改進(jìn)替饿,如下表所示。
模型服務(wù)
服務(wù)方式
通過使用Plain Old Java Object(POJO)贸典,本地Java API或Scala / Python模型加載API视卢,Analytic Zoo模型可以無縫集成到Web服務(wù)(如Spark Streaming,Kafka?等)中廊驼。
MasterCard使用數(shù)據(jù)流水線框架Apache NiFi [9] 構(gòu)建企業(yè)數(shù)據(jù)流水線平臺据过。它開發(fā)了相關(guān)的定制處理器惋砂,通過利用Analytic Zoo的服務(wù)API,將深度學(xué)習(xí)和模型服務(wù)流程嵌入到現(xiàn)有的企業(yè)數(shù)據(jù)流水線中绳锅。
通過將模型導(dǎo)出到評分/預(yù)測/推薦服務(wù)和集成點(diǎn)來構(gòu)建模型服務(wù)功能西饵。
在業(yè)務(wù)數(shù)據(jù)流水線中集成服務(wù)模型。例如鳞芙,將它們嵌入到離線的Spark作業(yè)眷柔,流式處理的Spark Streaming作業(yè),或與通過Kafka消息系統(tǒng)的實(shí)時“對話”等等原朝。
摘要
本文介紹了我們使用Analytic Zoo深度學(xué)習(xí)建立基于消費(fèi)者交易歷史的推薦AI服務(wù)的經(jīng)驗驯嘱,為滿足企業(yè)的深度學(xué)習(xí)需求提供了一個很好的解決方案。開發(fā)并評估了兩種深度學(xué)習(xí)模型(NCF喳坠,WAD)鞠评。與傳統(tǒng)的機(jī)器學(xué)習(xí)算法(如LR或ALS)相比,深度學(xué)習(xí)模型可以顯著提高推薦的質(zhì)量并簡化模型訓(xùn)練程序壕鹉。作為端到端的行業(yè)用例谢澈,我們展示了如何利用Analytic Zoo的深度學(xué)習(xí)來構(gòu)建一個出色的推薦系統(tǒng),以幫助加強(qiáng)MasterCard的營銷和個性化能力的重要組成部分御板。
參考
1锥忿、Analytics Zoo
2、BigDL
3怠肋、Carlos A Gomez-Uribe and Neil Hunt. 2016. Netflix推薦系統(tǒng):算法敬鬓、商業(yè)價值和創(chuàng)新。管理信息系統(tǒng)的ACM事務(wù)(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推薦系統(tǒng)會議錄第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