成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

攜程酒店排序推薦廣告高效可靠數(shù)據(jù)基座--填充引擎

開發(fā) 人工智能
經(jīng)過近一年的摸索建設(shè)和實(shí)踐,填充引擎已經(jīng)建立起完善的架構(gòu)體系、一站式的服務(wù)流程,為酒店排序廣告推薦業(yè)務(wù)的算法迭代提供了高效可靠支撐。

作者簡介

yang,攜程資深后端開發(fā)工程師,專注推薦系統(tǒng)架構(gòu)、數(shù)據(jù)流批一體、系統(tǒng)穩(wěn)定性、效率提升等領(lǐng)域;

kevin,攜程高級研發(fā)經(jīng)理,專注以技術(shù)驅(qū)動解決推薦系統(tǒng)中產(chǎn)品業(yè)務(wù)上的共性問題,創(chuàng)新生產(chǎn)模式,重構(gòu)生產(chǎn)力;

莫禿,攜程高級后端開發(fā)工程師,負(fù)責(zé)酒店機(jī)器學(xué)習(xí)平臺的研發(fā)工作;

一、背景與思考

1.1 背景

攜程酒店排序推薦廣告工程(以下簡稱酒店推薦工程)在數(shù)據(jù)層面引入抽象化的統(tǒng)一數(shù)據(jù)協(xié)議UnifiedPB,解決了過去各場景各自維護(hù),建立各自的數(shù)據(jù)流,網(wǎng)狀開放式數(shù)據(jù)表,煙囪式迭代的問題,實(shí)現(xiàn)了全場景數(shù)據(jù)的標(biāo)準(zhǔn)化、規(guī)范化、統(tǒng)一化。

那么,UnifiedPB具體是什么呢?它是基于protobuf構(gòu)建的統(tǒng)一工程、策略、數(shù)據(jù)三方的標(biāo)準(zhǔn)數(shù)據(jù)模型。從數(shù)據(jù)時效性上,我們抽象出三類:Online、NearLine、Offline;從數(shù)據(jù)類型歸屬上,我們抽象出四類:User、Item、User-Item、Common(公用字典)。        

UnifiedPB數(shù)據(jù)作為酒店推薦工程最核心的底層數(shù)據(jù)基座,是整個推薦工程的數(shù)據(jù)入口,無論是在線Serving(召回→ 粗排 → 精排 → 重排),還是離線調(diào)研(特征調(diào)研 →  小流量 → 全流量),全鏈路多模塊都強(qiáng)依賴UnifiedPB數(shù)據(jù),因此UnifiedPB數(shù)據(jù)填充的上線質(zhì)量和效率顯得尤為重要,將直接影響到系統(tǒng)推薦質(zhì)量和策略收益效果。

圖片

1.2 存在問題 

基于上述現(xiàn)狀背景,雖然我們引入UnifiedPB統(tǒng)一數(shù)據(jù)協(xié)議解決了網(wǎng)狀開放式迭代問題,但是UnifiedPB數(shù)據(jù)填充在開發(fā)效率和成本等方面還存在如下一些問題亟需解決:

迭代效率低:case by case按需、人工hardCode開發(fā)、專人運(yùn)維模式,交付周期長,效率低。例如60個特征從需求提出,到開發(fā)測試,最終上線預(yù)估需要8天。

復(fù)用效率低:三端、跨場景之間無法快速直接復(fù)用。一個版本特征在某個小流量場景實(shí)現(xiàn)顯著后,期望能夠在其他場景快速復(fù)用生效,需要重新進(jìn)行重復(fù)開發(fā)工作,效率低。

邏輯耦合不透明:策略邏輯與數(shù)據(jù)工程強(qiáng)耦合,且不透明化,排查問題需要人工扒代碼,排查效率低。

成本不可控:數(shù)據(jù)版本生命周期缺乏有效的管理監(jiān)測機(jī)制,各模塊各階段(小流量/全流量)所依賴的數(shù)據(jù)版本是由人肉進(jìn)行控制。隨著特征數(shù)據(jù)的快速迭代,勢必會造成數(shù)據(jù)冗余存儲,快速擴(kuò)張,造成資源浪費(fèi)。

三端不統(tǒng)一:酒店排序推薦廣告一直存在著三端(國內(nèi)/海外/IBU)不統(tǒng)一的問題,三端各自進(jìn)行迭代,架構(gòu)邏輯不統(tǒng)一,數(shù)據(jù)不統(tǒng)一是其中最底層最重要的一部分,需求無法快速三端同時上線。

二、解決方案   

