天天看點

當大語言模型邂逅推薦系統,面向應用視角的全面綜述

作者:mistlike

本文從應用視角全面綜述了大語言模型在推薦系統領域的研究進展。

當大語言模型邂逅推薦系統,面向應用視角的全面綜述

論文:https://arxiv.org/abs/2306.05817

倉庫:github.com/CHIANGEL/Awesome-LLM-for-RecSys

倉庫:github.com/hongleizhang/RSPapers#llm-for-rs

1. 背景與引言

推薦系統(RS)旨在解決線上應用中的資訊過載問題,并滿足使用者的個性化資訊需求。另一方面,大語言模型(LLM)從自然語言處理(NLP)領域發源,憑借其強大的湧現能力和泛化性能成功破圈,在深度學習的各個領域都得到了長足的應用。

從推薦系統的角度出發,傳統推薦模型和大語言模型都有着各自的優缺點。整體概之,傳統推薦模型複雜度較低,偏重行為記憶和協同信号比對,但缺乏語義資訊和深度意圖推理;反之,大語言模型語義信号豐富,但協同資訊缺失嚴重,不具備傳統模型的長期記憶能力,計算複雜度高導緻對海量樣本資料篩選困難。

由此,這自然也就引出了本文想要調研的研究方向和科學問題:

核心問題

推薦系統如何大語言模型中取長補短,進而充分優化推薦性能和使用者體驗?

當大語言模型邂逅推薦系統,面向應用視角的全面綜述

在本文中,我們以推薦系統為核心、以工業應用為視角出發,全面綜述調研大語言模型在推薦系統領域的應用和挑戰。

如上圖所示,我們從兩個核心問題出發,去分析該研究方向(LLM+RS)的進展:

  1. 何處運用大語言模型(Where to Adapt LLM)
  2. 如何運用大語言模型(How to Adapt LLM)

針對上述兩個問題的讨論和分析,我們分别總結出了以下兩個核心觀點和發展趨勢:

核心觀點 & 發展趨勢

突破傳統定位,重塑推薦流程

通過對Where問題的分析,我們總結認為,伴随着參數規模上升帶來的湧現能力(邏輯推理、指令跟随),大語言模型在推薦系統中扮演的角色開始逐漸突破傳統定位,從簡單的編碼器、打分器向外擴充延伸,,能夠完成使用者意圖推斷、知識延展外推等傳統模型難以兼顧的任務,向重塑推薦流程、實作推薦系統一體化邁進了一步。

語義協同兼顧,跨域知識融合

通過對How問題的分析,我們發現直接将大語言模型用于行為預測等傳統推薦任務并不能取得良好的性能。我們總結認為,推薦系統是一個知識高度專有化的領域,更強調域内協同知識,和大語言模型所蘊含的開放語義知識仍有一定差異,二者應當充分兼顧,不可偏廢。是以我們,進而和大語言模型的能力相輔相成,達到更優的推薦效果。

接下來,我們會在第2、3兩節介紹兩種分類方案并給出簡短讨論,随後在第4節從效率、效益、倫理三方面重點介紹LLM+RS方向下的五點核心挑戰和可能的解決方案,最後我們在第5節總結本篇推文的内容。

注:在本篇推文中,我們僅僅介紹綜述論文的主幹内容,相關工作的具體細節和更多讨論分析請讀者參考我們的論文與Github倉庫。

2. 何處運用大語言模型(Where)

當大語言模型邂逅推薦系統,面向應用視角的全面綜述

如圖,我們對現代基于深度學習的推薦系統流程(Pipeline)進行了抽象,得到了以下五個環節:

  • 資料采集階段:線上收集使用者的行為和記錄,得到原始資料(raw data)。
  • 特征工程階段:對原始資料進行篩選、加工、增強,得到可供下遊深度模型使用的結構化資料(structured data)。
  • 特征編碼階段:對結構化資料進行編碼,得到對應的稠密向量表示(neural embeddings),這是深度學習推薦系統的關鍵一步。
  • 打分排序階段:對候選物品進行打分排序,得到要呈現給使用者的物品排序清單(recommended items)。
  • 推薦流程控制:把控上述推薦系統整體流程,也可細化到對排序階段的召回/粗排/精排的控制。

