作者:京東零售 陳航
0000 生成式推薦系統(tǒng)優(yōu)勢(shì)介紹
推薦系統(tǒng)的主要任務(wù)是根據(jù)用戶的歷史行為預(yù)測(cè)其興趣點(diǎn),并向其推薦相應(yīng)的商品。傳統(tǒng)的推薦系統(tǒng)在處理用戶請(qǐng)求時(shí),會(huì)觸發(fā)多個(gè)召回模塊(包括熱門商品召回、個(gè)性化召回、深度召回等),以召回大量候選商品。隨后,系統(tǒng)通過相對(duì)簡(jiǎn)單的粗排模型對(duì)候選集進(jìn)行初步篩選,縮小候選范圍,最后通過精排和重排模型,確定最終返回給用戶的推薦結(jié)果。
隨著大語言模型(LLM)在推薦系統(tǒng)中的應(yīng)用,生成式推薦系統(tǒng)相比傳統(tǒng)推薦系統(tǒng)展現(xiàn)出以下優(yōu)勢(shì):
1)簡(jiǎn)化推薦流程:生成式推薦系統(tǒng)實(shí)現(xiàn)了從多級(jí)過濾的判別式(discriminative-based)架構(gòu)向單級(jí)過濾的生成式(generative-based)架構(gòu)的轉(zhuǎn)變。通過直接生成推薦結(jié)果,簡(jiǎn)化了推薦流程,降低了系統(tǒng)復(fù)雜度。
2)知識(shí)融合:LLM 具有更強(qiáng)的泛化能力和穩(wěn)定性。利用 LLM 所包含的世界知識(shí)和推理能力,可以突破傳統(tǒng)電子商務(wù)平臺(tái)在商品和用戶建模中存在的數(shù)據(jù)局限性。在新用戶和新商品的冷啟動(dòng)以及新領(lǐng)域的推薦場(chǎng)景中,生成式推薦系統(tǒng)能夠提供更優(yōu)的推薦效果和更好的遷移性能。
3)規(guī)模定律 (Scaling Law):傳統(tǒng)的點(diǎn)擊率(CTR)稀疏模型在模型規(guī)模擴(kuò)大時(shí),邊際收益遞減現(xiàn)象明顯。而 LLM 所表現(xiàn)出的規(guī)模定律屬性,為模型的有效擴(kuò)展提供了一種新模式,即模型性能隨著規(guī)模的增加而持續(xù)提升。這意味著通過擴(kuò)大模型規(guī)模,可以獲得更好的推薦效果,突破傳統(tǒng)模型的性能瓶頸。
0001 生成式召回方案介紹
1、生成式召回算法與實(shí)現(xiàn)簡(jiǎn)介
生成式推薦涉及兩個(gè)接地(grounding)過程:一是建立商品與自然語言的連接。二是建立用戶行為與目標(biāo)商品之間的連接。為實(shí)現(xiàn)這兩個(gè)過程,我們需要以下幾步:
1)商品表示:在實(shí)際操作中,直接生成文檔或商品描述幾乎是不可行的。因此,我們采用短文本序列,即語義 ID,來表征商品。選取高點(diǎn)擊商品的標(biāo)題、類目等語義信息,經(jīng)由編碼器模型獲得向量表示,再利用 RQ-VAE 對(duì)向量進(jìn)行殘差量化,從而獲得商品的語義 ID。例如,商品:“XXX品牌 14+ 2024 14.5 英寸輕薄本 AI 全能本高性能獨(dú)顯商務(wù)辦公筆記本電腦” 可表示為:。
2)用戶畫像&行為建模:通過構(gòu)建提示詞來定義任務(wù),并將用戶相關(guān)信息(例如用戶畫像和用戶歷史行為數(shù)據(jù))轉(zhuǎn)化為文本序列。例如:“用戶按時(shí)間順序點(diǎn)擊過這些商品:,, 你預(yù)測(cè)用戶下一個(gè)可能點(diǎn)擊的商品是? ”。
3)模型訓(xùn)練:確定了生成模型的輸入(用戶表示)和輸出(商品物料標(biāo)識(shí)符),即可基于生成式 Next Token Prediction 任務(wù)進(jìn)行模型訓(xùn)練。
4)模型推理:經(jīng)過訓(xùn)練后,生成模型能夠接收用戶信息并預(yù)測(cè)相應(yīng)的商品語義 ID,這些語義標(biāo)識(shí)可以對(duì)應(yīng)數(shù)據(jù)集中的實(shí)際商品 ID。
(了解詳細(xì)算法方案請(qǐng)參考: 生成式推薦系統(tǒng)與京東聯(lián)盟廣告-綜述與應(yīng)用 。 )
2、LLM 模型部署的工程適配
傳統(tǒng)基于深度學(xué)習(xí)的召回模型,其參數(shù)量通常在幾十萬到幾千萬之間,且模型結(jié)構(gòu)以Embedding層為主。而采用大語言模型(LLM)實(shí)現(xiàn)的生成式召回模型,其參數(shù)規(guī)模大幅提升至0.5B至7B之間,模型結(jié)構(gòu)主要由Dense網(wǎng)絡(luò)構(gòu)成。由于參數(shù)量的急劇增加,LLM在推理過程中所需的計(jì)算資源相比傳統(tǒng)模型顯著提升,通常高出數(shù)十倍甚至上百倍。這使得LLM在處理復(fù)雜任務(wù)時(shí)具備更強(qiáng)的表現(xiàn)力,但同時(shí)也對(duì)計(jì)算能力有了更高的要求。
將如此龐大的算力模型部署至線上環(huán)境,并確保其滿足毫秒級(jí)實(shí)時(shí)響應(yīng)的需求,同時(shí)在嚴(yán)格控制資源成本的前提下實(shí)現(xiàn)工業(yè)化應(yīng)用,這無疑是對(duì)工程能力的巨大考驗(yàn)。因此,我們必須對(duì)在線推理架構(gòu)進(jìn)行極致的性能優(yōu)化。
3、基于 TensorRT-LLM 的 LLM 構(gòu)建優(yōu)化及其系統(tǒng)部署
· 在建模封裝層,通過 TensorRT-LLM 實(shí)現(xiàn) LLM 模型的構(gòu)建與優(yōu)化。然后將 LLM 無縫整合至現(xiàn)有生態(tài)系統(tǒng),利用 Python 與 TensorFlow API 實(shí)現(xiàn)端到端推理圖的構(gòu)建。基于 TensorFlow 原生算子及現(xiàn)有業(yè)務(wù)的自定義 TensorFlow 算子庫(例如用戶行為特征處理算子),實(shí)現(xiàn)算法的靈活建模。
· 在推理優(yōu)化層,通過應(yīng)用 Inflight Batching、Constrained Sampling、Flash Attention 及 Paged Attention 等加速方案,最大限度地提升單卡吞吐量并降低推理延遲。
· 在系統(tǒng)部署方面,為了最大化利用時(shí)間資源,生成式召回的部署采用了與傳統(tǒng)多分支召回模塊并行的方式。由于生成式召回簡(jiǎn)化了推理流程,相較于傳統(tǒng)召回方式,其資源消耗更少,運(yùn)行時(shí)間更短,并且取得了優(yōu)異的召回效果。
4、生成式召回在推薦及搜索場(chǎng)景應(yīng)用效果
目前,生成式召回已在京東廣告推薦場(chǎng)景及搜索場(chǎng)景等業(yè)務(wù)線成功實(shí)施。在推薦場(chǎng)景,借助生成式模型的參數(shù)規(guī)模及語義理解優(yōu)勢(shì),AB 實(shí)驗(yàn)結(jié)果顯示商品點(diǎn)擊率與消費(fèi)帶來了顯著的提升。在搜索場(chǎng)景,通過 LLM 所具備的語義理解能力,顯著提升了對(duì)查詢與商品的認(rèn)知能力,特別是在處理搜索中的長(zhǎng)尾查詢時(shí),填充率有明顯提升,AB 實(shí)驗(yàn)同樣取得了點(diǎn)擊率與消費(fèi)幾個(gè)點(diǎn)的收益增長(zhǎng)。
0010 推理優(yōu)化加速: 實(shí)現(xiàn)降低延遲、提升吞吐
在線推理基于Nvidia TensorRT-LLM, 通過使用 TensorRT-LLM 中的多種優(yōu)化特性,并針對(duì)廣告生成式召回業(yè)務(wù)場(chǎng)景進(jìn)行深度定制優(yōu)化后, 不僅模型推理延遲達(dá)到線上業(yè)務(wù)要求, 同時(shí)吞吐也有著顯著提升。
在 NVIDIA GPU 上進(jìn)行的測(cè)試中,通過對(duì)比 TensorRT-LLM 與基線,發(fā)現(xiàn)在限制 100 毫秒推理耗時(shí)的廣告場(chǎng)景下,采用 TensorRT-LLM 進(jìn)行推理,疊加針對(duì)業(yè)務(wù)的定制優(yōu)化后,其吞吐量相較于 baseline提升了五倍以上。這相當(dāng)于將部署成本降至原來的五分之一。
對(duì)于這個(gè)特定的應(yīng)用場(chǎng)景,beam width 的合理配置對(duì)檢索結(jié)果有著重要影響。一般來說,較高的 beam width 能夠增加候選商品的數(shù)量,從而提高檢索的準(zhǔn)確性。以返回 300 個(gè)商品為例,若 beam width 設(shè)置較低,每個(gè) code 就需要對(duì)應(yīng)更多的商品 id,這無疑會(huì)降低檢索的精度。
針對(duì)這個(gè)情況,一方面我們與NVIDIA DevTech 技術(shù)團(tuán)隊(duì)合作進(jìn)行了有針對(duì)性的二次開發(fā)和優(yōu)化工作,另一方面,結(jié)合生成式召回的業(yè)務(wù)場(chǎng)景,研發(fā)定制高性能GPU算子,大幅提升推理效率,最終讓 TensorRT-LLM 支持更大范圍的 beam width, 從而及時(shí)滿足了線上的業(yè)務(wù)需求。
0011 持續(xù)優(yōu)化以實(shí)現(xiàn)模型效率效果提升
未來, 我們將持續(xù)在生成式推薦領(lǐng)域深入探索, 重點(diǎn)聚焦以下幾個(gè)方面
1)提升模型規(guī)模,滿足實(shí)時(shí)推理需求
當(dāng)前,受制于算力、時(shí)間消耗和成本等客觀條件,生成式推薦系統(tǒng)在實(shí)時(shí)推理中的可部署模型規(guī)模相對(duì)較小(約 0.5B 至 6B 參數(shù))。然而,離線實(shí)驗(yàn)數(shù)據(jù)表明,擴(kuò)大模型規(guī)模能夠顯著提升線上推薦效果。這對(duì)在線性能優(yōu)化提出了更高要求。為了在不顯著增加成本的前提下支持更大規(guī)模的模型在線部署,需要進(jìn)一步優(yōu)化模型結(jié)構(gòu)和推理效率。例如,采用模型剪枝、量化等模型壓縮技術(shù),優(yōu)化采樣檢索算法效率,以及高效的分布式推理架構(gòu)。
2)擴(kuò)展用戶行為輸入,提高模型效果
實(shí)驗(yàn)證明,輸入更長(zhǎng)的用戶歷史行為序列可以提升模型的推薦效果。然而,更長(zhǎng)的序列輸入會(huì)導(dǎo)致計(jì)算資源消耗的增加和推理時(shí)間的延長(zhǎng)。為此,需要尋求在效果提升和性能開銷之間的平衡。對(duì)應(yīng)的優(yōu)化方案包括:
a. Token 序列壓縮:通過對(duì)輸入序列進(jìn)行壓縮,如去除冗余信息、合并相似行為等,減少序列長(zhǎng)度的同時(shí)保留關(guān)鍵信息。
b. 用戶行為 KV 緩存復(fù)用:在推理過程中,針對(duì)用戶行為特征有序遞增的特點(diǎn),對(duì)長(zhǎng)期行為進(jìn)行離線計(jì)算并進(jìn)行緩存,在線部分負(fù)責(zé)計(jì)算實(shí)時(shí)行為,避免重復(fù)計(jì)算的同時(shí)最大化利用算力,提高推理效率。
3)融合稀疏與稠密模型,實(shí)現(xiàn)聯(lián)合推理
隨著模型參數(shù)量的增大,可以考慮將稀疏的傳統(tǒng) CTR 模型與稠密的 LLM 模型進(jìn)行聯(lián)合推理。稀疏模型擅長(zhǎng)處理高維度的稀疏特征,具有計(jì)算效率高的優(yōu)勢(shì);而稠密模型能夠捕獲復(fù)雜的非線性特征和深層次的語義信息。通過融合兩者的優(yōu)勢(shì),構(gòu)建一個(gè)兼具高效性和精確性的推薦系統(tǒng)。
審核編輯 黃宇
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5075瀏覽量
103574 -
LLM
+關(guān)注
關(guān)注
0文章
298瀏覽量
377
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論