LLM推薦系統時代來了?2024大廠頂會工作總結
基于Large Language Model做推薦系統可以說是最近2年推薦系統領域最火的研究點。一方面,LLM的理解能力、在各個領域的廣發應用,使其自然而然衍生了和推薦系統結合的研究方向;另一方面,傳統的推薦模型優化已逐漸進入瓶頸,依然基于原有的建模思路進一步優化很難帶來顯著收益。因此無論是工業界還是學術界,都在LLM+推薦系統這個方向投入了很多的人力和資源。
在2024年的推薦系統頂會工作中,大廠、學校合作的論文70%都是和大模型相關的,可見其火熱程度。這篇文章就給大家匯總一下2024年,大廠發布的基于LLM的推薦系統模型工作,涉及LLM和ID模型對齊、LLM解決長尾推薦、LLM提供可解釋性和外部知識、直接用LLM進行推薦等多個主題。
1.LLM和ID模型對齊
LLM應用到推薦模型,一個很大的問題是對齊問題。推薦系統都是以ID為主的模型,包括user id、item id等,模型基于用戶行為等協同過濾信號學習這些id embedding。因此,如何對齊兩種模態非常重要。
FLIP: Towards Fine-grained Alignment between ID-based Models and Pretrained Language Models for CTR Prediction(華為)核心解決方法是通過預訓練對齊ID模型和語言模型的表征。文中引入了類似MLM的方法和對比學習的方法。在MLM中,對特征的文本表示和ID表示分別進行mask,使用上下文兩種模態的信息進行被mask部分的還原。在對比學習中,對于同一個樣本特征的ID和文本表示方法作為正樣本對,使用對比學習拉近其距離。在預訓練后,使用ID模型和大語言模型的預測結果做加權求和得到最終預測結果,使用下游數據進行finetune。
ClickPrompt: CTR Models are Strong Prompt Generators for Adapting Language Models to CTR Prediction(華為)提出了一種用ID模型和LLM對齊的方法,利用ID模型生成prompt,作為prefix拼接在transformer每一層,通過預訓練任務實現ID模型和LLM模型的對齊。
首先,將CTR預估中每個樣本的特征轉換成文本描述的形式。接下來,將原來的CTR模型中間層的embedding作為prompt,拼接到上述文本描述的前面。將拼接了prompt的文本描述輸入到LLM中,讓LLM生成影響的token序列,再基于token序列對預測結果進行還原。通過這種用CTR預估模型embedding作為prompt的方式,實現ID的CTR模型和LLM的CTR模型對齊的目標。在下游應用部分,使用兩個模型的預測結果相融合,作為最終的預測結果,擬合相應的Label。
The Elephant in the Room: Rethinking the Usage of Pre-trained Language Model in Sequential Recommendation分析了基于純文本+預訓練語言模型的推薦模型RecFormer,探索了能最大限度發揮語言模型在推薦系統中作用的方法。文中通過對RecFormer的attention分布、模型冗余性等的分析,發現現在的大模型應用效率較低,存在比較多的參數冗余,效果也不是最優的。文中基于上述發現,以及后續的實驗驗證,提出了一種高效利用且能充分發揮大模型效果的方法:使用基于ID的序列建模模型進行建模,同時使用經過行為序列finetune過的預訓練語言模型的item embedding作為其ID表征的初始化。
2.LLM解決長尾推薦
推薦系統基于純ID embedding訓練模型,對于那些長尾的user、item,數據量少,id embedding就學習不充分。這種場景下,LLM就展現了其特有的優勢,通過文本信息的輸入,將id表征解耦成泛化性更強的組件,提升長尾推薦效果。
LLM-ESR: Large Language Models Enhancement for Long-tailed Sequential Recommendation(騰訊)就是借助大模型的文本建模能力解決長尾推薦問題。在本文的推薦場景中,80%的用戶只交互過10個以內的item,這種行為稀疏的用戶推薦模型的打分效果會顯著下降。為了解決這類長尾user的推薦問題,本文采用了LLM的文本能力提升長尾user表征的學習。核心包括dual-view modeling和retrieval-augmented self-distillation兩個部分。在dual-view modeling中,對于一個user,使用文本側和協同過濾側兩個encoder生成user表征。文本側使用大模型基于item的文本描述生成item表征存儲起來,然后使用一個類似Transformer的Encoder對用戶歷史行為的item文本embedding進行建模;協同過濾測就是最基礎的基于id序列的Transformer序列建模。兩部分信息一方面使用cross-attention進行融合,另一方面輸出結果頁直接拼接到一起融合。
在retrieval-augmented self-distillation部分,基于user的表征檢索出表征最相似的topK個其他用戶,讓當前用戶的表征和這些檢索出來的用戶表征的L2距離盡可能小,作為指導目標,蒸餾其他user表征的知識,讓長尾user的表征學習的更充分。
3.LLM讓推薦模型具備可解釋性
推薦模型都是黑盒的MLP,對于打分缺乏可解釋性。而LLM是文本模型,可以通過文本生成傳達信息。因此,文中通過LLM和推薦模型對齊,實現LLM的可解釋性。
RecExplainer: Aligning Large Language Models for Explaining Recommendation Models(微軟)使用LLM實現推薦系統的可解釋性。文中的一個核心假設是,如果能讓LLM產生和一個訓練好的推薦模型具備相似的預測結果,LLM就能模擬推薦模型的計算邏輯,進而就可以讓其生成文本解釋其預測邏輯,實現推薦模型的可解釋性。文中設計了6種任務對齊推薦模型和LLM,包括下一個item預測(注意這里是以推薦系統模型的預測結果為目標,而非下一個item的ground truth)、item排序、用戶興趣的二分類預測、生成item的描述、使用GPT數據繼續訓練防止災難遺忘等。同時,借助多模態領域的建模思路,在這些任務中獎id隨機替換成推薦系統中的embedding,當成另一個模態的信息,實現LLM對推薦系統embedding模態的理解。
4.LLM提供外部知識
LLM中蘊含著大量的世界知識,將這些知識提取出來加入到推薦模型中,也是一種應用方式。
Enhancing Sequential Recommenders with Augmented Knowledge from Aligned Large Language Models(螞蟻)通過從LLM中提取知識信息,增強推薦系統模型的訓練。對于一個item,將其相關信息輸入構建prompt輸入到LLM中,讓LLM生成一些數據集中沒有的知識信息,并通過一個文本Encoder編碼成item embedding。文本embedding和原始的id embedding融合到一起輸入到推薦系統模型中。由于LLM生成的文本信息可能包含很多和推薦無關的部分,并且由于是提前生成的,無法更新LLM參數。因此文中直接建模一個從LLM中采樣生成文本知識信息的分布,基于這個分布從LLM生成的文本中采樣對推薦有效的信息。
5.直接用LLM進行推薦
上述方法都是將LLM作為一個外部組件和推薦系統融合,另一些工作更加極端一些,直接使用LLM替代原先的推薦模型。
Adapting Large Language Models by Integrating Collaborative Semantics for Recommendation(微信)直接使用大模型進行item的全庫生成推薦,不再需要item候選集,核心包括基于LLM的item ID生成以及LLM的推薦系統finetune兩個部分。文中基于item的文本標題、描述等文本信息,使用LLM生成每個item的表征,再基于Vector Quantization等量化技術,將每個item的表征進行各個維度的離散化,得到每個item的ID作為索引。另一方面,引入了多種類型的任務對LLM進行finetune,讓LLM能夠適配這些item ID,并融合推薦領域的知識。在finetune階段,引入了包括next item預測、根據item的標題或描述預測item的索引ID、根據item ID序列預測用戶的興趣偏好(數據從GPT3根據歷史item文本序列生成用戶的興趣偏好描述)、根據用戶搜索文本預測item ID等近10種任務進行LLM的finetune,充分對齊新引入的item ID、推薦任務和文本含義。經過finetune后,這些item ID直接作為單次加入到LLM的vocabulary中,基于LLM進行下一個item推薦。