2.1 LLM在特征工程階段的應用

在特征工程階段,我們旨在利用大語言模型蘊藏的開放世界知識和邏輯推理能力,對原始資料進行後加工和資料增強,生成新的輔助文本資訊來提升後續推薦模型的性能。例如,GENRE [1] 利用大語言模型完成使用者畫像重塑、新聞内容摘要與模拟生成等任務;AnyPredict [2] 則利用ChatGPT來彌合異構表格資料,形成統一的訓練資料。

2.2 LLM在特征編碼階段的應用

在傳統推薦領域,特征工程得到的結構化資料往往是稀疏獨熱編碼的形式,而特征編碼則被設計成一個簡單的Embedding Look-up Table。即使是富含文本語義的特征(如使用者的性别、地區,物品的标題、屬性)都被統一成了獨熱編碼,産生了語義層面的資訊損失。

伴随着語言模型的興起,研究人員開始采用語言模型作為編碼器來得到文本資訊的稠密向量表示,與傳統的獨熱編碼模式相輔相成。例如,U-BERT [3] 對使用者評論内容進行編碼來增強使用者的個性化向量表示;UniSRec [4] 則通過對物品标題/描述進行編碼,來達成跨域序列推薦的目标。

2.3 LLM在打分排序階段的應用

打分排序是目前推薦系統的核心任務,最終目标是得到一個符合使用者興趣偏好的物品排序清單(長度可為1)。根據達成最終目标的任務形式,我們将該類目進一步細分為以下三種任務:

  • 物品評分任務(Item Scoring Task)
  • 大語言模型以逐點的方式(pointwise)對每一個候選物品進行評分,而後根據分數排序篩出最終的推薦物品清單 [5, 6]。
  • 物品生成任務(Item Generation Task)
  • 大語言模型不再對候選物品逐一打分,而是直接生成要推薦給使用者的物品或清單。例如VIP5 [7] 訓練T5模型來直接生成下一個推薦物品的ID;還有 [8] 則直接利用ChatGPT輸出對輸入候選清單的重排序結果。此類任務極其依賴于大語言模型強大的語言了解、邏輯推理和文本生成能力。
  • 混合任務(Hybrid Task)
  • 大量研究表明,大語言模型天然地能夠應對多任務場景,是以我們也可以很自然地為大語言模型構造混合任務的形式,讓一個統一的大語言模型來完成上述的多種不同任務形式,進而服務于不同的推薦場景 [9, 10]。

2.4 LLM在推薦流程控制的應用

對推薦系統流程的控制不再是一個簡單的評分排序任務,還需要涉及更高層次的人類能力,如任務組織、邏輯推理等等。而如今大語言模型逐漸展現出的湧現能力(邏輯推理、指令跟随、上下文學習)使得推薦流程控制自動化有了可能。在這一子方向的先期工作探索還較少,如Chat-REC [11] 使用ChatGPT來控制對話流程、決定是否調用推薦API、并對傳回的候選清單進行重排、最終進行推薦内容的展示。

2.5 讨論與小結

在“何處運用大語言模型”的角度下,我們發現大語言模型在推薦領域呈現出“突破傳統定位,重塑推薦流程”的發展态勢。

伴随着參數規模上升帶來的湧現能力(邏輯推理、指令跟随),大語言模型在推薦系統中扮演的角色開始逐漸突破傳統定位,從簡單的編碼器、打分器向外擴充延伸,在特征工程、乃至推薦流程控制都發揮重要作用,能夠完成使用者意圖推斷、知識延展外推等傳統模型難以兼顧的任務,向重塑推薦流程、實作推薦系統一體化邁進了一步。

3. 如何運用大語言模型(How)

當大語言模型邂逅推薦系統,面向應用視角的全面綜述

如圖,我們從訓練和推理兩個階段出發,提出了關于“如何運用大語言模型”的四象限分類法:

  • 在,大語言模型是否需要。這裡微調的定義包含了全量微調和參數高效微調。
  • 在,是否需要引入(Conventional Recommendation Model, CRM)。需注意,将CRM作為前置預排序(pre-ranking)模型的情況不在考慮範圍之内。

