百度視頻推薦跨域多目標(biāo)預(yù)估與融合的實(shí)踐和思考
一、百度視頻背景介紹
1、統(tǒng)一產(chǎn)品形態(tài)
一方面,百度 APP 的所有視頻場(chǎng)景已經(jīng)升級(jí)成統(tǒng)一的沉浸式(上下滑)交互形態(tài);另一方面,基于百度統(tǒng)一的大模型,我們打通了所有場(chǎng)景的數(shù)據(jù)和推薦體驗(yàn)。交互和數(shù)據(jù)的統(tǒng)一可以更好地實(shí)現(xiàn)生態(tài)共贏,促進(jìn)百度視頻的長(zhǎng)遠(yuǎn)發(fā)展。
為了更好地培養(yǎng)用戶對(duì)視頻的消費(fèi)習(xí)慣,我們還打造了一個(gè)視頻消費(fèi)的一級(jí)入口(底部導(dǎo)航欄入口)。大家如果有興趣可以去下載百度 APP,有好的建議和 badcase 隨時(shí)歡迎反饋給我們。
2、搜+推雙引擎滿足用戶需求
值得一提的是,百度是做搜索起家,搜索的使用率極高,在推薦場(chǎng)景中需要更好地使用搜索的數(shù)據(jù),通過(guò)”搜+推”雙引擎來(lái)滿足用戶的需求。搜索主要是“人找內(nèi)容”,用戶會(huì)明確地輸入自己的需求,而推薦是“內(nèi)容找人”。將搜索的信號(hào)和推薦的信號(hào)進(jìn)行跨域整合,做到更好的推搜融合,這也是百度的優(yōu)勢(shì)之一。
二、推薦系統(tǒng)概述
1、推薦系統(tǒng)解決的問(wèn)題
考慮到不少聽眾非推薦背景,簡(jiǎn)單介紹下推薦要解決的問(wèn)題。推薦平臺(tái)有三個(gè)player:
- 用戶:在這里探索世界、發(fā)現(xiàn)新的感知。
- 創(chuàng)作者:平臺(tái)推薦的基礎(chǔ),為平臺(tái)提供內(nèi)容供給;平臺(tái)為其提供廣闊的空間,激發(fā)他們無(wú)限的靈感和創(chuàng)作。
- 廣告主:提供平臺(tái)生存下去的資金支持,大部分平臺(tái)都是以廣告為生。
推薦平臺(tái)希望實(shí)現(xiàn)生產(chǎn)、消費(fèi)和收入的良性循環(huán),推薦系統(tǒng)作為平臺(tái)的核心部件,主要解決兩方面的問(wèn)題:
- 優(yōu)勝劣汰的內(nèi)容選擇機(jī)制(B 端):優(yōu)質(zhì)的內(nèi)容如何獲得更多的分發(fā),留住優(yōu)質(zhì)的創(chuàng)作者。
- 極致的用戶消費(fèi)體驗(yàn)(C 端):只有用戶訴求得到滿足了,才能促進(jìn)規(guī)模上的持續(xù)提升。
這是推薦系統(tǒng)的兩個(gè)使命,我們后面設(shè)計(jì)目標(biāo)的時(shí)候也會(huì)綜合考慮這兩個(gè)方面。
2、推薦系統(tǒng)概覽
推薦系統(tǒng)的流程大致如下:審核后的資源會(huì)先推送到存儲(chǔ) meta 信息的統(tǒng)一正排庫(kù);推薦系統(tǒng)收到請(qǐng)求后,先通過(guò)圖引擎、多目標(biāo)召回等,召回相關(guān)資源;召回之后會(huì)經(jīng)過(guò)兩輪排序,分別為粗排和精排,再經(jīng)過(guò)多目標(biāo)的融合模型,選出一些與用戶強(qiáng)相關(guān)的內(nèi)容;最后通過(guò)多樣性感知、序列建模、流量分配機(jī)制等策略,生成一個(gè)視頻列表,下發(fā)到用戶的手機(jī)。
接下來(lái)的分享將主要集中在精排的目標(biāo)設(shè)計(jì)和模型的融合上。
三、多目標(biāo)的設(shè)計(jì)和建模
首先介紹視頻推薦的多目標(biāo)設(shè)計(jì)。
1、目標(biāo)設(shè)計(jì)的思考
先請(qǐng)大家思考一下視頻沉浸式的場(chǎng)景下,如何設(shè)計(jì)推薦系統(tǒng)的目標(biāo)呢?
傳統(tǒng)的推薦系統(tǒng)中,通過(guò)點(diǎn)擊內(nèi)容或者視頻進(jìn)行消費(fèi),用戶用點(diǎn)擊行為明確表達(dá)了對(duì)這條資源的喜歡。因此在傳統(tǒng)的推薦場(chǎng)景下,點(diǎn)擊是非常重要的信號(hào),是一個(gè)明確且簡(jiǎn)單的反饋。但是在沉浸式的場(chǎng)景下缺乏明確的反饋,用戶的喜歡通過(guò)“隱藏”的行為表現(xiàn)出來(lái),消費(fèi)時(shí)長(zhǎng)成為沉浸式推薦場(chǎng)景非常重要的信號(hào)。
除了上述消費(fèi)時(shí)長(zhǎng)以外,還需要考慮用戶在系統(tǒng)中主動(dòng)留下的行為,比如關(guān)注、評(píng)論、分享、點(diǎn)贊。但這類行為數(shù)據(jù)相比播放數(shù)據(jù)是非常稀疏的,可能只有千分之一這個(gè)量級(jí)。
除了這些交互信號(hào)以外,在百度 APP 的推薦里面還有一部分很重要的數(shù)據(jù)就是搜索信號(hào),在百度 70% 的用戶既會(huì)消費(fèi)推薦信息流,又會(huì)用搜索,因此推薦系統(tǒng)也需要刻畫用戶搜索域的滿意度信號(hào)。
除了 C 端讓用戶更滿意的消費(fèi)信號(hào)以外,B 端的創(chuàng)作者則需要一套優(yōu)勝劣汰的機(jī)制,實(shí)現(xiàn)劣質(zhì)作者的篩選,激發(fā)優(yōu)質(zhì)作者的持續(xù)創(chuàng)作潛力,才能實(shí)現(xiàn)生產(chǎn)和消費(fèi)的良性循環(huán)。
2、目標(biāo)設(shè)計(jì)考慮的維度
從推薦系統(tǒng)角度看,用戶就是樣本標(biāo)注員,用戶有一些明確的正向表達(dá),比如播放、點(diǎn)贊、收藏、評(píng)論等行為;還有一些明確的負(fù)向表達(dá),比如 Dislike、負(fù)向評(píng)論、舉報(bào)等等。除了明確表達(dá),用戶還會(huì)有一些隱式的表達(dá),比如通過(guò)完播、播放時(shí)長(zhǎng)、作者頁(yè)消費(fèi)、閱讀相關(guān)推薦等表達(dá)出的喜歡,或是通過(guò)短播、快速跳出等表達(dá)出的不喜歡。因此在設(shè)計(jì)目標(biāo)的時(shí)候,要全方面地思考,平衡明確的信號(hào)和隱式的信號(hào),避免設(shè)計(jì)出一個(gè)“偏科”的推薦系統(tǒng)。
3、綜合滿意度建模
除了上述基礎(chǔ)目標(biāo),我們還會(huì)設(shè)計(jì)一些高階的目標(biāo),不再是簡(jiǎn)單地使用用戶的反饋。舉個(gè)例子,如上圖右側(cè)所示,我們上線了基于用戶滿意度反饋的模型。第一階段,通過(guò)完播、時(shí)長(zhǎng)這種稠密的信號(hào),利用簡(jiǎn)單的規(guī)則或者模型去擬合用戶的滿意反饋,得到一個(gè)比較稠密的用戶滿意度 label。第二階段,基于這個(gè) label 建一個(gè)滿意度模型,利用推搜全域大模型產(chǎn)生的 Embedding、文心底層 Embedding,以及用戶畫像和行為序列特征建模,以評(píng)估推薦域相對(duì)于搜索域的滿意度增益。如果某個(gè)興趣點(diǎn)用戶在搜索里消費(fèi)過(guò)了,推薦系統(tǒng)可以基于該滿意度模型推薦出更優(yōu)質(zhì)的內(nèi)容,這樣就可以使搜推融合更加平滑,將搜索的興趣更好地遷移到 Feed。
4、長(zhǎng)期價(jià)值建模(Long Term Value)
前文介紹的是如何預(yù)估當(dāng)前內(nèi)容的播放時(shí)長(zhǎng)和互動(dòng),將用戶的歷史消費(fèi)行為作為樣本或者特征,預(yù)測(cè)即將推出的內(nèi)容是正反饋還是負(fù)反饋,以及是否會(huì)有互動(dòng)和消費(fèi)的滿意情況。
進(jìn)一步思考,用戶未來(lái)消費(fèi)的內(nèi)容與當(dāng)前消費(fèi)的這條內(nèi)容是否存在關(guān)系?比如用戶當(dāng)前看的是郭德綱的視頻,如果接下來(lái)第 N 天還消費(fèi)了于謙的視頻,于謙視頻是否是由郭德綱視頻“激發(fā)”的呢?未來(lái)興趣點(diǎn)的消費(fèi)是否可以認(rèn)為是當(dāng)前興趣點(diǎn)的“延續(xù)”呢?結(jié)果是肯定的。因此我們?cè)谙到y(tǒng)中引入了 LTV 的體系,將未來(lái)長(zhǎng)期價(jià)值的內(nèi)容歸因到當(dāng)前的視頻推薦上來(lái)。
假設(shè) V0 是當(dāng)前視頻的價(jià)值,V1,V2,… Vn 是用戶未來(lái)消費(fèi)的視頻,假設(shè) V2 和 Vn 是滿意的消費(fèi),并且是 V0 的一個(gè)延續(xù),就可以將其歸因到V0 。
歸因方式有多種,根據(jù)百度 Feed 的業(yè)務(wù)場(chǎng)景,歸因包括以下三大塊:
- 功能的歸因:如通過(guò)相關(guān)推薦看了掛載的資源,那么這部分資源消費(fèi)信號(hào)可以歸因到 V0 上來(lái)。
- 召回關(guān)聯(lián)的歸因:如召回階段是通過(guò) itemCF 等隱式召回的。
- 相關(guān)性關(guān)聯(lián):如通過(guò)多模態(tài) embedding 或者推薦大模型的 embedding 可以衡量資源之間的相關(guān)性,比如 Vn 和 V0 有比較高的相關(guān)性得分,就可以把 Vn 的價(jià)值歸因到 V0 上來(lái)。
當(dāng)然這個(gè)歸因是有權(quán)重的,我們通過(guò)距離 V0 的時(shí)間間隔,和 V0 的相關(guān)性等因子來(lái)調(diào)節(jié)用戶未來(lái)消費(fèi)視頻的歸因權(quán)重,從而得到當(dāng)前視頻 V0 的長(zhǎng)期價(jià)值。有了長(zhǎng)期價(jià)值目標(biāo)后,學(xué)習(xí)就比較簡(jiǎn)單了,首先是目標(biāo)的歸一化,然后直接建模即可。
簡(jiǎn)單總結(jié)一下,基于對(duì)業(yè)務(wù)現(xiàn)狀的抽象和梳理,我們?cè)O(shè)計(jì)推薦系統(tǒng)目標(biāo)時(shí)候會(huì)從下面三個(gè)方向入手:
- 多目標(biāo),首先進(jìn)行基礎(chǔ)物理目標(biāo)建模,接下來(lái)是一些高階目標(biāo)的建模,刻畫全場(chǎng)景的滿意度,同時(shí)還需要對(duì)生態(tài)進(jìn)行調(diào)控。
- 刻畫未來(lái)的價(jià)值。
- 除了資源維度還可以考慮其他維度,例如作者維度的建模。
總之,推薦系統(tǒng)的目標(biāo)要從多角度、各個(gè)發(fā)展方向綜合地去考慮。
5、百度 Feed 模型技術(shù)變革聯(lián)動(dòng)體驗(yàn)進(jìn)化
百度推薦場(chǎng)景發(fā)展到現(xiàn)在的三大場(chǎng)景:
- 「推薦」信息流:已經(jīng)存在了很多年。
- 『發(fā)現(xiàn)』場(chǎng)景:相比之下,主 Feed 偏信息資訊,『發(fā)現(xiàn)』則更輕松活潑,貼近生活。
- 「沉浸式」場(chǎng)景:純視頻形態(tài)的消費(fèi)流。
隨著百度產(chǎn)品的演變,排序目標(biāo)的預(yù)估也是逐步演進(jìn)的。從一開始的單域的主目標(biāo)到多域多目標(biāo),再到現(xiàn)在綜合建模的全域綜合多目標(biāo),把多域的樣本整合到一起,充分共享信息。下面就來(lái)介紹全域的綜合建模。
6、跨域多目標(biāo)建模
首先來(lái)看下業(yè)界都做了哪些工作,無(wú)論是 MMoE、PLE,還是阿里在做的 STAR 網(wǎng)絡(luò)、PEPNet 等這些結(jié)構(gòu),還有谷歌、騰訊等公司都在不遺余力地根據(jù)自己的業(yè)務(wù)設(shè)計(jì)各種各樣的網(wǎng)絡(luò)結(jié)構(gòu),希望在異構(gòu)場(chǎng)景下共享更多有用的信息。其主要解兩大問(wèn)題:
- 跨域信號(hào)的遷移問(wèn)題,如何在兩個(gè)不同的域之間更好地遷移,實(shí)現(xiàn)跨域信息共享。
- 多目標(biāo)之間負(fù)遷移的問(wèn)題,即多目標(biāo)的蹺蹺板效應(yīng)。
同樣百度推薦系統(tǒng)也面臨這兩個(gè)問(wèn)題。
百度的場(chǎng)景下子域目標(biāo)眾多,且各目標(biāo)之間的相關(guān)性較低,這容易導(dǎo)致多目標(biāo)之間發(fā)生負(fù)遷移。為了解決這問(wèn)題,需要分析不同目標(biāo)間的 PNR,并找出它們之間的相關(guān)性差異。即異構(gòu)場(chǎng)景下如何刻畫用戶信息,以及如何實(shí)現(xiàn)異構(gòu)信息的遷移,是模型結(jié)構(gòu)需要去解決的問(wèn)題。
結(jié)合百度的業(yè)務(wù),我們利用 Gating 結(jié)構(gòu)設(shè)計(jì)了跨域分層多目標(biāo)網(wǎng)絡(luò)結(jié)構(gòu),主要分三層:首先是個(gè)性化 common 網(wǎng)絡(luò),作為底座;第二層是跨域的信息提取 GCG 網(wǎng)絡(luò);最后一層是子域的多目標(biāo)網(wǎng)絡(luò),這樣就可以在共享信息的同時(shí),對(duì)每一個(gè)域都有一個(gè)多目標(biāo)的預(yù)估。
這套方案與單域多目標(biāo)相比有著顯著提升,初次上線 AUC 約提升 3-9 個(gè)千分。如上圖右下角所示,獲取用戶特征在多個(gè)域的 embedding,做了一個(gè) TSNE 降維后,除了搜 C 和二跳這兩個(gè)比較接近以外,其它兩個(gè)場(chǎng)景的區(qū)分還是比較明顯的,說(shuō)明模型可以學(xué)到場(chǎng)景間的差異。搜 C 和二跳兩個(gè)場(chǎng)景區(qū)別不大也是合理的,都是視頻場(chǎng)景,用戶的交互和興趣也都差別不大。
百度業(yè)務(wù)場(chǎng)景有 40 多個(gè)物理目標(biāo),還有 4 個(gè)大的子域,6 種形態(tài),包括視頻、圖文、動(dòng)態(tài)、小程序等。我們希望模型在眾多復(fù)雜業(yè)務(wù)中都能有較好的表現(xiàn)。簡(jiǎn)單介紹一下模型結(jié)構(gòu)。第一層是 common 網(wǎng)絡(luò),作為分域的底座,篩選各個(gè)場(chǎng)景中多目標(biāo)的滿意樣本,通過(guò) gate 網(wǎng)絡(luò)實(shí)現(xiàn)個(gè)性化 embedding 映射。第二層是域間信息的提取,將域內(nèi)獨(dú)有的特征和個(gè)性化共享特征通過(guò) CGC 網(wǎng)絡(luò)實(shí)現(xiàn)。兩者共同構(gòu)建了跨域的信息提取,其好處是既保留了域內(nèi)的信息豐富度,同時(shí)又提取出了異構(gòu)場(chǎng)景的共享信息。第三層是子域的多目標(biāo)建模。這塊我們還有對(duì)應(yīng)的論文在發(fā)表中,對(duì)細(xì)節(jié)感興趣的朋友可以看論文。
四、多目標(biāo)融合
百度多目標(biāo)融合的演進(jìn)過(guò)程與業(yè)界也較為接近,首先是先驗(yàn)知識(shí)融合,簡(jiǎn)單直接,但是比較耗費(fèi)人力。接著我們升級(jí)到了 LTR,效果明顯,但弊端是業(yè)務(wù)變化的時(shí)候需要頻繁調(diào)整,同時(shí)偏序關(guān)系也會(huì)隨著業(yè)務(wù)和用戶分層的變化而變化。之后我們也使用過(guò)多目標(biāo)融合價(jià)值模型,采用序列最優(yōu)的方法,短期使用后,就升級(jí)到了正在使用的方法—ES(Evolution Strategy)進(jìn)化學(xué)習(xí)。
要使用 ES,首先要定義一個(gè) Reward,即北極星指標(biāo)。百度的 Reward 是 Session 的深度(時(shí)長(zhǎng)+步長(zhǎng))和互動(dòng),時(shí)長(zhǎng)和步長(zhǎng)對(duì)應(yīng)的業(yè)務(wù)指標(biāo)是時(shí)長(zhǎng)和視頻播放量,這兩個(gè)指標(biāo)反映的是 LT,也就是用戶的留存。除此以外,還有互動(dòng)信息,代表了用戶在 APP 中資產(chǎn)的沉淀,比如關(guān)注作者的行為,其實(shí)是期望這個(gè)作者再有更新后能夠找到。無(wú)論是提升消費(fèi)條數(shù)還是互動(dòng)個(gè)數(shù),都是希望用戶更長(zhǎng)遠(yuǎn)地使用這個(gè) APP。
我們的第一版是一個(gè)簡(jiǎn)單的啟發(fā)式的模型,當(dāng)前線上的 ES 會(huì)做更高階的計(jì)算,例如引入分場(chǎng)景、分人群等信息。