本文摘自達(dá)觀數(shù)據(jù)出版書籍《推薦系統(tǒng)算法、案例與大模型》
上篇從項(xiàng)目背景介紹、核心功能模塊分享了達(dá)觀數(shù)據(jù)在金融行業(yè)實(shí)施推薦系統(tǒng)的經(jīng)驗(yàn),下篇將繼續(xù)從技術(shù)實(shí)現(xiàn)方案、項(xiàng)目主要成果等方面繼續(xù)分享達(dá)觀數(shù)據(jù)在金融行業(yè)實(shí)施推薦系統(tǒng)的經(jīng)驗(yàn)。
技術(shù)實(shí)現(xiàn)方案
上面講完了該項(xiàng)目的背景和核心功能模塊,下面我們基于推薦系統(tǒng)核心算法和達(dá)觀提供的工具來給出具體的技術(shù)實(shí)現(xiàn)方案。
01?系統(tǒng)總體架構(gòu)
系統(tǒng)總體架構(gòu)上分為平臺(tái)層、功能層和應(yīng)用層,接下來簡(jiǎn)單介紹下平臺(tái)層中的相關(guān)平臺(tái)的功能。
圖1?智能推薦系統(tǒng)總體架構(gòu)
01大數(shù)據(jù)服務(wù)平臺(tái)
??依托數(shù)據(jù)中臺(tái)的海量數(shù)據(jù)處理能力,提供推薦應(yīng)用所需的內(nèi)外部批量和復(fù)雜實(shí)時(shí)用戶數(shù)據(jù)、物品數(shù)據(jù)和行為數(shù)據(jù)加工處理,生成數(shù)字畫像標(biāo)簽提供給推薦平臺(tái)分析應(yīng)用。
02模型服務(wù)與管理平臺(tái)
? ?支撐個(gè)性化推薦應(yīng)用模型體系訓(xùn)練、驗(yàn)證及批量模型部署,為智能推薦服務(wù)平臺(tái)提供分析建模工具支撐,生成訓(xùn)練好的推薦模型包,供推薦平臺(tái)部署,提供推薦模型服務(wù)。
03企業(yè)級(jí)事件平臺(tái)
??提供個(gè)性化推薦應(yīng)用所需的實(shí)時(shí)事件感知采集,供大數(shù)據(jù)平臺(tái)處理,同時(shí)接收來自智能推薦服務(wù)平臺(tái)的推薦指令,實(shí)時(shí)流轉(zhuǎn)到組織經(jīng)營平臺(tái)智能分發(fā)渠道端進(jìn)行處理。
04通知平臺(tái)系統(tǒng)
??提供推薦平臺(tái)運(yùn)行報(bào)警時(shí)系統(tǒng)自動(dòng)通知郵件、短信功能。
05統(tǒng)一權(quán)限管理系統(tǒng)
? 行內(nèi)用戶身份統(tǒng)一認(rèn)證管理。
02系統(tǒng)數(shù)據(jù)流
整體數(shù)據(jù)流按照ETL、存儲(chǔ)和加工處理進(jìn)行順序處理。
圖2?智能推薦系統(tǒng)數(shù)據(jù)流
1基于推薦業(yè)務(wù)場(chǎng)景,梳理原始輸入數(shù)據(jù),包括用戶數(shù)據(jù)、物品數(shù)據(jù)、用戶行為和其它相關(guān)數(shù)據(jù)。
2針對(duì)源數(shù)據(jù)存放位置的差異,開發(fā)不同的數(shù)據(jù)加載邏輯,通過API方式進(jìn)行數(shù)據(jù)接收并緩存到消息隊(duì)列里,接著從隊(duì)列里消費(fèi)數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理等操作并按照預(yù)定邏輯存放到不同的位置。
3基于接收到的多維度數(shù)據(jù)進(jìn)行業(yè)務(wù)邏輯處理。
- 實(shí)時(shí)推薦服務(wù),包括推薦API請(qǐng)求的參數(shù)解析和校驗(yàn)、場(chǎng)景推薦配置信息獲取和解析、執(zhí)行包括召回排序等推薦邏輯、返回推薦結(jié)果等。
- 離線挖掘分析,包括用戶畫像和物品畫像構(gòu)建、NLP分析、特征工程、排序模型訓(xùn)練、推薦召回結(jié)果生成、數(shù)據(jù)指標(biāo)統(tǒng)計(jì)等;
- 近線挖掘分析,包括用戶和物品的冷啟動(dòng)處理、近實(shí)時(shí)行為數(shù)據(jù)處理、推薦結(jié)果的預(yù)生成等;實(shí)時(shí)推薦服務(wù),包括參數(shù)解析,基于召回、排序、運(yùn)營干預(yù)、兜底等推薦流程生成推薦結(jié)果,接口異常及超時(shí)降級(jí)處理等;
- 后臺(tái)管理系統(tǒng),包括各種指標(biāo)數(shù)據(jù)的統(tǒng)計(jì)展示,算法及運(yùn)營規(guī)則的配置,用戶、角色及權(quán)限的配置管理等;
- 系統(tǒng)運(yùn)維,包括日志統(tǒng)一收集,效果指標(biāo)和服務(wù)狀態(tài)的監(jiān)控,鑒權(quán)控制,資源使用統(tǒng)計(jì)等;
03?模型特征加工流程
模型特征涉及到離線特征和實(shí)時(shí)特征的加工處理及線上預(yù)測(cè)的工程化處理,主要是依賴大數(shù)據(jù)技術(shù)和Redis相結(jié)合。
圖3?智能推薦系統(tǒng)模型特征加工流程
智能推薦平臺(tái)的特征處理模塊基于用戶、物品及其交付的多樣化輸入數(shù)據(jù),實(shí)現(xiàn)離線特征(批處理/微批處理)、實(shí)時(shí)特征等多維度加工處理,同時(shí)支持自定義特征數(shù)據(jù)的導(dǎo)入,以應(yīng)用于模型訓(xùn)練、模型實(shí)時(shí)預(yù)測(cè)、模型批量預(yù)測(cè)等流程、服務(wù)。
1用戶和物品的序列及屬性數(shù)據(jù)存放于Redis,用于實(shí)時(shí)特征加工處理;除了序列數(shù)據(jù),其它數(shù)據(jù)都在Hive表中存放,用于批處理作業(yè)。
2實(shí)時(shí)特征處理,從Redis拉取原始數(shù)據(jù)到內(nèi)存,按照后臺(tái)系統(tǒng)選定的特征字段及其特征處理方式進(jìn)行特征加工,并實(shí)時(shí)返回給推薦服務(wù)用于模型預(yù)測(cè)。
3對(duì)于非實(shí)時(shí)特征,從Hive表拉取原始數(shù)據(jù),使用Flink/Spark按照后臺(tái)系統(tǒng)配置的特征字段進(jìn)行特征加工,并將結(jié)果分別存放到Redis和Hive表中,可以根據(jù)時(shí)效要求選擇天級(jí)、小時(shí)級(jí)、分鐘級(jí)的方式進(jìn)行更新;涉及到模型訓(xùn)練所用到的實(shí)時(shí)特征處理環(huán)節(jié),基于用戶歷史推薦數(shù)據(jù)中的行為序列數(shù)據(jù)、推薦序列數(shù)據(jù)及其它數(shù)據(jù),將結(jié)果寫回到Hive表中。
4模型訓(xùn)練階段,基于Hive表拉取配置特征進(jìn)行模型的訓(xùn)練和指標(biāo)評(píng)估等。
5推理服務(wù)會(huì)從Redis拉取批處理和微批處理的特征以及實(shí)時(shí)特征,經(jīng)過特征加工后生成特征向量用于模型預(yù)測(cè)并生成推薦結(jié)果。
04?模型訓(xùn)練預(yù)測(cè)流程
在推薦平臺(tái)的建設(shè)中,模型的訓(xùn)練和預(yù)測(cè)功能是整個(gè)平臺(tái)的重中之重。在該項(xiàng)目中,涉及到的Wide&Deep、DeepFM、MMoE等諸多模型的訓(xùn)練和預(yù)測(cè)的實(shí)現(xiàn),都是基于統(tǒng)一的流程來實(shí)現(xiàn)的。
圖4?智能推薦系統(tǒng)模型訓(xùn)練預(yù)測(cè)流程
1足跡數(shù)據(jù)包括理財(cái)、保險(xiǎn)等多種產(chǎn)品的曝光、點(diǎn)擊、購買等交互數(shù)據(jù),事件平臺(tái)實(shí)時(shí)采集數(shù)據(jù)并寫到Kafka。
2推薦平臺(tái)的特征處理模塊從Kafka實(shí)時(shí)消費(fèi)足跡數(shù)據(jù)并進(jìn)行特征處理,并將結(jié)果數(shù)據(jù)分別寫到Hive表和Redis。
3用戶數(shù)據(jù)和物品數(shù)據(jù)的屬性及畫像特征通過批量方式定時(shí)同步到大數(shù)據(jù)平臺(tái)推薦租戶里,特征處理模型對(duì)同步過來的原始數(shù)據(jù)進(jìn)行加工,處理后的用戶側(cè)和物品側(cè)的特征會(huì)同時(shí)寫到Hive表和Redis。
4推薦平臺(tái)的管理后臺(tái)可以配置模型的基礎(chǔ)信息、模型參數(shù)、樣本數(shù)據(jù)集等信息,保存后自動(dòng)地在模型服務(wù)與管理平臺(tái)進(jìn)行注冊(cè),并獲得模型ID、版本號(hào)等信息;同時(shí)可以按模型進(jìn)行編輯、刪除、查看日志、查看模型訓(xùn)練狀態(tài)及指標(biāo)數(shù)據(jù)等管理操作,通過API同步到模型服務(wù)與管理平臺(tái)進(jìn)行管理;通過開啟訓(xùn)練、中止訓(xùn)練等操作實(shí)現(xiàn)對(duì)模型運(yùn)行的控制。
5模型服務(wù)與管理平臺(tái)所需的模型特征會(huì)從大數(shù)據(jù)平臺(tái)的Hive表里直接拉取,然后執(zhí)行模型訓(xùn)練,訓(xùn)練好的模型會(huì)保存到大數(shù)據(jù)平臺(tái)HDFS指定路徑下。
6推薦平臺(tái)的模型服務(wù)模塊將最近一段時(shí)間有模型狀態(tài)更新的模型進(jìn)行更新,加載到內(nèi)存或從內(nèi)存中刪除,結(jié)合Redis中的特征對(duì)外提供模型預(yù)測(cè)服務(wù)。
7推薦平臺(tái)的模型統(tǒng)計(jì)模塊將模型的上線應(yīng)用場(chǎng)景、調(diào)用次數(shù)、效果指標(biāo)等數(shù)據(jù)進(jìn)行統(tǒng)計(jì),并通過API接口批量同步給模型服務(wù)與管理平臺(tái)。
項(xiàng)目主要成果
該項(xiàng)目通過達(dá)觀數(shù)據(jù)跟行方一起努力,成功在銀行落地,最終讓推薦系統(tǒng)成為銀行運(yùn)營的有力工具,該項(xiàng)目為行方帶來了極大的業(yè)務(wù)價(jià)值,具體整理如下:圖5?智能推薦服務(wù)在銀行業(yè)務(wù)中的應(yīng)用??
1實(shí)現(xiàn)精準(zhǔn)推薦及營銷,通過前期的需求調(diào)研、數(shù)據(jù)對(duì)接、系統(tǒng)部署及功能開發(fā)、效果優(yōu)化等各個(gè)環(huán)節(jié)的數(shù)月的連續(xù)投入,最終幫助該行搭建了一站式推薦平臺(tái),涵蓋推薦引擎、增長(zhǎng)洞察、平臺(tái)管理等六大功能板塊。對(duì)接事件平臺(tái),自動(dòng)采集零售客戶實(shí)時(shí)行為特征數(shù)據(jù),通過足跡變化動(dòng)態(tài)調(diào)整推薦排序,支持在線推薦模型實(shí)時(shí)預(yù)估,為零售客戶提供更為精準(zhǔn)的推薦預(yù)測(cè)結(jié)果,及時(shí)抓住營銷時(shí)機(jī)以提升推薦應(yīng)用成效。
2推薦鏈路全監(jiān)控,接入推薦應(yīng)用過程數(shù)據(jù)、埋點(diǎn)數(shù)據(jù)、交易數(shù)據(jù)、資源數(shù)據(jù)等,自動(dòng)化跟蹤推薦應(yīng)用效果,提供推薦動(dòng)態(tài)可視化看板全程監(jiān)控管理,通過漏斗分析實(shí)現(xiàn)推薦應(yīng)用系統(tǒng)復(fù)盤、歸因定位和降級(jí)管理,支撐全行各類推薦應(yīng)用的高效運(yùn)營。??
3一站式推薦應(yīng)用配置,接入零售數(shù)字畫像特征數(shù)據(jù),提供推薦規(guī)則、模型、策略和實(shí)驗(yàn)等系統(tǒng)化、靈活化、可視化配置管理,支持推薦方案快速組裝式編排,流水線作業(yè),推薦服務(wù)接口一鍵發(fā)布,推薦應(yīng)用模擬調(diào)試,滿足零售大規(guī)模推薦應(yīng)用高效定制部署。在場(chǎng)景應(yīng)用上,對(duì)接業(yè)務(wù)場(chǎng)景數(shù)十個(gè),包括Feed流推薦、關(guān)聯(lián)推薦、榜單推薦等形式,未來將會(huì)不斷擴(kuò)大應(yīng)用范圍至上百個(gè),同時(shí)不同業(yè)務(wù)場(chǎng)景的點(diǎn)擊率、轉(zhuǎn)化率等指標(biāo)也有不同程度的大幅提升(相比之前的運(yùn)營方案提升50%+)。
4高并發(fā)高可用,提供標(biāo)準(zhǔn)化的推薦服務(wù)聯(lián)機(jī)調(diào)用接口,依托金融云基礎(chǔ)設(shè)施和推薦應(yīng)用降級(jí)管理雙重機(jī)制,支持億級(jí)零售客戶推薦應(yīng)用,推薦響應(yīng)時(shí)間在200ms以內(nèi),可以保證數(shù)千的并發(fā)及數(shù)萬的TPS,并且支持彈性水平擴(kuò)容和自動(dòng)化的運(yùn)維監(jiān)控。本文基于達(dá)觀數(shù)據(jù)在金融行業(yè)實(shí)施推薦系統(tǒng)的經(jīng)驗(yàn),結(jié)合某銀行的具體案例,講解了銀行進(jìn)行數(shù)智化轉(zhuǎn)型的背景、需求,結(jié)合行方的具體場(chǎng)景和業(yè)務(wù)目標(biāo),最終利用一套完整的企業(yè)級(jí)推薦系統(tǒng)來解決行方精細(xì)化運(yùn)營的需求,并最終幫助銀行實(shí)現(xiàn)了業(yè)務(wù)價(jià)值的提升
書籍簡(jiǎn)介
本書內(nèi)容為讀者呈現(xiàn)B端高頻規(guī)則和策略,深入算法工程本質(zhì),手把手實(shí)操項(xiàng)目代碼,以及達(dá)觀數(shù)據(jù)真實(shí)行業(yè)案例,也講述了大模型時(shí)代下的推薦系統(tǒng)如何發(fā)展,推薦系統(tǒng)未來的發(fā)展趨勢(shì)等。