天天看點

“4+N”架構:從0到1搭建私域營銷推薦能力一、背景與挑戰二、架構目标三、“4+N”推薦模型架構四、方案落地與業務效果五、未來展望

“4+N”架構:從0到1搭建私域營銷推薦能力一、背景與挑戰二、架構目标三、“4+N”推薦模型架構四、方案落地與業務效果五、未來展望

作者 | 無荒、水穆、潛隐、啟夏、曉冬

一、背景與挑戰

業務背景

由于私域的推薦場景較多,碎片化較嚴重,每接到新需求重新搭模組化型鍊路的成本較高,是以亟需沉澱一套通用營銷推薦模型架構,提升模型上線效率。

“4+N”架構:從0到1搭建私域營銷推薦能力一、背景與挑戰二、架構目标三、“4+N”推薦模型架構四、方案落地與業務效果五、未來展望

技術挑戰

搭建通用模型鍊路架構,我們面臨4個方面挑戰:

  • 挑戰一:場景的複雜性:推薦的場景多樣化,面臨推薦物料異構,内容參差不齊,長尾物料多,如何抽象一套通用的模型特征架構?
  • 挑戰二:鍊路的複雜性:推薦的鍊路複雜,涉及系統多,如何打通各個系統鍊路?
  • 挑戰三:模型的複雜性:推薦的模型多為深度神經網絡模型(DNN),相比傳統機器學習模型而言,開發部署的難度更大,周期更長,如何沉澱一套高效的模型開發部署架構?
  • 挑戰四:協同的複雜性:複雜鍊路帶來的是協同的複雜性,需要多方協同,如何建立流暢的多方協同流程機制?

二、架構目标

首先,對推薦模型架構的目标進行思考,我們需要什麼樣的模型架構;其次,對目标能力進行了拆解,需要什麼樣的子能力才能達到最終的目标架構。

目标架構

打造一套“體系化、标準化、自動化”推薦模型架構方案,支援輕量級場景營銷推薦算法的快速上線和疊代。

目标能力拆解

  • 快速上線能力:能夠通過這套架構高效地搭建baseline模型并完成上線,方案易于上手,使這套通用模型鍊路成為營銷推薦算法工程師的起手式。
  • 場景複用能力:同一套架構支援多場景,純新場景僅需少量代碼改動,同類場景無需新模型開發,僅需通過增加埋點配置,自動完成模型更新。
  • 快速疊代能力:支援特征的增删和模型的快速疊代,無需走釋出流程,讓算法工程師更foucs在算法本身。

三、“4+N”推薦模型架構

總體架構設計

模型流程閉環化:正常的模型開發部署調用鍊路隻有5個環節:樣本準備、特征工程、模型訓練、模型部署、模型調用,并不能形成閉環,需要增加日志回流的環節,将特征日志記錄并回流,形成閉環。形成閉環的意義在于記錄線上打分特征,便于樣本和特征資料的生成,同時保證資料的強一緻性。

"4+N"架構思路:核心是标準化的套路解不同場景的問題,通過樣本标準化,通用特征的建設,通用的特征處理和模組化方案,通用的推薦鍊路搭建,目标是以“1套樣本、1套特征、1套模型、1條鍊路”的方案解決N個場景的問題。

“4+N”架構:從0到1搭建私域營銷推薦能力一、背景與挑戰二、架構目标三、“4+N”推薦模型架構四、方案落地與業務效果五、未來展望

工程鍊路設計

推薦的工程鍊路複雜,涉及系統較多,主要分為三大流程:

  • 召回流程,目前支援的業務系統直接召回和“搜尋引擎+召回系統”兩種方案,核心系統是推薦平台、營運平台、搜尋引擎和召回系統,item較少的情況下營運平台直接從業務系統召回,流程上更加簡潔;
  • 排序流程,從大資料平台的資料準備,到模型開發平台的特征處理和模型開發,再到模型部署平台的模型部署上線,核心系統是大資料平台、模型開發平台和模型部署平台,線上模型供推薦平台調用打分;
  • 重排流程,主要是流量控制和打散規則,主要在營運平台上通過前台配置實作,核心系統是營運平台。
“4+N”架構:從0到1搭建私域營銷推薦能力一、背景與挑戰二、架構目标三、“4+N”推薦模型架構四、方案落地與業務效果五、未來展望

四、方案落地與業務效果

1套特征

建構基于私域場景的通用特征體系,包含user特征、item特征和u2i特征,其中user特征主要是偏靜态的使用者畫像,item特征主要包含item基本資訊和流量類特征,u2i特征主要是user對item的曆史行為。通用特征的核心在于精準使用者畫像以及item特征和u2i特征的結構标準化,易于新item的拓展。

1套樣本

基于浏覽點選轉化日志和特征日志拼接形成訓練樣本集合,核心是日志埋點的标準化工作,需要前端在埋點中記錄标準化的item_id,item_type和會話id,同時在特征日志(線上模型使用的特征)中也需要記錄會話id,以此關聯形成資料樣本,由此保證了線上特征和線下訓練樣本特征的一緻性。

1套模型

