百度推薦資源冷啟動實踐
一、內(nèi)容冷啟動概念及挑戰(zhàn)
百度 feed 推薦是一個月活數(shù)億的綜合信息流推薦平臺。該平臺涵蓋了圖文、視頻、動態(tài)、小程序、問答等多種內(nèi)容類型。它不僅提供類似于單列或雙列的點選式推薦,還包括視頻沉浸式等多種推薦形式。同時,推薦系統(tǒng)是一個多利益方的系統(tǒng),不僅僅包含 C 端用戶體驗。內(nèi)容生產(chǎn)者在推薦系統(tǒng)中扮演著重要的角色,百度 feed 大量的活躍作者,每天生產(chǎn)海量的內(nèi)容。
內(nèi)容平臺型推薦系統(tǒng)的本質(zhì)是要做到多方共贏,對于用戶側(cè):平臺需要給用戶持續(xù)推薦優(yōu)質(zhì)、時鮮、多樣性的內(nèi)容,吸引更多的用戶、貢獻更多的時長;對于作者側(cè):用戶正向的激勵,促進作者生產(chǎn)更多優(yōu)質(zhì)的內(nèi)容,相反,如果作者發(fā)布的優(yōu)質(zhì)、時鮮的內(nèi)容得不到快速、足夠的曝光,作者會選擇退出平臺,這不利于平臺可持續(xù)發(fā)展的?;谝陨嫌懻摚梢蕴釤挸鰩讉€關(guān)鍵詞:時鮮、優(yōu)質(zhì)、多樣、作者發(fā)文、留存。這與本文要討論的內(nèi)容冷啟動密切相關(guān)。首先要讓更多的資源能夠獲取足夠的展現(xiàn),通過收集更多內(nèi)容的反饋,增加可以被系統(tǒng)推薦的內(nèi)容量,進而能夠增加用戶消費資源的多樣性;其次,新資源快速起量,提升用戶的時鮮感,進而拉動大盤的時長、DAU、CTR;作者側(cè),通過作者積極性的激發(fā),提升活躍作者數(shù)和內(nèi)容發(fā)布量。
新資源冷啟動和常規(guī)推薦算法之間存在一些不同之處。冷啟動所面臨的挑戰(zhàn)可以歸納為三個主要方面:
首先是精準推薦的挑戰(zhàn)。隨著過去十多年來推薦算法的發(fā)展,從最初的矩陣分解到后來的深度學習的廣泛應(yīng)用,ID 類特征在模型中的作用日益凸顯。然而,由于新資源冷啟動樣本數(shù)量稀少甚至不存在,導致 ID 類特征在冷啟動樣本上的訓練不充分,從而影響了推薦精準度。
第二,推薦系統(tǒng)普遍存在著馬太效應(yīng),即已經(jīng)得到用戶認可的資源更容易被推薦,從而得到更多的曝光和點擊,進一步鞏固其地位。反之,新資源很難獲得推薦,甚至可能被完全忽視。
最后,我們需要給新資源進行一定的冷啟扶持,那么如何更高效、更公平的對新資源進行扶持?這里引出公平性和公正性兩個概念,公平性指的是:每個內(nèi)容產(chǎn)品在冷啟動初期都能獲得一定的曝光機會,都能有公平競爭的機會。公正性指的是:我們要體現(xiàn)優(yōu)質(zhì)內(nèi)容的價值,內(nèi)容的質(zhì)量高低,要能夠影響冷啟扶持的權(quán)重。所以在新資源上,如何在公平和公正之間尋找合適的平衡點,讓優(yōu)質(zhì)的資源脫穎而出,從而達到整體收益的最大化,也是一個很大的挑戰(zhàn)。
二、內(nèi)容冷啟動算法實踐
1. 基于內(nèi)容的冷啟
下面是新資源常用的召回手段,因為新資源與用戶的交互次數(shù)很少,傳統(tǒng)的 i-to-i(item-to-item)和u-to-i(user-to-item)召回方法并不適用。因此,冷啟動主要依賴于內(nèi)容推薦方法。例如,基于最基本的用戶畫像、內(nèi)容標簽和分類進行直接召回的方法,個性化程度較低,召回的準確性也相對較差。
其次隨著各大內(nèi)容平臺人格化屬性的作者越來越多,基于關(guān)注關(guān)系的冷啟動成為一種有效的方法。但關(guān)注較為稀疏,并不能滿足很多低粉絲量作者的發(fā)文;所以更進一步,通過算法挖掘作者的潛在粉絲,來擴充基于關(guān)注冷啟的影響面。例如經(jīng)常消費該作者但未關(guān)注的用戶,以及基于用戶-作者關(guān)注關(guān)系構(gòu)圖,計算潛在關(guān)注關(guān)系。
另外,多模態(tài)召回也是一種有效的方法。隨著跨模態(tài)、多模型、大模型技術(shù)的發(fā)展,在推薦系統(tǒng)中整合內(nèi)容的各種模態(tài)信息,尤其是在冷啟動推薦系統(tǒng)中效果顯著。CLIP 是一種基于對比文本和圖像的預訓練方法,主要包含文本編碼器和圖像編碼器兩個模塊,將文本和圖像信息映射到相同的空間,對下游任務(wù)提供更好的幫助。直接使用該向量進行召回會存在一定問題,該向量代表的是內(nèi)容先驗信息,先驗相似并不一定代表用戶都會喜歡,我們需要將先驗表示和推薦系統(tǒng)中基于行為數(shù)據(jù)學習到的后驗表示關(guān)聯(lián)起來。
具體的映射做法是基于已經(jīng)分發(fā)充足的 embedding 和充分學習的資源,可以收集一些樣本并將其作為標簽用于訓練投影網(wǎng)絡(luò)。該投影網(wǎng)絡(luò)將跨模態(tài)的先驗表示映射到推薦系統(tǒng)的后驗行為表示。這種方法的一個優(yōu)勢在于,無需增加任何模型,就可以無縫使用推薦系統(tǒng)中已有的召回和排序模型。舉例來說,對于雙塔模型,我們只需要利用現(xiàn)有的用戶側(cè)向量,而不需要做任何改動,然后使用投影網(wǎng)絡(luò)將新資源投影到雙塔模型的后驗表示空間,從而可以簡單快速地上線一個雙塔召回。同樣,對于當前已有的圖召回和基于樹的召回,也可以以低成本的方式進行上線。
當然,這種映射方法存在一個小缺點,即回歸的難度較大。在 CB2CF 中,這是一種回歸問題,而回歸一般比較難學習。因此,我們也可以采用 pairwise 的方式來學習映射關(guān)系。具體來說,可以將正樣本設(shè)定為 item CF 學習到的相似 item pair,負樣本可以通過全局負采樣等方式獲取,輸入也包括 item 的一些先驗和動態(tài)信息,然后通過學習來獲得這樣一個映射。
通過利用內(nèi)容的先驗信息,基本上可以實現(xiàn)大盤常用的召回方法在冷啟動上的有效實現(xiàn)。
2. 基于種子用戶的冷啟
由于早期的冷啟動主要針對一些零點擊的資源進行設(shè)計,一旦有了一些早期的冷啟動,這些內(nèi)容就會收集到一定數(shù)量的正反饋種子。此時,我們可以通過 lookalike 的方法來進行召回。
Lookalike 的一個重要優(yōu)點是其實時性特別高。這個方法主要源自互聯(lián)網(wǎng)廣告領(lǐng)域,以前廣告主會選擇一些可能感興趣的用戶作為種子用戶,然后系統(tǒng)會尋找這些種子用戶的相似用戶進行擴散。在推薦系統(tǒng)中,我們可以訂閱在線實時流日志,獲取之前冷啟動時收集到的給予資源的正反饋,比如點擊、播放、互動、關(guān)注等,甚至包括負反饋,如快速滑動的用戶。然后基于這些種子用戶,系統(tǒng)可以通過用戶的 embedding,并通過各種匯聚方法或添加一些自注意力機制等,得到 item 的表示。這個表示可以非常快速地進行更新,再基于這個表示向外擴散,具有非常高的時效性。
三、內(nèi)容冷啟實驗系統(tǒng)
1. ID 特征優(yōu)化
在模型方面,冷啟動的優(yōu)化點可以歸納為三種范式:ID 丟棄式、ID 生成式和模型的動態(tài)參數(shù)。這三種范式實際上可以相互組合使用。
對于 ID 丟棄式優(yōu)化,由于整體資源樣本較少,模型容易迎合頭部資源,因此頭部資源的 ID 學習非常充分,在模型中的特征重要度也特別高。然而,冷啟動資源的出現(xiàn)較少,ID 學習不充分。針對這個問題,有兩種思路:一種是盡量避免使用 ID,另一種是如何更好地利用 ID。
第一個范式是丟棄式優(yōu)化,經(jīng)典的方法之一是 DropoutNet。在訓練過程中,DropoutNet 會隨機丟棄 item ID 和 user ID 特征,以盡量提高模型對非 ID 特征的重視程度,增強模型的泛化能力。這樣做實際上能夠提升新用戶或新資源的冷啟效果。
另外,近年來也出現(xiàn)了一些對比學習的方法。對比學習是一種自監(jiān)督學習方法,不依賴于人工標注,可以構(gòu)造大量的樣本,為優(yōu)化多幫冷啟動問題提供了幫助,因為我們可以構(gòu)造額外的樣本來加強冷啟動數(shù)據(jù)的地位。例如,在雙塔模型中,可以在 item 側(cè)增加一個輔助的對比損失。這兩個塔的參數(shù)是共享的,使用對比學習損失能夠影響資源塔的網(wǎng)絡(luò)參數(shù)和嵌入特征,通過掩碼方法,對具有 ID 特征和其他冷啟動特征的樣本進行不同比例的掩碼,從而兼顧模型的泛化能力和冷啟動資源的特殊性。
接下來是生成式優(yōu)化,前面提到了對于不可靠的 ID 特征,要盡量少使用,但目前更優(yōu)的做法是如何讓它更可靠。常規(guī)的思路是基于 ID 的先驗特征來進行 ID 的 embedding 初始化。通過合理的初始化,使得新資源的預測更加精確,同時能夠更快地收斂,以雙塔模型為例,通常情況下,新特征會被隨機初始化或者全零初始化,這會導致對新資源的預測不準確,收斂速度慢。因此,可以利用內(nèi)容的一些先驗特征,如標簽、內(nèi)容標簽、作者標簽等,以及一些相似的 ID(如熱門 ID),選擇一些具有充分高后驗和高分發(fā)的資源的 ID embedding 作為標簽,然后訓練一個生成器來生成 ID 的 embedding,以替代初始值。當然,也可以直接利用新資源與最相似的前 K 個熱門資源的 ID embedding 進行平均,作為新資源的 embedding 初始化,這種方法效果相對穩(wěn)定,而且成本非常低,在工業(yè)界使用較多。
針對熱門 ID 主導模型且模型更依賴 ID 特征的問題,我們可以采用多任務(wù)和多場景的思路進行優(yōu)化。依然拿雙塔模型舉例,可以將冷啟動和非冷啟動資源的預測拆分為兩個獨立的目標。通過常見的多目標模型,提升模型對新內(nèi)容的重視程度。一種經(jīng)典的方法是 CGC 網(wǎng)絡(luò),如上圖左部所示。在這種網(wǎng)絡(luò)中,所有任務(wù)共享 embedding 層,然后通過冷啟動任務(wù)和非冷啟動任務(wù)分別學習獨立的專家網(wǎng)絡(luò),以提升冷啟動預測的能力。另一種方法是通過動態(tài)權(quán)重來調(diào)整網(wǎng)絡(luò)中不同資源類型的參數(shù)權(quán)重,如上圖右部所示。在這個網(wǎng)絡(luò)中,最右側(cè)的網(wǎng)絡(luò)是一個冷啟動指示器,它接收冷啟動資源的信息(如當前點擊展示次數(shù)和資源類型),然后輸出網(wǎng)絡(luò)各層的權(quán)重,以控制不同資源類型下信息在網(wǎng)絡(luò)中的傳遞通道,從而讓模型在冷啟動情況下預測更加精準。
2. 流量調(diào)控機制設(shè)計
新資源需要盡快起量以提升作者的發(fā)文體驗和推薦的實現(xiàn)性,但由于馬太效應(yīng),我們需要對新資源進行一定的傾斜。一般的冷啟動傾斜可分為兩種流量:基礎(chǔ)流量和助推流量?;A(chǔ)流量意味著公平,我們需要給予所有資源一些普惠的流量進行試探。而助推流量則基于作者質(zhì)量資源的潛力預估和初級流量的表現(xiàn)給予差異化的扶持。
冷啟的扶持機制,在抽象層面上有兩個參數(shù):時間和分發(fā)量,即通過強插、調(diào)權(quán)等手段,在給定的時間內(nèi)讓資源達到給定的分發(fā)量目標。對于不同的業(yè)務(wù),我們會設(shè)定不同的分發(fā)量和所需時間。例如,對于普通資源,可能只需要在 24 小時內(nèi)展現(xiàn) 100 次就足夠了;而對于新熱資源,可能需要更快,例如半小時內(nèi)達到 3000 次展現(xiàn)。同時,對于新作者可能會設(shè)置較大的冷啟動額度。
具體到公式上,公式中的 t 表示當前發(fā)布時間除以目標所需時間的歸一化,即當前的時間進度,x 表示當前的分發(fā)進度。我們希望 t 和 x 相等,這意味著正常進度下的分發(fā)。如果 x 小于 t,則說明當前的冷啟動速度較慢,需要增加權(quán)重或強插的系數(shù)。公式中的 θ 可以控制資源前期投放的傾斜程度。
然而,這個公式的前提是產(chǎn)品不同時段的流量是均勻的,而實際情況并不符合這一假設(shè)。一般的互聯(lián)網(wǎng)產(chǎn)品流量分布存在高峰和低谷的差異,因此需要根據(jù)實際情況進行調(diào)整。例如,如果一個內(nèi)容在凌晨 2 點發(fā)布,到早上 8 點可能只需要 25 次分發(fā),因為凌晨時段的流量較少。因此,公式中的 t 需要基于實際的流量分布進行積分。
3. 投放用戶選擇
另一個關(guān)鍵問題是在資源分發(fā)初期,應(yīng)該將資源投放給哪些用戶?最常規(guī)的做法是盡量將新資源推薦給老用戶,而不是新用戶,因為老用戶的容忍度通常更高,可以避免新資源推薦不精準而對新用戶造成傷害。此外,如果將冷啟動資源的提升視為一種干預,基于 Uplift 思想可以學習干預對用戶時長和留存的影響,盡量選擇對干預不產(chǎn)生負面影響的用戶進行冷啟動。
以上兩點都是基于 C 端用戶影響的角度。然而,冷啟動受眾的選擇也會影響資源的后續(xù)傳播發(fā)展。從信息傳播的角度來看,二級傳播理論將信息傳播分為兩個步驟。首先,在每天產(chǎn)生的大量信息中,一些人群具有篩選和助推信息的能力,我們稱之為意見領(lǐng)袖。然后,由這些意見領(lǐng)袖放大助推的資源會大規(guī)模傳播。
在當前時代,意見領(lǐng)袖的角色同樣存在于社交平臺、知名媒體、電視臺等地方。對于推薦系統(tǒng)來說,也存在著關(guān)鍵節(jié)點用戶資源的概念,他們通過篩選優(yōu)質(zhì)資源并進行推薦,從而影響其他用戶的消費行為。
那么,如何挖掘這些關(guān)鍵用戶呢?通過以上討論,關(guān)鍵用戶具有兩個特點:一是對資源質(zhì)量有較高的鑒別能力,二是他們推薦的內(nèi)容被其他用戶接受的概率較高。因此,有兩種挖掘方法:
首先,根據(jù)資源的后驗情況將資源劃分為優(yōu)質(zhì)和低質(zhì)資源,并將其作為標簽。然后以初期點擊這些資源的用戶 ID 作為特征,預測資源的后驗情況。模型學習出的每個用戶 ID 的權(quán)重可以視為該用戶的關(guān)鍵指數(shù)。
其次,通過在線用戶協(xié)同過濾推薦系統(tǒng),挖掘用戶之間的推薦成功率。推薦成功率較高的用戶可被視為推薦系統(tǒng)中的關(guān)鍵用戶。通過這兩種方法,挖掘出圖中的關(guān)鍵用戶,并在資源冷啟動時優(yōu)先推薦給他們。
4. 實驗系統(tǒng)
冷啟動內(nèi)容的實驗系統(tǒng)在設(shè)計時需要注意一些特殊性,因為推薦系統(tǒng)的樣本是共享的,導致實驗組收集到的反饋也會在對照組中被學習到,從而難以準確衡量冷啟動策略的效果。因此,我們需要進行內(nèi)容隔離實驗,以評估冷啟動策略對整個系統(tǒng)的影響。
一種常見的實驗設(shè)計是將用戶和資源完全隔離,比如上圖左下部所示。其中,50% 的用戶只能看到 50% 的內(nèi)容,不同的資源分組使用不同的冷啟動策略。這樣可以評估冷啟動策略對整個系統(tǒng)的影響。但是這種方法可能對 C 端用戶的體驗造成較大的影響,因為他們只能看到一部分的內(nèi)容。
另一種柔和的方式是在冷啟動階段,比如前 3000 次,將用戶和資源完全隔離,然后不同的分組進行不同的冷啟動策略。在經(jīng)過冷啟動之后,就可以在全部用戶上分發(fā)資源。這樣的設(shè)計可以降低對 C 端用戶體驗的影響。
通過實驗,我們可以分析以下指標:
- 冷啟動期間的冷啟動達標率、速率和效率指標,如點擊率(CTR)、完播率等。
- 全面分發(fā)階段,不同資源分組的優(yōu)質(zhì)內(nèi)容比例、出破率、爆款率以及對應(yīng)作者的發(fā)文量等指標。
四、Q&A
Q1:冷熱雙塔怎么判斷?一個是熱塔,一個是冷塔的。
A1:冷熱雙塔的判斷通?;谫Y源的分發(fā)量。一般來說,分發(fā)量較低的資源被認為是冷塔,而分發(fā)量較高的資源則被認為是熱塔。例如,可以將分發(fā)量小于 100 次的資源視為冷啟資源。當然,需要根據(jù)線上模型的預估精度進行分析,并根據(jù)實際情況來確定具體的判斷標準。
Q2:冷啟流量優(yōu)質(zhì)助推,這里怎么判斷資源的潛力?就是否是領(lǐng)域新熱也是用價值模型做預估嗎?
A2:冷啟流量的優(yōu)質(zhì)助推通常涉及對資源潛力的評估。判斷資源潛力可以結(jié)合多個信號源。例如,對于是否是領(lǐng)域的新熱,可以綜合考慮全網(wǎng)的信息,包括各個產(chǎn)品的熱榜信息,以及相關(guān)領(lǐng)域的話題討論和關(guān)注度等。對于資源的價值評估,可能會考慮作者的優(yōu)質(zhì)度,包括其在初期階段的表現(xiàn)、互動情況等因素。綜合利用這些信息,可以對資源的潛力進行較為全面的預估。
Q3:理想的 t 跟實際的 t 怎么求解?曝光曲線上體現(xiàn)呢?如何保證實際的曝光和大盤趨勢是一致的。
A3:在求解理想的 t 和實際的 t 時,可以通過觀察曝光曲線來體現(xiàn)。曝光曲線展示了資源在不同時間段內(nèi)的曝光量,而理想的 t 指的是根據(jù)設(shè)定的目標所需時間而計算的理論曝光進度,而實際的 t 則是根據(jù)當前實際的曝光進度而確定的。為了保證實際的曝光與大盤趨勢一致,需要對整體流量的比例進行穩(wěn)定的監(jiān)測,以確保冷啟的進度與整體流量趨勢保持一致。如果冷啟的進度比較慢,可能需要提高曝光量或者調(diào)整其他推薦策略以加速進度,而如果進度過快,則可能需要減緩曝光速度以避免資源過度曝光。
Q4:實驗時用戶只能看到 50% 的內(nèi)容,全量的時候看到的是 100% 的內(nèi)容。如何證明實驗跟全量效果是一致的?
A4:冷啟的問題其實很難精確的測出來效果的準確值?,F(xiàn)在一般就是去對比實驗組和對照組哪個更好。