我們還在圖中用淺色箭頭标出了大緻的發展趨勢,接下來我們會按照該趨勢對四個象限的内容進行逐一介紹。

3.1 微調LLM;引入CRM(第1象限)

該象限的工作主要是一些早期工作,他們将BERT等小規模語言模型納入作為可更新的文本編碼器,來服務于下遊的傳統推薦模型。雖然他們也能夠達到優異的性能,但大語言模型的關鍵能力其實還沒有得到充分的利用。

3.2 不微調LLM;不引入CRM(第3象限)

第3象限的工作既不微調大語言模型,也不引入傳統推薦模型,是以主要針對ChatGPT這種大規模語言模型,并落腳于推薦任務的零樣本和少樣本學習(zero/few-shot learning)。但如圖可知,這一類工作的推薦性能往往不如人意,僅僅隻能打敗矩陣分解(MF)這種弱基線模型。

3.3 不微調LLM;引入CRM(第2象限)

對比第3象限,第2象限在不微調大語言模型的基礎下,通過引入可訓練的傳統推薦模型來達到良好的推薦性能。部分先期工作仍然是将一個固定的語言模型作為文本編碼器;另一類前沿工作,則開始将大語言模型作為特征工程和資料增強的利器,這充分利用到了大語言模型的邏輯推理能力和開放世界知識,并且不會對下遊的傳統推薦模型的訓練推理造成過大的額外負擔,是一種比較優雅的運用大語言模型的方案。

3.4 微調LLM;不引入CRM(第4象限)

第4象限的工作不再引入傳統推薦模型,而是直接将大語言模型在推薦系統的資料集上進行微調,使其能夠适應推薦資料分布,進而得到更好的推薦性能。而因為不再引入傳統推薦模型,大語言模型必須承擔打分排序階段的任務,參考2.3小節,這些工作的任務形式也可以細分為評分、生成、混合三種。

3.5 讨論與小結

在“如何運用大語言模型”的角度下,我們發現大語言模型在推薦領域呈現出“語義協同兼顧,跨域知識融合”的發展态勢。

從圖中我們可以清晰地看到一條性能邊界線,即第3象限的工作顯著弱于第1、2、4象限,這說明雖然大語言模型具備龐大的開放世界知識和邏輯推理能力,但推薦系統是一個知識高度專有化的領域,是以我們仍然需要通過微調大語言模型(資料層面)或引入傳統推薦模型(模型層面)的方式來注入推薦的領域知識,進而和大語言模型的能力相輔相成,達到更優的推薦效果。

4. 挑戰

在介紹完LLM+RS研究工作的詳細分類後,我們從效率(efficiency)、效益(effectiveness)、倫理(ethics)三個角度總結了研究方向的五個挑戰。

4.1 訓練效率

工業推薦系統維持良好性能有兩大要素,一是大量的訓練資料(上億規模),二是高頻率的模型更新小時級别甚至分鐘級别)。但大語言模型的引入固然帶來了優勢(開放世界知識、邏輯推理能力),但也給推薦系統整體的訓練流程帶來了極大的效率問題:。

從可能的解決方案上看,我們可以引入來解決顯存用量過大的問題,引入來緩解大語言模型訓練時間過長的問題。

4.2 推理時延

推薦系統是一個高度時間敏感的應用場景,從使用者發起請求到推薦結果呈現的整個流程,往往需要在數百乃至幾十毫秒的時間内完成。而大語言模型的引入,也帶來了的問題,即上線困難。而從解決方案上看,有以下可能的解決思路:

  • 部分語言模型的輸出或中間結果,用空間換時間 [12]。
  • 通過等手段,降低推理模型的真實規模。
  • 讓大語言模型階段,進而避免對後續推理部分造成時延困擾。

4.3 推薦領域的長文本模組化

為了運用大語言模型,我們需要對推薦的領域内知識進行模闆和提示詞處理,得到相應的文本資訊交給大語言模型進行處理。但在推薦系統領域,我們往往需要更長的使用者序列、更大的候選物品集和更多元的特征來達成更優秀的推薦性能,這會導緻我們通過提示詞模闆得到的,而長文本可能會帶來以下挑戰。

