多模態(tài)對齊在小紅書推薦的研究及應(yīng)用
在 CIKM 2024 上,小紅書中臺算法團(tuán)隊(duì)提出了一種創(chuàng)新的聯(lián)合訓(xùn)練框架 AlignRec,用于對齊多模態(tài)表征學(xué)習(xí)模型和個(gè)性化推薦模型。本文指出,由于多模態(tài)模型與推薦模型在訓(xùn)練過程中存在步調(diào)不一致問題,導(dǎo)致聯(lián)合訓(xùn)練被推薦信號主導(dǎo),從而丟失大量多模態(tài)信息。AlignRec 通過分階段對齊的方式,設(shè)計(jì)了三種針對性的優(yōu)化損失函數(shù),使得聯(lián)合訓(xùn)練能夠同時(shí)兼顧多模態(tài)信息和推薦信息。實(shí)驗(yàn)結(jié)果表明,AlignRec 在多個(gè)數(shù)據(jù)集上的性能超過了現(xiàn)有的 SOTA(state-of-the-art)模型。此外,AlignRec 還提供了在當(dāng)前廣泛使用的公開數(shù)據(jù)集亞馬遜上的預(yù)處理特征,這些特征的效果顯著優(yōu)于現(xiàn)有的開源特征。
01背景
最近多模態(tài)是個(gè)非常熱門的話題,尤其是在大模型以及 AIGC 領(lǐng)域,多模態(tài)基建和技術(shù)是走向未來商業(yè)化的奠基石。在過去的多模態(tài)大模型研究方向上,模態(tài)的“對齊”已經(jīng)被驗(yàn)證非常重要,分布的不一致?lián)p害不同模態(tài)的理解,我們此次要討論的核心問題是多模態(tài)在推薦中的對齊問題;
在具體介紹論文工作之前,我們先來介紹下我們過去在推薦和電商中的實(shí)踐工作:
推薦實(shí)踐
上述方法是我們對 BM3論文進(jìn)行改進(jìn) 上線的方案,該方案實(shí)際上做的是通過損失函數(shù)來實(shí)現(xiàn)“對齊”工作。我們的對模型的期望也是保留個(gè)性化的同時(shí),能夠?qū)R行為和多模態(tài)的空間,進(jìn)一步增加長尾的個(gè)性化分發(fā)能力。先說效果:
該模型實(shí)驗(yàn)在推薦發(fā)現(xiàn)頁取得時(shí)長、曝光、點(diǎn)擊等核心指標(biāo)收益,除此之外,在長尾分發(fā)上,0 粉作者筆記點(diǎn)擊和曝光獲得大幅增長,整個(gè)召回路增加了全局可分發(fā)筆記數(shù) 6%,分發(fā)筆記集中在 1k-5k 的筆記曝光集合;同時(shí),我們的方法也被復(fù)用在了電商場景,分發(fā)長尾同時(shí),獲得 DGMV 等核心指標(biāo)收益。
很顯然,從上述可以看出,“對齊”的效果立竿見影,在業(yè)界應(yīng)用上我們已經(jīng)取得實(shí)質(zhì)性進(jìn)展,但本質(zhì)上這樣的設(shè)計(jì)方案依然并沒有完全解決多模態(tài)推薦問題,因?yàn)槲覀兊亩嗄B(tài)模型和推薦模型是相對割裂的,等同于直接拿表征來使用,這樣的設(shè)計(jì)打通了應(yīng)用范式,卻無法判斷多模態(tài)模型本身能力對效果的上限,對于選擇合適多模態(tài)表征存在一定的難度。但如果我們引入文本/圖等 Encoder(Transformer)等進(jìn)行聯(lián)合訓(xùn)練,會引入如下的問題:
- 在大規(guī)模的數(shù)據(jù)下,分布式訓(xùn)練引入圖文 Encoder 會造成資源和性能問題,尤其是注重高時(shí)效性的 Streaming Data;
- 訓(xùn)練步調(diào)不一致,往往多模態(tài)模型需要大量數(shù)據(jù)甚至多個(gè) Epoch 才能收斂,但推薦模型通常采取單輪訓(xùn)練,這也導(dǎo)致多模態(tài)模型訓(xùn)練不充分;
所以我們設(shè)計(jì)聯(lián)合訓(xùn)練模型,通過設(shè)計(jì)分階段對齊的方式和中間指標(biāo)評估,解決上述聯(lián)合訓(xùn)練問題,并且引入了三種針對性的優(yōu)化損失函數(shù),使得聯(lián)合訓(xùn)練能夠同時(shí)兼顧多模態(tài)信息和推薦信息,解決聯(lián)合訓(xùn)練中的“對齊”問題,提升效果上限。
下面我們從相關(guān)工作,核心挑戰(zhàn),模型設(shè)計(jì)介紹整體工作。
02相關(guān)工作
我們在這里通過 (a), (b), (c) 描述了在過往的學(xué)術(shù)界目前多模態(tài)推薦方向的相關(guān)工作,總結(jié)主要的發(fā)展路徑:
- 圖(a),直接利用,比如把 embedding,多模態(tài)特征作為信號輸入網(wǎng)絡(luò);
- 圖(b),利用圖等方式聚合,希望能得到更豐富的多模態(tài)信息表達(dá),這本質(zhì)上也是增加多模態(tài)側(cè)信息的召回率;
- 圖(c),聯(lián)合優(yōu)化,把模態(tài)損失和行為損失共同優(yōu)化,但這忽略了本身筆記側(cè)的多模態(tài)學(xué)習(xí)。
在工業(yè)界,現(xiàn)階段推薦系統(tǒng)主要還是依賴于 ID 特征的學(xué)習(xí), 大多數(shù)多模態(tài)推薦把多模態(tài)信息作為 sideinfo 去輔助 ID 特征的學(xué)習(xí)。但是, 多模態(tài)之間以及 ID 模型與多模態(tài)之間都存在著語義鴻溝, 直接使用甚至可能適得其反。
核心挑戰(zhàn)
為了貼合業(yè)界實(shí)際,設(shè)計(jì)一款有效的多模態(tài)與推薦聯(lián)合訓(xùn)練模型會遇到如下的挑戰(zhàn):
- 挑戰(zhàn)1: 如何對齊多模態(tài)表征。包括內(nèi)容模態(tài)之間(如圖文)的對齊,以及內(nèi)容模態(tài)與 ID 模態(tài)之間的對齊;
- 挑戰(zhàn)2: 如何平衡好內(nèi)容模態(tài)和 ID 模態(tài)之間的學(xué)習(xí)速度問題。內(nèi)容模態(tài)可能需要超大規(guī)模的數(shù)據(jù)和時(shí)間去訓(xùn)練, 而 ID 模態(tài)的學(xué)習(xí)更新可能只需要幾個(gè) epoch。
- 挑戰(zhàn)3: 如何評估多模態(tài)特征對推薦系統(tǒng)的影響。引入不合適的多模態(tài)信息可能需要更多的精力去做糾正, 甚至可能影響推薦系統(tǒng)的性能。
03設(shè)計(jì)方案
我們所提出的方法命名為 AlignRec,整體框架如下圖所示, 主要包含3個(gè)模塊: Multimodal Encoder Module, Aggregation Module, 以及 Fusion Module, 下面分別進(jìn)行介紹。
Multimodal Encoder Module
??????????是一個(gè)預(yù)訓(xùn)練的模塊, 它以物品的多個(gè)內(nèi)容模態(tài)為輸入,實(shí)現(xiàn)物品側(cè)視覺模態(tài) 和文本模態(tài)
的對齊, 最后統(tǒng)一輸出多模態(tài)表征
:
具體地, 我們使用 BEiT3 作為骨干網(wǎng)絡(luò), 通過 mask-then-predict 策略進(jìn)行訓(xùn)練, 包括 mask-image-modeling (MIM) 和 mask-language-modeling (MLM), 分別 mask 掉一定比例的圖/文 token, 再嘗試訓(xùn)練恢復(fù)還原出正確的 token, 這兩個(gè)任務(wù)分別對應(yīng)著不同的 Loss
再將兩者的 Loss 進(jìn)行相加得到預(yù)訓(xùn)練階段的 Loss
在應(yīng)用時(shí), 取 CLS token 作為物品側(cè)統(tǒng)一的多模態(tài)表征。
對于 Open DataSource 我們并不會加入顯式的行為信息,確保多模態(tài)模型的能力和合理性,但在業(yè)界實(shí)際使用時(shí),我們通常會加入?yún)f(xié)同信號;
Aggregation Module
這個(gè)模塊以 ID 模態(tài)和前面統(tǒng)一的內(nèi)容模態(tài)為輸入,構(gòu)建異構(gòu)圖,基于 GCN(作者使用 LightGCN)做多層聚合,從而輸出 User 和 Item 的 ID 模態(tài),User 的多模態(tài)表征,Item 的多模態(tài)表征。
流程上總計(jì)分為三個(gè)步驟:
- User 側(cè)和 Item 側(cè)的 ID 模態(tài),通過圖聚合的方式,得到 User 和 Item 的表征,分別表示為
和
;
- 物品側(cè)的多模態(tài)表征,內(nèi)容模態(tài)表征經(jīng)過一個(gè) MLP 進(jìn)行映射,再做 Element-wise 乘積與 ID Embed 進(jìn)行融合, 得到融合了內(nèi)容先驗(yàn)知識的內(nèi)容表征,之后基于統(tǒng)一的內(nèi)容模態(tài)表征, 構(gòu)造物品側(cè)的相似矩陣,每個(gè)物品取與它最相似的 10 個(gè) Item 做聚合, 得到物品側(cè)的多模態(tài)表征輸出,表示為
;
- 用戶側(cè)的多模態(tài)表征,對于 User 側(cè),通過聚合用戶歷史交互過的 Item 得到用戶側(cè)的多模態(tài)表征,表示為
;
訓(xùn)練細(xì)節(jié)上,我們使用 InfoNCE 對齊內(nèi)容模態(tài)表征和 ID 模態(tài)表征,讓同 Item 的內(nèi)容模態(tài)表征與 ID 模態(tài)表征更接近,不同 Item 的內(nèi)容模態(tài)表征及 ID 模態(tài)表征的距離更疏遠(yuǎn)。但如果不加任何約束, 可能會盲目地趨近于表征
,引起模態(tài)表征坍塌。為了規(guī)避這個(gè)問題,我們增加了正則項(xiàng)約束:
Fusion Module
這個(gè)模塊的作用在于融合 ID 模態(tài)表征和多模態(tài)表征, 從而得到 User 側(cè)表征和 Item 側(cè)表征, 用于召回的 topK 向量檢索
將相應(yīng)的表征進(jìn)行相加:
在得到 User 側(cè)和 Item 側(cè)的表征之后,我們增加了個(gè) User 側(cè)和 Item 側(cè)的對齊,具體地,我們對用戶表征 以及交互 Item 對應(yīng)的表征
作了相似度約束。
統(tǒng)一訓(xùn)練
推薦任務(wù)會使用 BPR 計(jì)算損失:
前面挑戰(zhàn) 2 提到, 內(nèi)容模態(tài)和 ID 模態(tài)的學(xué)習(xí)速度有很大差異, 因此, 會先在預(yù)訓(xùn)練階段對齊不同內(nèi)容模態(tài), 得到統(tǒng)一的內(nèi)容模態(tài)表征輸出。而在后續(xù)的 End2End 訓(xùn)練階段, 則加權(quán)融合推薦任務(wù)的損失, 正則化損失, 以及前面多個(gè)對齊目標(biāo)損失, 得到最終的訓(xùn)練損失。
中間評估指標(biāo)
為了更準(zhǔn)確評估多模態(tài)特征在推薦系統(tǒng)中的適用性及應(yīng)用效果, 我們提出了 3 種中間評估方案:
Zero-Shot推薦
用于評估基于用戶歷史交互行為, 多模態(tài)特征能否反映出用戶興趣, 包括 3 個(gè)步驟:
- 按時(shí)間順序?qū)τ脩魵v史交互行為排序, 取最后一個(gè)行為作為Target Item,其余作為用戶歷史行為交互
- 基于用戶歷史行為交互,計(jì)算用戶的多模態(tài)表征:
計(jì)算 與 Target Item 的相似度, 判斷是否在TopK中出現(xiàn)
Item-CF推薦
用于評估只使用多模態(tài)特征, 基于協(xié)同過濾的方法進(jìn)行物品推薦的能力
- 計(jì)算每對 Item 的I tem-CF 分?jǐn)?shù);
- 為每個(gè) Item j , 選擇最高 Item-CF 分?jǐn)?shù)所對應(yīng)的Item i 作為 Target Item;
- 使用多模態(tài)表征計(jì)算 Item j 與候選集里其它 Item 的相似度得分, 判斷 Item i 是否在 TopK 里。
Mask Modality推薦
按一定比例 mask 視覺模態(tài)或文本模態(tài), 衡量最終推薦效果差異, 從而評估不同內(nèi)容模態(tài)的重要度。
04實(shí)驗(yàn)結(jié)論
在不同數(shù)據(jù)集上與各 baseline 模型做對比,在目前的多模態(tài)公開數(shù)據(jù)集表現(xiàn)上達(dá)到 SOTA:
Pretraining 的模型在論文所提各中間評估指標(biāo)上均超越 CLIP 的表現(xiàn):
在開源數(shù)據(jù)集上生產(chǎn)的多模態(tài)特征與開源多模態(tài)特征對比效果上,AlignRec 的性能明顯提升:
下面的表格也展示了不同模塊的消融效果:
我們也列出了各個(gè)超參數(shù)對效果影響:
最后,我們也對比了長尾的效果:
05總結(jié)
我們的貢獻(xiàn)可以被總結(jié)為三點(diǎn):
- 我們一直在探索對齊問題,并且通過小紅書推薦實(shí)踐,設(shè)計(jì)了可復(fù)用的多模態(tài)召回范式,已經(jīng)拿到了線上AB收益;
- 提出AlignRec聯(lián)合訓(xùn)練方式,深入解決對齊問題,提出分階段對齊的模式和中間指標(biāo)評估方式;
- 最后,我們對Amazon的數(shù)據(jù)集整體的多模態(tài)數(shù)據(jù)源進(jìn)行升級,為后續(xù)研究打下基礎(chǔ)。
06作者簡介
- 幻翎
小紅書算法工程師,主要研究方向:通用推薦模型算法,多模態(tài)算法研究和應(yīng)用。 - 圖森
小紅書算法工程師,主要研究方向:通用多模態(tài)算法,大模型算法研究。 - 特圖
小紅書基礎(chǔ)模型團(tuán)隊(duì)負(fù)責(zé)人,主要研究方向:多模態(tài)大模型 x 內(nèi)容分發(fā)技術(shù)。 - 大輔
小紅書應(yīng)用模型團(tuán)隊(duì)負(fù)責(zé)人,主要研究方向:通用推廣搜模型算法,多模態(tài)和大模型技術(shù)的研究和應(yīng)用。