針對上述面臨的效率和成本問題,我們以技術(shù)驅(qū)動主動進(jìn)行工程端的重大技術(shù)升級創(chuàng)新。基于serverless理念,設(shè)計并落地了填充引擎框架,實(shí)現(xiàn)了邏輯與資源的隔離解耦,策略只需關(guān)注邏輯,工程負(fù)責(zé)框架。框架核心架構(gòu)bin+data+conf,構(gòu)建出標(biāo)準(zhǔn)化、低碼化、配置化、可度量的數(shù)據(jù)填充引擎,實(shí)現(xiàn)一站式、自動化數(shù)據(jù)填充。同時,對全場景數(shù)據(jù)進(jìn)行統(tǒng)一收口,對數(shù)據(jù)創(chuàng)建到銷毀下線的全生命周期管理監(jiān)控機(jī)制,杜絕冗余存儲,有效控制資源成本,實(shí)現(xiàn)資源利用率最大化。

2.1 實(shí)現(xiàn)方案       

基于邏輯與資源隔離的核心思想,設(shè)計出如下圖的實(shí)現(xiàn)方案,總體分為兩塊策略邏輯和工程框架。其中,策略邏輯主要是進(jìn)行邏輯開發(fā),算法同學(xué)只需要關(guān)注邏輯實(shí)現(xiàn),可用最擅長的、學(xué)習(xí)成本最低的SQL實(shí)現(xiàn),并通過統(tǒng)一的web頁面進(jìn)行管理和規(guī)范。

工程框架主要由工程負(fù)責(zé)開發(fā),重點(diǎn)關(guān)注框架的功能性,流程規(guī)范制定和性能保障。兩者之間通過配置進(jìn)行解耦并關(guān)聯(lián),最終以配置驅(qū)動,實(shí)現(xiàn)需求上線。通過框架實(shí)現(xiàn)標(biāo)準(zhǔn)化、配置化、自動化實(shí)現(xiàn)UnifiedPB數(shù)據(jù)一站式填充,最終輸出給推薦引擎(排序推薦廣告三端全場景)。  

2.2 框架架構(gòu)

框架整體架構(gòu)包含Bin + Conf + Data三個模塊,Data模塊即特征數(shù)據(jù)生產(chǎn)模塊,生產(chǎn)邏輯由需求方策略同學(xué)開發(fā);Conf模塊配置中心,是連接填充模塊和數(shù)據(jù)之間的橋梁,使用公司內(nèi)部框架qconfig進(jìn)行配置文件存儲。由于配置文件內(nèi)容直接影響UnifiedPB數(shù)據(jù)填充結(jié)果,因此文件的生成只能通過web頁面按照規(guī)范自動生成,嚴(yán)格禁止進(jìn)行人工直接修改。

Bin模塊是框架核心模塊,主要包含CodeGen、DataLoad、Transform、ConfListen等模塊。為了提高框架整體性能,采用字節(jié)碼+反射方式,在應(yīng)用初始化階段進(jìn)行配置文件的解析,生成相應(yīng)的動態(tài)類,實(shí)現(xiàn)對用PB節(jié)點(diǎn)的數(shù)據(jù)填充;數(shù)據(jù)加載模塊即將策略生產(chǎn)的特征數(shù)據(jù)實(shí)時加載,給填充模塊進(jìn)行填充;當(dāng)需要對源數(shù)據(jù)字段級別的數(shù)據(jù)進(jìn)行二次處理,即可以使用transform模塊,支持以插件形式進(jìn)行擴(kuò)展,用戶自定義實(shí)現(xiàn)相關(guān)功能。配置更新模塊會實(shí)時監(jiān)聽配置文件變化,當(dāng)需要新增修改特征數(shù)據(jù)時,配置更新模塊將實(shí)時獲取到實(shí)時結(jié)果,異步進(jìn)行動態(tài)類構(gòu)建。基于上述幾個核心模塊整體聯(lián)動協(xié)調(diào),實(shí)現(xiàn)UnifiedPB數(shù)據(jù)一站式、自動化填充。 

圖片

2.3 質(zhì)量保障

通過配置驅(qū)動,自動化實(shí)現(xiàn)需求上線,大家會擔(dān)心覺得不夠可靠。那么我們是如何保證需求上線質(zhì)量的呢?我們有一套完整的流程去保證這件事情的穩(wěn)定性和可靠性,實(shí)現(xiàn)每次變更都可灰度、可回滾、可觀測

