天天看點

百度推薦資源冷啟動實踐

作者:一個資料人的自留地

導讀 新資源的冷啟動政策是分發生态中一個很重要的課題,本文将分享百度在新資源冷啟動方面的實踐。

文章主要包括四個部分:

1. 内容冷啟動概念及挑戰

2. 内容冷啟動算法實踐

3. 内容冷啟實驗系統

4. Q&A

分享嘉賓|李善濤 百度 資深研發工程師

編輯整理|王露露

内容校對|李瑤

出品社群|DataFun

01

内容冷啟動概念及挑戰

百度推薦資源冷啟動實踐

百度 feed 推薦是一個月活數億的綜合資訊流推薦平台。該平台涵蓋了圖文、視訊、動态、小程式、問答等多種内容類型。它不僅提供類似于單列或雙列的點選式推薦,還包括視訊沉浸式等多種推薦形式。同時,推薦系統是一個多利益方的系統,不僅僅包含 C 端使用者體驗。内容生産者在推薦系統中扮演着重要的角色,百度 feed 大量的活躍作者,每天生産海量的内容。

内容平台型推薦系統的本質是要做到多方共赢,對于使用者側:平台需要給使用者持續推薦優質、時鮮、多樣性的内容,吸引更多的使用者、貢獻更多的時長;對于作者側:使用者正向的激勵,促進作者生産更多優質的内容,相反,如果作者釋出的優質、時鮮的内容得不到快速、足夠的曝光,作者會選擇退出平台,這不利于平台可持續發展的。基于以上讨論,可以提煉出幾個關鍵詞:時鮮、優質、多樣、作者發文、留存。這與本文要讨論的内容冷啟動密切相關。首先要讓更多的資源能夠擷取足夠的展現,通過收集更多内容的回報,增加可以被系統推薦的内容量,進而能夠增加使用者消費資源的多樣性;其次,新資源快速起量,提升使用者的時鮮感,進而拉動大盤的時長、DAU、CTR;作者側,通過作者積極性的激發,提升活躍作者數和内容釋出量。

百度推薦資源冷啟動實踐

新資源冷啟動和正常推薦算法之間存在一些不同之處。冷啟動所面臨的挑戰可以歸納為三個主要方面:

首先是精準推薦的挑戰。随着過去十多年來推薦算法的發展,從最初的矩陣分解到後來的深度學習的廣泛應用,ID 類特征在模型中的作用日益凸顯。然而,由于新資源冷啟動樣本數量稀少甚至不存在,導緻 ID 類特征在冷啟動樣本上的訓練不充分,進而影響了推薦精準度。

第二,推薦系統普遍存在着馬太效應,即已經得到使用者認可的資源更容易被推薦,進而得到更多的曝光和點選,進一步鞏固其地位。反之,新資源很難獲得推薦,甚至可能被完全忽視。

最後,我們需要給新資源進行一定的冷啟扶持,那麼如何更高效、更公平的對新資源進行扶持?這裡引出公平性和公正性兩個概念,公平性指的是:每個内容産品在冷啟動初期都能獲得一定的曝光機會,都能有公平競争的機會。公正性指的是:我們要展現優質内容的價值,内容的品質高低,要能夠影響冷啟扶持的權重。是以在新資源上,如何在公平和公正之間尋找合适的平衡點,讓優質的資源脫穎而出,進而達到整體收益的最大化,也是一個很大的挑戰。

02

内容冷啟動算法實踐

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 的表示。這個表示可以非常快速地進行更新,再基于這個表示向外擴散,具有非常高的時效性。

03

内容冷啟實驗系統

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)、完播率等。
  • 全面分發階段,不同資源分組的優質内容比例、出破率、爆款率以及對應作者的發文量等名額。

04

Q&A

Q1:冷熱雙塔怎麼判斷?一個是熱塔,一個是冷塔的。

A1:冷熱雙塔的判斷通常基于資源的分發量。一般來說,分發量較低的資源被認為是冷塔,而分發量較高的資源則被認為是熱塔。例如,可以将分發量小于 100 次的資源視為冷啟資源。當然,需要根據線上模型的預估精度進行分析,并根據實際情況來确定具體的判斷标準。

Q2:冷啟流量優質助推,這裡怎麼判斷資源的潛力?就是否是領域新熱也是用價值模型做預估嗎?

A2:冷啟流量的優質助推通常涉及對資源潛力的評估。判斷資源潛力可以結合多個信号源。例如,對于是否是領域的新熱,可以綜合考慮全網的資訊,包括各個産品的熱榜資訊,以及相關領域的話題讨論和關注度等。對于資源的價值評估,可能會考慮作者的優質度,包括其在初期階段的表現、互動情況等因素。綜合利用這些資訊,可以對資源的潛力進行較為全面的預估。

Q3:理想的 t 跟實際的 t 怎麼求解?曝光曲線上展現呢?如何保證明際的曝光和大盤趨勢是一緻的。

A3:在求解理想的 t 和實際的 t 時,可以通過觀察曝光曲線來展現。曝光曲線展示了資源在不同時間段内的曝光量,而理想的 t 指的是根據設定的目标所需時間而計算的理論曝光進度,而實際的 t 則是根據目前實際的曝光進度而确定的。為了保證明際的曝光與大盤趨勢一緻,需要對整體流量的比例進行穩定的監測,以確定冷啟的進度與整體流量趨勢保持一緻。如果冷啟的進度比較慢,可能需要提高曝光量或者調整其他推薦政策以加速進度,而如果進度過快,則可能需要減緩曝光速度以避免資源過度曝光。

Q4:實驗時使用者隻能看到 50% 的内容,全量的時候看到的是 100% 的内容。如何證明實驗跟全量效果是一緻的?

A4:冷啟的問題其實很難精确的測出來效果的準确值。現在一般就是去對比實驗組和對照組哪個更好。以上就是本次分享的内容,謝謝大家。

百度推薦資源冷啟動實踐

分享嘉賓

INTRODUCTION

李善濤

百度

資深研發工程師

碩士,百度資深研發工程師,負責百度資訊流推薦分發生态及召回相關技術工

百度推薦資源冷啟動實踐

SPRING HAS ARRIVED

百度推薦資源冷啟動實踐

繼續閱讀