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