![]()
歐洲最大時(shí)尚電商Zalando的推薦團(tuán)隊(duì)曾遇到一個(gè)反直覺的困境:傳統(tǒng)深度學(xué)習(xí)模型越精準(zhǔn),用戶買得越快,但逛得越少。2019年,他們的機(jī)器學(xué)習(xí)工程師Mariia Bulycheva接手了一個(gè)棘手任務(wù)——用圖神經(jīng)網(wǎng)絡(luò)(Graph Neural Networks,GNNs)重新設(shè)計(jì)首頁(yè)推薦,目標(biāo)不是提升點(diǎn)擊率,而是讓用戶"多停留一會(huì)兒"。
這個(gè)決策背后是一筆清晰的賬:Zalando發(fā)現(xiàn),單次購(gòu)買轉(zhuǎn)化率與長(zhǎng)期用戶價(jià)值呈負(fù)相關(guān)。用戶像完成任務(wù)一樣買完就走,三個(gè)月后流失率高出47%。
從表格到圖:把購(gòu)物日志變成關(guān)系網(wǎng)絡(luò)
傳統(tǒng)推薦系統(tǒng)把用戶行為當(dāng)成表格處理——用戶ID、商品ID、點(diǎn)擊時(shí)間、是否購(gòu)買,一行行塞進(jìn)神經(jīng)網(wǎng)絡(luò)。Bulycheva團(tuán)隊(duì)的第一步是推翻這個(gè)假設(shè)。
他們把Zalando的日志重構(gòu)為異構(gòu)圖(heterogeneous graph)。用戶、商品、品牌、品類、甚至顏色標(biāo)簽都成為節(jié)點(diǎn),點(diǎn)擊、加購(gòu)、搜索、退貨則成為邊。一個(gè)典型用戶的子圖可能包含:過(guò)去瀏覽的23件商品、關(guān)聯(lián)的5個(gè)品牌、3次搜索關(guān)鍵詞的語(yǔ)義節(jié)點(diǎn),以及這些節(jié)點(diǎn)之間的時(shí)序關(guān)系。
「最耗時(shí)的不是建模,是定義什么是'節(jié)點(diǎn)'。」Bulycheva在演講中回憶。團(tuán)隊(duì)花了8周迭代節(jié)點(diǎn)類型,最終發(fā)現(xiàn)"顏色偏好"作為獨(dú)立節(jié)點(diǎn)比作為商品屬性效果更好——它能捕捉跨品類的風(fēng)格一致性,比如同時(shí)喜歡"焦糖棕"的用戶,對(duì)皮靴和羊毛大衣的接受度存在隱性關(guān)聯(lián)。
數(shù)據(jù)準(zhǔn)備階段埋下一個(gè)技術(shù)債務(wù):圖數(shù)據(jù)的時(shí)間敏感性。用戶行為圖是動(dòng)態(tài)演化的,但訓(xùn)練時(shí)若混用未來(lái)信息,模型會(huì)學(xué)到"用戶買了A所以之前瀏覽過(guò)B"這種因果倒置的模式。Bulycheva團(tuán)隊(duì)為此設(shè)計(jì)了嚴(yán)格的時(shí)間切割策略,確保訓(xùn)練集中的邊永遠(yuǎn)指向過(guò)去。
消息傳遞:圖神經(jīng)網(wǎng)絡(luò)的"八卦機(jī)制"
GNNs的核心是消息傳遞(message passing)。Bulycheva用這個(gè)類比解釋:每個(gè)節(jié)點(diǎn)像聚會(huì)上的人,第一輪只和直接朋友交換信息,第二輪把聽到的八卦再傳出去,多輪之后,整個(gè)房間的"社交氛圍"就被編碼到每個(gè)人的狀態(tài)里。
在Zalando的場(chǎng)景中,一件新上架的連衣裙最初只有商品本身的特征(價(jià)格、材質(zhì)、圖片)。經(jīng)過(guò)消息傳遞,它"吸收"了相似商品的點(diǎn)擊模式、購(gòu)買過(guò)它的用戶群體的偏好、以及這些用戶瀏覽的其他品類信息。三輪傳遞后,這件連衣裙的嵌入向量(embedding)已經(jīng)隱含了"適合25-30歲職場(chǎng)女性、春季通勤場(chǎng)景"的上下文。
但消息傳遞帶來(lái)一個(gè)工程噩夢(mèng):推理延遲。傳統(tǒng)模型輸入用戶ID就能輸出推薦,GNN需要實(shí)時(shí)構(gòu)建用戶子圖、執(zhí)行多輪消息傳遞、生成上下文嵌入,再喂給下游排序模型。Bulycheva團(tuán)隊(duì)的早期原型在CPU上需要800毫秒,遠(yuǎn)超200毫秒的服務(wù)級(jí)別目標(biāo)(SLO)。
他們的解法是一種混合架構(gòu):預(yù)計(jì)算+實(shí)時(shí)拼接。商品節(jié)點(diǎn)的嵌入離線批量生成,用戶相關(guān)子圖實(shí)時(shí)組裝,消息傳遞限制在2輪以內(nèi)。最終延遲壓到120毫秒,犧牲了部分精度換取可用性。
生產(chǎn)部署:圖數(shù)據(jù)泄露的幽靈
離線評(píng)估時(shí),GNN模型的AUC比基線高出11%,團(tuán)隊(duì)準(zhǔn)備全量上線。但A/B測(cè)試的前兩周,線上指標(biāo)詭異下跌。
排查發(fā)現(xiàn)一個(gè)經(jīng)典陷阱:訓(xùn)練時(shí)的圖構(gòu)建邏輯與在線服務(wù)不一致。離線訓(xùn)練使用了"用戶-商品"全量交互圖,包括那些最終沒有轉(zhuǎn)化的點(diǎn)擊;在線服務(wù)為了降低延遲,只加載了"高置信度交互"(加購(gòu)、收藏、購(gòu)買)。模型學(xué)到的模式在稀疏圖上失效了——它假設(shè)用戶看過(guò)很多商品,實(shí)際上在線只看到少數(shù)幾個(gè)。
Bulycheva稱之為"圖數(shù)據(jù)泄露的變體":不是標(biāo)簽泄露,而是結(jié)構(gòu)泄露。訓(xùn)練圖與推理圖的拓?fù)洳町悾屇P拖萑?幻覺"。修復(fù)方案是統(tǒng)一圖采樣策略,離線訓(xùn)練時(shí)模擬在線的稀疏子圖構(gòu)建過(guò)程,AUC回落但線上指標(biāo)穩(wěn)定提升。
另一個(gè)意外來(lái)自業(yè)務(wù)側(cè)。推薦團(tuán)隊(duì)最初把"會(huì)話時(shí)長(zhǎng)"作為優(yōu)化目標(biāo),但商品運(yùn)營(yíng)團(tuán)隊(duì)抗議:用戶停留久了,退貨率反而上升——他們?cè)?猶豫式瀏覽"中沖動(dòng)下單。最終目標(biāo)函數(shù)改為"有效停留時(shí)長(zhǎng)",過(guò)濾掉反復(fù)對(duì)比尺碼、閱讀退貨政策的無(wú)效行為。
結(jié)果與未解之題
經(jīng)過(guò)6個(gè)月迭代,GNN推薦系統(tǒng)在Zalando首頁(yè)全量上線。Bulycheva披露的關(guān)鍵指標(biāo):用戶會(huì)話時(shí)長(zhǎng)提升37%,30天回訪率提升19%,而單次轉(zhuǎn)化率僅下降3%——在可接受范圍內(nèi)。更意外的是長(zhǎng)尾商品曝光量增長(zhǎng)52%,圖結(jié)構(gòu)天然緩解了熱門商品的"馬太效應(yīng)"。
但她也坦承三個(gè)未解難題。第一,可解釋性:消息傳遞多輪后,"為什么推薦這件商品"變得難以追溯,客服團(tuán)隊(duì)需要人工標(biāo)注解釋路徑。第二,冷啟動(dòng):新用戶子圖稀疏,GNN優(yōu)勢(shì)無(wú)法發(fā)揮,仍需依賴傳統(tǒng)模型兜底。第三,實(shí)時(shí)性:用戶行為變化快,預(yù)計(jì)算的商品嵌入每天更新一次,對(duì)潮流品類(如限時(shí)聯(lián)名款)存在滯后。
演講結(jié)尾,Bulycheva展示了用戶反饋郵件中的一條:「你們最近推薦的衣服更像'我'了,但我說(shuō)不清為什么。」
這種"說(shuō)不清"恰恰是圖神經(jīng)網(wǎng)絡(luò)的特質(zhì)——它捕捉的關(guān)系網(wǎng)絡(luò)過(guò)于復(fù)雜,無(wú)法翻譯成"因?yàn)槟阗I了A所以推薦B"的簡(jiǎn)單規(guī)則。對(duì)于追求可解釋性的產(chǎn)品團(tuán)隊(duì),這是 feature 還是 bug?Zalando的選擇是接受黑箱,用A/B測(cè)試說(shuō)話。你的團(tuán)隊(duì)會(huì)怎么選?
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.