質(zhì)量保障覆蓋發(fā)布前、中、后三個階段,發(fā)布前主要是自動化測試,包含一套標(biāo)準(zhǔn)全面的測試組件Pipeline(TestCase/BDA/PFT),確保每次發(fā)布變更的穩(wěn)定性和可靠性。規(guī)則校驗:主要是對數(shù)據(jù)質(zhì)量進(jìn)行一些基本規(guī)則校驗,比如總量、值范圍等;TestCase:即單例測試,主要對本地新增的特征進(jìn)行單例測試,確保新增特征的準(zhǔn)確性;BDA:批量兼容性測試,確保新增數(shù)據(jù),不影響老數(shù)據(jù);PFT:性能測試,確保每次新增特征,對性能影響符合預(yù)期可控范圍之內(nèi)。

發(fā)布中、后主要以監(jiān)控為主,包括整體服務(wù)性能監(jiān)控和數(shù)據(jù)級別監(jiān)控,同時有一鍵回滾機(jī)制。

圖片

圖片

2.4 可視化平臺

平臺接入使用方式,與設(shè)計理念基本一致,包括三個角色:策略、工程、平臺。策略負(fù)責(zé)特征邏輯實(shí)現(xiàn)(標(biāo)準(zhǔn)化SQL語句)、工程負(fù)責(zé)框架升級和發(fā)布校驗流程執(zhí)行、平臺負(fù)責(zé)規(guī)范約束。下圖給出了策略新增特征所進(jìn)行的具體流程。

策略:選擇數(shù)據(jù)源  -> 特征導(dǎo)入 -> 編寫SQL邏輯 -> 定義主鍵 -> 特征路徑選擇

工程:審核新增特征 -> 灰度發(fā)布 -> 自動化pipline -> 發(fā)布

圖片

三、落地成果

3.1 落地場景

該項目已分階段(酒店詞推薦(2023.02)、IBU全場景(2023.04)、海外全場景(2023.05)、國內(nèi)全場景(2023.09))在酒店排序廣告推薦三端20多個場景落地上線,100%覆蓋酒店排序推薦廣告全場景。后續(xù)將積極賦能推廣到其他BU團(tuán)隊,近期已在準(zhǔn)備在攜程公共首頁信息流團(tuán)隊接入。

圖片

3.2 效率提升

需求迭代上線效率

產(chǎn)品策略日常新增特征需求,都需要經(jīng)過特征數(shù)據(jù)數(shù)據(jù)從數(shù)倉Adm層->UnifiedPB。以往hardCode開發(fā)模式,包括需求溝通、排期、開發(fā)、測試、發(fā)布,這樣一個長周期的上線過程(8d/60個特征)。填充引擎在這一階段實(shí)現(xiàn)數(shù)據(jù)填充的配置化、自動化,產(chǎn)品策略需求上線周期從天/周級別 -> 小時級別。同時數(shù)據(jù)跨場景之間可以直接快速復(fù)用,復(fù)用效率也得到了極大提升,整體效率提升90%以上

特征數(shù)據(jù)表切換效率

排序推薦廣告業(yè)務(wù)不同于其他業(yè)務(wù)領(lǐng)域,模型的推薦效果對特征數(shù)據(jù)的一致性、準(zhǔn)確性有較高的要求。當(dāng)遇到特征數(shù)據(jù)上游團(tuán)隊(前端埋點(diǎn)、數(shù)倉等)有數(shù)據(jù)變更或遷移時,需要重新開發(fā)接入新數(shù)據(jù),進(jìn)行線上無diff AB實(shí)驗。以上半年前端埋點(diǎn)token數(shù)據(jù)切換為例,接入token新數(shù)據(jù)開發(fā)測試上線用時近15天,整體效率低,并且會影響上游團(tuán)隊的進(jìn)度。為此,填充引擎針對此類需求,實(shí)現(xiàn)了在線AB分版本特征填充的配置化,可快速實(shí)現(xiàn)此功能,當(dāng)天即可上線,已在多場景落地應(yīng)用。

圖片

上圖展示了我們構(gòu)建的數(shù)據(jù)度量系統(tǒng),橫軸代表需求新增特征數(shù)量,縱軸代表從需求提出到開發(fā)完成上線所用的時間。可以明顯看出,接入填充引擎前后,需求上線迭代的效率明顯提升。接入填充引擎前,由于開發(fā)人員排期、開發(fā)測試、新增特征的數(shù)量、開發(fā)過程中遇到節(jié)假日、開發(fā)人員休假等因素,需求上線迭代效率非常低。接入填充引擎后,上線效率明顯提升,并且排期開發(fā)、特征數(shù)量的多少等因素對上線效率的影響很小,上線時間基本維持在小時級別,當(dāng)天即可上線,平均新增一個特征用時由20+小時降低到2小時,效率提升90%以上。

3.3 三端數(shù)據(jù)統(tǒng)一