首先,有工作 [8] 指出大語言模型在應對推薦領域長文本的時候會表現不佳,。除此之外,長文本還會帶來過高的顯存開銷,進一步(Inefficiency)。并且甚至可能超過語言模型的(Context Window Limitation),導緻部分資訊損失和性能下降。

是以,在大語言模型運用于推薦系統的場景下,我們需要着重研究如何對推薦系統的原始資料進行,為大語言模型提供真正簡短有效的文本輸入(即提示詞工程)。與此同時,如何指導并微調語言模型使其和推薦系統的資料分布(Alignment)也是至關重要的挑戰。

4.4 ID類特征的索引與模組化

在推薦系統中存在一種純ID類特征(如使用者ID,物品ID),他們天生不具備任何語義資訊,同時不同域下的命名編碼規則也大不相同,大語言模型對此類特征的處理往往存在一定的困難。例如使用者ID AX5896一般會被分詞器切成[AX, 58, 96],随機字母和數字的排列組合,為有效的語義資訊。

有的工作 [12] 提出直接抛棄此類純ID特征,用行為序列替代使用者ID,用物品标題和描述替代物品ID,進而達到的目标;但另一方面,又有工作 [4] 指出,引入純ID類特征雖然犧牲了跨域推薦的能力,但卻可以極大幅度地提升模型的。是以在“ID類特征的索引與模組化”的議題下,主要存在兩方面的挑戰。

首先,我們可以犧牲跨域推薦能力,通過保留純ID類特征來達到更好的單域推薦性能。在這種思路下,研究人員需要去探索。例如,P5 [9] 直接在語言模型的文本輸入中保留了ID特征,并引入Whole-word Embedding來對其進行顯式模組化。建立在P5的基礎上,[13] 進一步探究了物品ID的進階索引政策,如序列索引和基于語義的樹狀索引。

其次,我們也可以通過抛棄純ID類特征來達到跨域推薦的目标。如此,研究人員需要聚焦于如何(如對比學習與蒸餾),以期能夠達到和上述單域推薦相似的性能。

4.5 公平性問題

公平性是推薦系統領域的常見問題之一,而研究人員也指出了大語言模型可能會因為預訓練語料中存在的偏差而産出有害的、帶歧視性的偏見輸出。是以在LLM+RS的研究方向下,公平性仍然是一個亟待解決的議題。盡管已有工作 [8] 通過提示詞工程、自助法等政策去嘗試緩解基于大語言模型的推薦系統的公平性問題,但他們仍然,LLM+RS在公平性問題上的研究仍然值得深入探索。

5. 總結

本文以推薦系統為核心,以工業應用為視角,從Where和How兩個角度出發,概括總結了大語言模型在推薦系統領域的應用與挑戰,我們希望本文的分析和讨論,可以一定程度上為讀者提供新穎的思考角度、多樣的研究方向、以及未來可能的發展路徑。更多的内容,歡迎讀者移步我們的綜述論文和Github倉庫(見推文開頭或點選下方閱讀全文)。

Reference

[1] A First Look at LLM-Powered Generative News Recommendation.

[2] AnyPredict: Foundation Model for Tabular Prediction.

[3] U-BERT: Pre-training User Representations for Improved Recommendation.

[4] Towards Universal Sequence Representation Learning for Recommender Systems.

[5] UniTRec: A Unified Text-to-Text Transformer and Joint Contrastive Learning Framework for Text-based Recommendation.

[6] Do LLMs Understand User Preferences? Evaluating LLMs On User Rating Prediction.

[7] VIP5: Towards Multimodal Foundation Models for Recommendation.

[8] Large Language Models are Zero-Shot Rankers for Recommender Systems.

[9] Recommendation as Language Processing (RLP): A Unified Pretrain, Personalized Prompt & Predict Paradigm (P5).

[10] Is ChatGPT a Good Recommender? A Preliminary Study.

[11] Chat-REC: Towards Interactive and Explainable LLMs-Augmented Recommender System.

[12] M6-Rec: Generative Pretrained Language Models are Open-Ended Recommender Systems.

[13] How to index item ids for recommendation foundation models.

繼續閱讀