由于輕量級推薦場景中item數目較少,基本上是業務規則或全量召回的方案,是以模型層面主要是排序的模型。鑒于深度學習模型對特征良好的表征能力,目前主要采用的是深度學習的模型,baseline模型以wide&deep為主,後續會嘗試deepFM,AFM,DIN等其它深度推薦的模型。目前算法工程師上手深度模型比較困難,一個痛點是特征抽取,另一個是模型的調試,下面介紹我們的解法。

特征抽取

由于字元型特征無法直接學習,高階特征無法充分提取,是以需要特征抽取子產品來進行特征ID化和特征衍生,傳統的特征抽取方案,依賴于人工經驗,特征抽取效率較低,我們對這個步驟進行了簡化,基于全表統計和特征分箱,對不同的特征類型适配相應的特征算子,例如,對所有字元型特征進行離散化,對數值型特征進行分箱和歸一化,對自定義特征進行笛卡爾積交叉抽取,主要通過sql實作了特征抽取配置檔案的自動化生成,大大提升了特征抽取的效率。

“4+N”架構:從0到1搭建私域營銷推薦能力一、背景與挑戰二、架構目标三、“4+N”推薦模型架構四、方案落地與業務效果五、未來展望

模型調試與分布式訓練

在模型調試和分布式叢集訓練模型上,和機器學習平台團隊共同提出了單機notebook調試和yarn分布式訓練的雙分支模型調試訓練結構,利用jupyter notebook的互動優勢調試網絡結構,利用分布式叢集的計算能力實作大資料集的訓練。目前已經實作了tensorflow estimator的封裝,單機和分布式代碼使用同一套代碼,同時對資料處理和模型評估子產品進行封裝,讓算法工程師隻需關注核心的網絡結構,大大簡化了開發的複雜性。由于要支援分布式訓練,目前隻支援原生tensorflow的網絡結構,待tensorflow 2.0正式版釋出後,可以開發基于keras的神經網絡,定義網絡結構更加的随心所欲。

“4+N”架構:從0到1搭建私域營銷推薦能力一、背景與挑戰二、架構目标三、“4+N”推薦模型架構四、方案落地與業務效果五、未來展望

1條鍊路

鍊路方案上通過營運平台統一對接外部系統,完成整理鍊路的串聯和閉環,讓算法工程師更加關注推薦流程本身。

  • 模型部署

模型的部署通過基于模型預測平台(C++編譯版)進行部署,為提升部署效率,模型開發平台和模型部署平台進行了打通,模型開發平台生成的模型和特征配置可以友善地用于模型部署,同時通過模型開發平台上的自定義SQL元件mock測試資料,也便于模型部署測試環節的提效。

  • 推薦鍊路

推薦主要在推薦平台上實作,推薦系統已經內建了特征視圖配置、召回配置、模型調用、特征查詢、特征日志回流、AB實驗等核心功能,基于螞蟻金服sofa架構,通過定義worker方式,進行pipline流程的編排,少量代碼便可以搭建完整的推薦流程。特征視圖支援了多個場景共用一份線上特征,複用性大大增強。對模型調用進行封裝和優化,使得幾行代碼就可實作模型調用,并且在性能上做了并行優化。特征日志插件的引入,使得特征日志的回流更加順暢,同時支援額外的特征的擴充。AB實驗方面,可以自動關聯推薦場景,通過實驗方案中定義的配置字段進行實驗版本控制,支援全流程的AB實驗(召回、排序、重排)。整體鍊路搭建完後,模型的線上疊代隻需要修改AB實驗配置,高效便捷。

  • 召回鍊路

在内容排序項目中,我們引入了搜尋引擎能力,搭建了業務系統->搜尋引擎-召回平台->推薦平台->業務系統的鍊路,儲備了多路實時召回的能力。

N個場景

“4+N”架構已經在私域的多個場景上完成了落地,取得了不錯的業務效果,未來将覆寫更多的場景;新場景模型的上線時間從原先的2周縮短至2天,模型上線效率大幅提升。

五、未來展望

我們也在思考如何搭建面向未來的私域營銷推薦能力?鑒于私域業務産品形态的特殊性,我們下一步将儲備基于“兩圖一網”的私域推薦能力。

私域知識圖譜

很多場景下不僅僅是user和item單純的比對,追求的不是短期的點選和轉化,更加關注使用者長期的價值(long-term value),是以推薦體系也肩負着心智啟蒙和使用者教育的重任。如何解?借助知識圖譜的力量,将垂直領域的專業知識抽取成知識圖譜,通過領域知識賦能推薦體系。

社群關系圖譜

随着私域業務發展和社群規模的增加,如何基于社群做推薦?是擺在我們面前的問題,我們的解法是采用關系圖譜,将使用者的關系抽取成社群關系圖譜。

多目标優化網絡

在推薦過程中永遠存在着“既要、也要、還要”的多項名額,不僅關注短期名額,同時也關注長期名額,是以如何在神經網絡設計中增加多目标,并且獲得最優的求解方案,也是下一步需要探索的點。

關于我們:我們是螞蟻金服保險模型算法團隊,主要負責螞蟻保險營銷風控模型的體系化建設,緻力于保險模型算法的實踐,我們深耕業務,擁抱業界一流算法,推動網際網路保險智能化變革,歡迎讨論、轉發。歡迎熱愛算法,對業務有好奇心,有合作精神的同學一起工作、成長。履歷可投郵箱:[email protected]