針對酒店排序推薦廣告三端不一致的歷史長期問題,填充引擎實(shí)現(xiàn)了數(shù)據(jù)層面三端的一致性,對三端各業(yè)務(wù)場景提供統(tǒng)一的數(shù)據(jù)訪問層,數(shù)據(jù)透明化,無需關(guān)注具體數(shù)據(jù)內(nèi)容;產(chǎn)品策略同學(xué)通過可視化配置,即可實(shí)現(xiàn)三端數(shù)據(jù)的快速同時上線,徹底解決三端數(shù)據(jù)不一致、復(fù)用上線效率低的問題。

3.4 成本可控

通過featureLineage構(gòu)建了一套從數(shù)據(jù)創(chuàng)建到銷毀下線的全生命周期管理監(jiān)控機(jī)制,進(jìn)行可視化管理,全場景(精排)數(shù)據(jù)統(tǒng)一收口,杜絕冗余存儲,實(shí)現(xiàn)資源利用率最大化,有效控制資源成本。

3.5 邏輯透明

策略邏輯與數(shù)據(jù)填充的解耦,數(shù)據(jù)填充邏輯、Source-Target映射關(guān)系實(shí)現(xiàn)可觀測、透明化,產(chǎn)品策略自助進(jìn)行邏輯排查,極大提高了問題排查效率。

圖片

四、總結(jié)與展望

這篇文章介紹了酒店機(jī)器學(xué)習(xí)工程團(tuán)隊,圍繞效率、成本、效果三個方面,通過技術(shù)驅(qū)動在酒店排序廣告推薦的實(shí)踐和優(yōu)化思路。

經(jīng)過近一年的摸索建設(shè)和實(shí)踐,填充引擎已經(jīng)建立起完善的架構(gòu)體系、一站式的服務(wù)流程,為酒店排序廣告推薦業(yè)務(wù)的算法迭代提供了高效可靠支撐。未來,將繼續(xù)圍繞上述三方面,在迭代效率、性能優(yōu)化、成本控制等方面持續(xù)投入探索和建設(shè)。同時,積極賦能其他BU,在更多的業(yè)務(wù)場景中發(fā)揮平臺的價值,助力集團(tuán)業(yè)務(wù)蓬勃發(fā)展。

責(zé)任編輯:張燕妮 來源: 攜程技術(shù)
相關(guān)推薦

2022-04-14 17:53:50

攜程AWS上云

2015-05-28 14:05:02

2022-10-21 10:40:08

攜程酒店MySQL慢查詢

2018-07-20 09:42:23

Elasticsear實(shí)戰(zhàn)訂單

2022-07-08 09:38:27

攜程酒店Flutter技術(shù)跨平臺整合

2024-09-10 16:09:58

2023-11-24 09:44:07

數(shù)據(jù)攜程

2017-07-06 19:57:11

AndroidMVP攜程酒店

2024-03-22 15:09:32

2022-07-08 09:43:24

攜程酒店數(shù)據(jù)接口服務(wù)平臺

2024-04-18 09:41:53

2023-05-18 17:25:49

模型攜程

2022-06-03 08:58:24

APP攜程流暢度

2014-12-25 17:51:07

2024-09-25 15:37:46

2022-08-12 08:34:32

攜程數(shù)據(jù)庫上云

2023-03-14 14:01:00

內(nèi)存優(yōu)化

2023-12-22 10:04:34

攜程負(fù)載均衡引擎

2023-11-13 11:27:58

攜程可視化

2024-10-12 09:58:21

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 91麻豆精品国产91久久久久久久久 | 欧美日韩中文字幕 | 亚洲精品一区中文字幕乱码 | 久久久免费 | 一级二级三级黄色 | 亚洲首页 | 亚洲精品视频观看 | 偷偷操视频 | 91精品一区二区三区久久久久久 | 免费看91| 青青久久av北条麻妃海外网 | 中文字幕av亚洲精品一部二部 | 玖玖在线精品 | 91久久精品一区二区二区 | 在线观看国产三级 | 蜜臀久久 | www久久久 | 亚洲黄色片免费观看 | 中文字幕在线人 | 久久亚洲一区 | 久久精品国产一区二区电影 | 日韩视频在线一区 | 香蕉视频91| 欧美日韩综合视频 | 亚洲精品一区二区网址 | 免费看国产片在线观看 | 免费黄色日本 | 亚洲精品视频在线观看视频 | 精品免费视频 | 天天爽综合网 | 国产精品激情 | 精品欧美乱码久久久久久1区2区 | 99免费精品视频 | 欧美日韩精品免费 | 欧美一区二 | 国产h视频 | 精品免费国产一区二区三区四区 | 国产精品99 | 精品综合久久久 | 一本久久a久久精品亚洲 | 夜夜精品浪潮av一区二区三区 |