Meta HSTU:統(tǒng)一的生成式推薦
一、背景
在之前的文章中我們介紹了字節(jié)的 HLLM 方案(???字節(jié) HLLM:大模型與推薦系統(tǒng)結(jié)合的新范式??),其中也提到了 Meta 的HSTU,本文中我們簡(jiǎn)單介紹一些這篇論文。
對(duì)應(yīng)的論文為:[2402.17152] Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations
對(duì)應(yīng)的代碼庫(kù)為:GitHub - facebookresearch/generative-recommenders
二、摘要
大規(guī)模推薦系統(tǒng)具有以下特征:依賴于高基數(shù)、異質(zhì)特征,并且需每天處理數(shù)百億用戶行為。盡管在海量數(shù)據(jù)(含數(shù)千種特征)上進(jìn)行訓(xùn)練,但多數(shù)工業(yè)界的深度學(xué)習(xí)推薦模型(DLRM)無法在計(jì)算規(guī)模上取得突破。受到 Transformer 在語言與視覺領(lǐng)域的啟發(fā),作者重新審視了推薦系統(tǒng)的基本設(shè)計(jì)選擇,將推薦問題重新表述為生成式建模下的生成式任務(wù)(生成式推薦,Generative Recommender,GR),并提出了一種新型架構(gòu) —— HSTU(Hierarchical Sequential Transduction Units),專為處理高基數(shù)、非恒定的流式推薦數(shù)據(jù)場(chǎng)景。
在合成和公開數(shù)據(jù)集上的實(shí)驗(yàn)表明,HSTU 相比基線模型在 NDCG 指標(biāo)上最多提升了 65.8%,且在處理 8192 長(zhǎng)的序列時(shí),比基于 FlashAttention2 的 Transformer 快 5.3x - 15.2x?;?HSTU 的生成式推薦系統(tǒng)(包含 1.5T 參數(shù)量)在在線 A/B 測(cè)試中指標(biāo)提升 12.4%,并已部署于擁有數(shù)十億用戶的互聯(lián)網(wǎng)平臺(tái)的多項(xiàng)服務(wù)中。更重要的是,生成式推薦的模型呈現(xiàn)出跨三個(gè)數(shù)量級(jí)的冪律增長(zhǎng)特性,直到與 GPT-3/LLaMa-2 的規(guī)模相當(dāng)。
三、引言
推薦系統(tǒng)作為在線內(nèi)容平臺(tái)與電子商務(wù)領(lǐng)域的核心技術(shù),每日為數(shù)十億用戶提供個(gè)性化體驗(yàn),發(fā)揮著關(guān)鍵作用。當(dāng)前最先進(jìn)的推薦方法已基于 DLRM 發(fā)展了約十年。DLRM 的特點(diǎn)在于其利用了異質(zhì)特征,包括數(shù)值特征(如計(jì)數(shù)器和比率)、嵌入向量以及分類特征(如創(chuàng)作者 ID、用戶 ID等)。由于每分鐘都有新內(nèi)容和產(chǎn)品不斷加入,特征空間呈現(xiàn)出極高的基數(shù),通常達(dá)到數(shù)十億級(jí)別。為充分利用數(shù)萬種此類特征,DLRM 采用多種神經(jīng)網(wǎng)絡(luò)來組合特征、轉(zhuǎn)換中間表示并生成最終輸出。
盡管采用了廣泛的人工設(shè)計(jì)特征并基于海量數(shù)據(jù)進(jìn)行訓(xùn)練,大多數(shù) DLRM 在實(shí)際工業(yè)應(yīng)用中仍面臨計(jì)算效率低下的問題。這一局限性值得關(guān)注,且至今尚未得到有效解決。
受 Transformer 在語言與視覺領(lǐng)域取得成功的啟發(fā),作者重新審視了現(xiàn)代推薦系統(tǒng)中的基礎(chǔ)設(shè)計(jì)選擇。作者觀察到,在處理億級(jí)用戶規(guī)模的推薦系統(tǒng)時(shí),需克服三大挑戰(zhàn)。
- 首先,推薦系統(tǒng)中的特征缺乏顯式結(jié)構(gòu)。盡管在小規(guī)模場(chǎng)景下已探索了序列化表達(dá),但在工業(yè)級(jí) DLRM 中,異質(zhì)特征,如高基數(shù) ID、交叉特征、計(jì)數(shù)器、比率等,扮演著關(guān)鍵角色。
- 其次,推薦系統(tǒng)采用的詞表量達(dá)數(shù)十億,且持續(xù)變化。與語言模型中使用的 10 萬級(jí)靜態(tài)詞表相比,億級(jí)動(dòng)態(tài)詞表帶來了訓(xùn)練難題,并因需以 Target-aware 方式評(píng)估數(shù)萬候選 Item,導(dǎo)致推理成本高昂。
- 最后,計(jì)算成本成為實(shí)現(xiàn)大規(guī)模序列模型的主要瓶頸。GPT-3 在數(shù)千塊 GPU 上歷經(jīng) 1-2 個(gè)月,處理了總計(jì) 300B 個(gè) Token。這一規(guī)??此企@人,但與用戶行為規(guī)模相比則相形見絀。最大的互聯(lián)網(wǎng)平臺(tái)每日服務(wù)數(shù)十億活躍用戶,這些用戶每日與數(shù)十億帖子、圖片和視頻互動(dòng)。用戶序列長(zhǎng)度可達(dá) 10 的五次方。因此,推薦系統(tǒng)每日需處理的 Token 量,遠(yuǎn)超語言模型在 1-2 個(gè)月內(nèi)處理的數(shù)量級(jí)。
本文中,作者將用戶行為視為生成建模中的新型模態(tài)。作者的核心洞見包括:
- 在工業(yè)級(jí)推薦系統(tǒng)中,核心的排序與檢索任務(wù)在適當(dāng)?shù)男绿卣骺臻g下可被轉(zhuǎn)化為生成建模問題;
- 這一范式使作者能夠系統(tǒng)性地利用特征、訓(xùn)練及推理中的冗余,從而提升效率。
四、推薦系統(tǒng)作為生成式任務(wù):從 DLRM 到 GR
4.1 在 DLRM 中統(tǒng)一異質(zhì)特征空間
現(xiàn)代 DLRM 通常采用大量類別型(“稀疏”)和數(shù)值型(“密集”)特征進(jìn)行訓(xùn)練。在 GR 中,作者將這些特征整合并編碼為單一的時(shí)間序列,如下圖 Figure 2 所示。
類別型(“稀疏”)特征:其示例包括:用戶喜歡的物品、用戶關(guān)注的特定類別(如“戶外”)中的創(chuàng)作者、用戶語言、用戶加入的社區(qū)、請(qǐng)求發(fā)起的城市等。作者對(duì)這些特征進(jìn)行序列化處理,具體步驟如下:首先,選擇最長(zhǎng)的時(shí)序數(shù)據(jù),通常通過合并表示用戶互動(dòng) Item 的特征來構(gòu)建主時(shí)間序列。其余特征通常為隨時(shí)間變化緩慢的時(shí)間序列,如人口統(tǒng)計(jì)信息或用戶關(guān)注的創(chuàng)作者。通過保留每個(gè)連續(xù)片段的最早 Item 來壓縮這些時(shí)間序列,然后將結(jié)果合并到主時(shí)間序列中。鑒于這些時(shí)間序列變化極為緩慢,此方法并未顯著增加整體序列長(zhǎng)度。
數(shù)值型(“密集”)特征:其示例包括:加權(quán)衰減計(jì)數(shù)器、比率等。例如,某一特征可能表示用戶過去在特定主題匹配項(xiàng)上的點(diǎn)擊率(CTR)。相較于類別特征,這些特征變化更為頻繁,幾乎每發(fā)生一次(User,Item)交互都可能發(fā)生變化。因此,從計(jì)算和存儲(chǔ)角度來看,完全序列化這些特征是不可行的。然而,一個(gè)關(guān)鍵發(fā)現(xiàn)是,進(jìn)行這些聚合操作所基于的類別特征(如 Item 主題、位置)已在 GR 中被序列化并編碼。因此,可以使用足夠表達(dá)能力的生成式架構(gòu)并結(jié)合目標(biāo)感知([1706.06978] Deep Interest Network for Click-Through Rate Prediction)公式的情況下,移除 GR 中的數(shù)值特征。通過增加序列長(zhǎng)度和 GR 中的計(jì)算量,能夠有效地捕捉數(shù)值特征。
4.2 將排序和檢索重新表述為生成式任務(wù)
給定一個(gè)按時(shí)間順序排列的 n 個(gè) Token 序列 x?, x?, ..., xn-1(其中 xi ∈ X),以及這些 Token 被觀察到的時(shí)間點(diǎn) t?, t?, ..., tn-1,生成式任務(wù)將該輸入序列映射為輸出 Token y?, y?, ..., yn-1:
- 其中 yi ∈ X ∪ {?}),yi = ? 表示 yi未定義。
- 用 Φi ∈ Xc(Xc ? X)表示系統(tǒng)提供給用戶的 Content(例如,圖像或視頻)。由于新內(nèi)容不斷生成,Xc 和 X 不是固定不變的。
- 用 ai 表示用戶對(duì) Φi 做出某種 Action(例如,點(diǎn)贊、跳過、視頻完成并分享),其中 ai ∈ X。
- 用 nc 表示用戶已交互的 Content 總數(shù)。
在因果自回歸設(shè)置下,標(biāo)準(zhǔn)的排序和檢索任務(wù)可以定義為生成式任務(wù)(見如下圖 Table 1)??梢缘贸鲆韵掠^察結(jié)果:
- 檢索。在推薦系統(tǒng)的檢索環(huán)節(jié),針對(duì) Φi+1 ∈ Xc 學(xué)習(xí)一個(gè)分布 p(Φi+1 | ui),其中 ui 表示用戶在第 i 個(gè) Token 處的表征。典型的目標(biāo)是通過選擇 arg maxΦ∈Xc p(Φ | ui) 來最大化某種獎(jiǎng)勵(lì)。這與標(biāo)準(zhǔn)的自回歸設(shè)置有兩點(diǎn)不同。
a.首先,對(duì)于 xi 和 yi 的監(jiān)督信號(hào)不一定就是 Φi+1,因?yàn)橛脩艨赡軐?duì) Φi+1作出負(fù)面反應(yīng)。
b.其次,當(dāng) xi+1 代表與非交互相關(guān)的分類特征(如人口統(tǒng)計(jì)信息)時(shí),yi 是未定義的。
- 排序。在 GR 中,排序面臨獨(dú)特的挑戰(zhàn),因?yàn)楣I(yè)推薦系統(tǒng)通常需要“Target-aware”的公式化表示。在這種情境下,目標(biāo)Φi+1與歷史特征的“交互”需要盡早發(fā)生,這在標(biāo)準(zhǔn)自回歸設(shè)置中是不可行的,因?yàn)椤敖换ァ蓖ǔ0l(fā)生較晚(例如,通過 Encoder 輸出后的 Softmax 函數(shù))。作者通過在如下圖 Table 1 中交錯(cuò)排列 Item 和 Action 來解決這一問題,使得排序可以表述為 p(ai+1 |Φ0 ,a0 ,Φ1 ,a1 ,...,Φi+1)(在分類特征之前)。在實(shí)踐中,作者應(yīng)用一個(gè)小型神經(jīng)網(wǎng)絡(luò)將 Φi+1 處的輸出轉(zhuǎn)換為多任務(wù)預(yù)測(cè)。重要的是,這使得能夠在一次處理中對(duì)所有nc 個(gè)交互應(yīng)用目標(biāo)感知的交叉注意力機(jī)制。?
如下圖 Table 10 所示為以前的序列推薦工作與 GR 的對(duì)比:
如下圖 Figure 8 所示:
- 左圖為傳統(tǒng)的序列推薦模型:輸入可以沒有 Item Action 信息 ai,或者將 ai 融合到 Item Content 信息 Φi 中,而輸出都是 Item Content 信息 Φi。
- 右圖為本文的 GR 模型:Action ai 和 Content Φi 同時(shí)作為輸入和輸出。其中
a.下一個(gè) Action ai Token 預(yù)測(cè)任務(wù)可以理解為排序(Ranking)任務(wù)。
b.下一個(gè) Content Φi 預(yù)測(cè)可以理解為檢索(Retrieval)任務(wù)。
4.3 生成式訓(xùn)練
工業(yè)推薦系統(tǒng)通常采用流式訓(xùn)練模式,其中每個(gè)樣本按其可用順序依次處理。在此模式下,基于 SelfAttention 機(jī)制的生成式架構(gòu)的總計(jì)算需求與
成比例,其中 ni 為用戶 i 的序列長(zhǎng)度(Token 數(shù)量),d 為 Embedding 維度。括號(hào)中的第一項(xiàng)源自 SelfAttention 機(jī)制,第二項(xiàng)則來自 MLP 層,其隱藏層大小為 O(dff) = O(d)。設(shè) N = maxini,整體時(shí)間復(fù)雜度可簡(jiǎn)化為 O(N3d + N2d2),對(duì)于推薦系統(tǒng)場(chǎng)景來說成本過高。
為了以可擴(kuò)展方式在長(zhǎng)序列上訓(xùn)練,作者轉(zhuǎn)向生成式訓(xùn)練,從而將計(jì)算復(fù)雜度降低 O(N) 倍,如下圖頂部所示。通過這種方式,Encoder 成本可以在多個(gè)目標(biāo)間分?jǐn)?。更具體地,當(dāng)以速率 su(ni) 采樣第 i 個(gè)用戶時(shí),總訓(xùn)練成本可以按
縮放,通過將 su(ni) 設(shè)為 1/ni,可降至 O(N2d + Nd2)。在工業(yè)規(guī)模系統(tǒng)中實(shí)現(xiàn)此采樣的一種方式是在用戶請(qǐng)求或會(huì)話結(jié)束時(shí)生成訓(xùn)練樣本,從而使得
。
五、用于 GR 的高性能 SelfAttention Encoder
為了適應(yīng)工業(yè)級(jí)推薦系統(tǒng)中詞表大且不固定的特性,并實(shí)現(xiàn) GR 的規(guī)?;瘧?yīng)用,作者提出了一種新的 Encoder 設(shè)計(jì):HSTU,HSTU 由一系列通過殘差連接相互關(guān)聯(lián)的相同層堆疊而成。每一層包含 3 個(gè)子層:
- 公式 1:Pointwise 投影。
- 公式 2:空間聚合。
- 公式 3:Pointwise 變換。?
其中,fi(X) 表示 MLP;為降低計(jì)算復(fù)雜度并優(yōu)化 Query Q(X)、Key K(X)、Value V(X) 及門控權(quán)重 U(X) 的 Batch 處理效率,f1 和 f2 均采用單一線性層,即 fi(X) = Wi(X) + bi, 并且會(huì)使用 Kernel 融合。?1 和 ?2 代表非線性函數(shù),此處選用 SiLU;Norm 為 LayerNorm,rabp,t 表示相對(duì)注意力偏置,其整合了位置(p)與時(shí)序(t)信息。完整的符號(hào)信息如下圖 Table 9 所示:
如下圖 Figure 3 所示,DLRM 實(shí)際可理解為 3 個(gè)主要階段:
- 特征提取:檢索分類特征的池化 Embedding 表征,代表作包含 Pointwise Attention 和 Target-aware Attention 池化。
- 特征交互:DLRM 中最關(guān)鍵的部分。HSTU 通過Norm (A(X)V(X)) ⊙ U (X) 實(shí)現(xiàn) Attention 池化特征與其他特征的“交互”來取代 DLRM 的特征交互。
- 表征轉(zhuǎn)換:DLRM 中通常通過 MoE(Mixture of Expert)來實(shí)現(xiàn),以處理多樣化、異質(zhì)的群體。其關(guān)鍵思想是:提供不同用戶的特化子網(wǎng)絡(luò)以實(shí)現(xiàn)條件計(jì)算。HSTU 中的 Pointwise 實(shí)際上可以執(zhí)行 MoE 中的門控操作。?
5.1 Pointwise 聚合 Attention
HSTU 采用新的 Pointwise 聚合(歸一化)Attention 機(jī)制(Softmax Attention 在整個(gè)序列上計(jì)算歸一化因子)。這一設(shè)計(jì)基于兩個(gè)因素:
- 與 Target 相關(guān)的先驗(yàn)數(shù)據(jù)點(diǎn)的數(shù)量作為強(qiáng)特征,能夠指示用戶偏好的強(qiáng)度,而Softmax 歸一化后很難捕獲這一特征。這一點(diǎn)至關(guān)重要,因?yàn)樾枰瑫r(shí)預(yù)測(cè)用戶參與的強(qiáng)度(如,在某一個(gè) Item 上花費(fèi)的時(shí)間)以及 Item 的相對(duì)順序(如,預(yù)測(cè)最大 AUC 的排序)。
- 盡管 Softmax 激活在結(jié)構(gòu)上對(duì)噪聲具有魯棒性,但在流式場(chǎng)景中處理非恒定詞表時(shí),其適應(yīng)性較差。
如上述公式(2)和(3)所示,在 Pointwise 池化后需要進(jìn)行 LayerNorm 以穩(wěn)定訓(xùn)練過程。如下圖 Table 2 所示,作者合成了非恒定詞表的流式數(shù)據(jù),在此場(chǎng)景下,Softmax Attention 與 Pointwise Attention 的差距達(dá)到 44.7%。
5.2 增加稀疏性
在推薦系統(tǒng)中,用戶歷史序列的長(zhǎng)度通常呈 Skewed 分布,導(dǎo)致輸入序列非常稀疏,特別是在長(zhǎng)序列場(chǎng)景尤為明顯,這種稀疏性可被利用以顯著提升 Encoder 的效率。為此,作者開發(fā)了一種高效的 GPU Attention Kernel,以融合連續(xù)的 GEMM 操作,實(shí)質(zhì)上是將 Attention 計(jì)算轉(zhuǎn)換為可變大小的 Grouped GEMM 計(jì)算。因此,HSTU 中的 SelfAttention 機(jī)制變?yōu)?Memory Bound,并且在 Memory 訪存方面按照
的比例擴(kuò)展,其中 ni 表示樣本 i 的序列長(zhǎng)度,dqk 為 Attention 維度,R 為寄存器大小。這種方法本身可以帶來 2x-5x 的吞吐提升。
作者進(jìn)一步通過隨機(jī)長(zhǎng)度(Stochastic Length, SL)增加用戶歷史序列的稀疏性。推薦系統(tǒng)中用戶歷史序列的一個(gè)關(guān)鍵特征是:用戶行為在時(shí)間維具有重復(fù)性。這提供了一個(gè)在不損害模型質(zhì)量的前提下人為增加稀疏性的機(jī)會(huì),從而顯著降低按 比例擴(kuò)展的成本??梢詫⒌?j 個(gè)用戶的歷史表示為序列
,其中 nc,j 是用戶交互的 Content 數(shù)量。設(shè)
,
表示從原始序列
構(gòu)建的長(zhǎng)度為 L 的子序列。SL 選擇輸入序列的方式如下所示:
該方法將 Attention 相關(guān)復(fù)雜度降低至 ,需要說明的是,由于訓(xùn)練成本往往遠(yuǎn)大于推理成本,因此將稀疏 Attention 機(jī)制應(yīng)用于訓(xùn)練成本收益更顯著。
如下圖 Table 3 展示了不同序列長(zhǎng)度和 α 值下,針對(duì)用戶 30 天歷史的稀疏度。
- 2.0 表示未應(yīng)用稀疏注意力機(jī)制的基礎(chǔ)稀疏情況。
- 藍(lán)色下劃線表示損失可忽略不計(jì)的情況。
- 較低的 α 值適用于更長(zhǎng)的序列。?
5.3 最大限度地減少激活內(nèi)存使用
在推薦系統(tǒng)中,大 Batch 對(duì)于訓(xùn)練吞吐量和模型質(zhì)量至關(guān)重要。因此,激活內(nèi)存的占用成為主要瓶頸,而在 LLM 場(chǎng)景,通常 Batch 不是特別大,參數(shù)占的內(nèi)存更大。
相較于 Transformer 結(jié)構(gòu),HSTU 采用了更加簡(jiǎn)化及完全融合的設(shè)計(jì),可以顯著降低激活內(nèi)存的使用。
- 首先,HSTU 將 Attention 機(jī)制外的線性層數(shù)量從 6 個(gè)減少到 2 個(gè)。
- 其次,HSTU 采用了 Kernel 融合,將多個(gè) OP 融合為一個(gè),將每層的激活內(nèi)存使用量減少到 BF16 格式的 2d+2d+4hdqk +4hdv +2hdv = 14d。
作為對(duì)比,Transformer 在 Attention 后還有 FFN + Dropout(中間激活 3hdv),隨后還有 LayerNorm 等,總的激活為 2d + 4dff +2d+1d = 5d+4dff,通常 dff=4d,hdv >= d,考慮其他部分,總的激活內(nèi)存大概為 33d。因此,HSTU 實(shí)際可以支持超過 2x 的深度網(wǎng)絡(luò)。
此外,由于詞表也會(huì)占據(jù)大量?jī)?nèi)存。以 10B 詞表,512 的 Embedding 維度及 Adam 優(yōu)化器為例,在 FP32 精度下存儲(chǔ) Embedding 向量及優(yōu)化器狀態(tài)需要 10B*512*3*4 Byte=60TB 內(nèi)存。其中 3 表示原始 Embedding 及一階矩和二階矩。為此,作者采用 Rowwise AdamW 優(yōu)化器,并將優(yōu)化器狀態(tài)放在 DRAM 中,從而將 HBM 顯存開銷從 12 byte 降低到 2 byte。
5.4 通過成本分?jǐn)倢?shí)現(xiàn)推理規(guī)模擴(kuò)展
作者提到的最后一個(gè)挑戰(zhàn)是推薦系統(tǒng)在 Serving 階段需要處理大量候選 Item。
- 在檢索方面,Encoder 成本完全可以分?jǐn)偅⑶掖嬖诹炕?、哈?;蚴阉?、層次檢索等手段。
- 在排序方面,則要面臨可能多達(dá)數(shù)萬個(gè)候選 Item。
為此,作者提出了一種名為 M-FALCON(Micro Batched-Fast Attention Leveraging Cacheable OperationNs)的算法,用于處理輸入序列長(zhǎng)度為 n 的 m 個(gè)候選 Item 的推理任務(wù)。在單次 Forward 中,M-FALCON 通過調(diào)整 Attention Mask 和相對(duì)位置偏置,同時(shí)處理 bm 個(gè)候選 Item。使得針對(duì)這 bm 個(gè)候選 Item 執(zhí)行的 Attention 操作完全相同。這一改進(jìn)將 Cross Attention 的計(jì)算成本從 O(bmn2d) 降低到 O((n+bm)2d)=O(n2d) ,前提是 bm 是遠(yuǎn)小于 n 的常數(shù)。可以選擇將全部 m 個(gè)候選 Item 劃分為 [m/bm] 個(gè)大小為 bm 的 Micro Batch,以利用 Encoder 級(jí)別的 KV Cache。總體而言,M-FALCON 使得模型復(fù)雜度能夠與 DLRM 模型排序階段的候選 Item 數(shù)量線性擴(kuò)展。
六、實(shí)驗(yàn)
6.1 驗(yàn)證 HSTU Encoder 的歸納假設(shè)
6.1.1 傳統(tǒng)序列場(chǎng)景
如下圖 Table 4 所示,作者在廣泛采用的 2 個(gè)推薦系統(tǒng)數(shù)據(jù)集(MovieLens 和 Amazon Reviews)上評(píng)估了 HSTU 性能,并將 SASRec 作為基線(值得注意的是,此處采用的評(píng)估方法與工業(yè)級(jí)應(yīng)用場(chǎng)景存在顯著差異)。“SASRec (2023)” 表示論文中報(bào)告的最佳 SASRec 配置;“HSTU” 表示使用了與 SASRec 相同的配置(如層數(shù)、Head 數(shù)等)?!癏STU-large”則表示更大規(guī)模的 HSTU Encoder(層數(shù)增加 4 倍,Head 數(shù)增加 2 倍)。結(jié)果表明:
- 在相同配置下,HSTU 憑借專為推薦進(jìn)行的優(yōu)化設(shè)計(jì),顯著超越了基線;
- 當(dāng)規(guī)模擴(kuò)大時(shí),HSTU 的性能進(jìn)一步提升。?
6.1.2 工業(yè)級(jí)流式場(chǎng)景
如下圖 Table 5 所示,作者進(jìn)一步在工業(yè)級(jí)流式場(chǎng)景下對(duì)比了 HSTU 及其變種相比標(biāo)準(zhǔn) Transformer 模型的優(yōu)勢(shì)。總體而言,在小規(guī)模實(shí)驗(yàn)環(huán)境下,HSTU 以 1.5x - 2x 的更快速度實(shí)現(xiàn)了更高的質(zhì)量,并減少了 50% 的 HBM 顯存占用。
6.2 Encoder 效率
隨機(jī)長(zhǎng)度:如下圖 Figure 4 與 Figure 5a 展示了 SL 對(duì)模型指標(biāo)的影響。當(dāng) α=1.6 時(shí),長(zhǎng)度為 4096 的序列大部分時(shí)間可以縮減至 776 的長(zhǎng)度,即移除了超過 80% 的 Token。即便稀疏率提升至 64%-84%,主要任務(wù)獲得的 NE 下降不超過 0.002(0.2%)。表明適當(dāng)?shù)?α 值,SL 不會(huì)對(duì)模型質(zhì)量產(chǎn)生負(fù)面影響,并能實(shí)現(xiàn)高稀疏度以降低訓(xùn)練成本。
Encoder 效率:如下圖 Figure 5 對(duì)比了 HSTU 與 Transformer Encoder 在訓(xùn)練和推理環(huán)境下的效率。對(duì)于 Transformer,作者采用了 FlashAttention2。序列長(zhǎng)度范圍從 1,024 到 8,192,并在訓(xùn)練過程中應(yīng)用 SL。在評(píng)估中,對(duì) HSTU 和 Transformer 采用相同配置(d=512,h=8,dqk=64),并消融相對(duì)注意力偏置。作者在 H100 GPU 上以 BF16 比較了 Encoder 的表現(xiàn)。總體而言,HSTU 在訓(xùn)練和推理中的效率分別比 Transformer 高出 15.2x 和 5.6x。
6.3 GR 與 DLRM 在工業(yè)級(jí)流式場(chǎng)景中的對(duì)比
最后,作者在工業(yè)級(jí)流式場(chǎng)景中,將 GR 的端到端性能與最先進(jìn)的 DLRM 基線進(jìn)行了對(duì)比。如下圖 Table 6 和 Table 7 所示,GR 不僅在離線測(cè)試中顯著優(yōu)于 DLRM,在 A/B 測(cè)試中也帶來了 12.4% 的提升。
如下圖 Figure 6 所示,作者進(jìn)一步對(duì)比了 GR 和生產(chǎn)環(huán)境 DLRM 的效率,盡管 GR 模型計(jì)算復(fù)雜度高出 285x,但由于 HSTU 和新型 M-FALCN 算法,在 1024/16384 個(gè)候選 Item 排序時(shí),分別獲得了 1.50x/2.99x 的 QPS。
6.4 推薦系統(tǒng)的縮放法則
眾所周知,在大規(guī)模工業(yè)場(chǎng)景中,DLRM 在特定的計(jì)算和參數(shù)規(guī)模下,其性能會(huì)趨于飽和。為了深入理解這一現(xiàn)象,作者對(duì)比了 GR 與 DLRM 的可擴(kuò)展性。
鑒于特征交叉層對(duì) DLRM 性能至關(guān)重要,作者采用了多種方法來擴(kuò)展 DLRM 基線模型在 Ranking 場(chǎng)景的表現(xiàn)。具體實(shí)驗(yàn)包括 Transformer 架構(gòu)、DHEN、以及生產(chǎn)環(huán)境中應(yīng)用的 DCN 變體。對(duì)于檢索基線模型,由于已采用殘差結(jié)構(gòu),作者通過擴(kuò)大隱藏層大小、Embedding 維度及層數(shù)來提升性能。
對(duì)于 HSTU ,則通過調(diào)整 HSTU 的超參數(shù)來擴(kuò)展模型,這些超參數(shù)包括殘差層數(shù)量、序列長(zhǎng)度、Embedding 維度以及 Attention Head 數(shù)目。此外,作者還對(duì)檢索任務(wù)中的數(shù)目進(jìn)行了調(diào)整。
最終,所有主要指標(biāo),包括用于檢索的 Hit Rate@100 和 Hit Rate 500,以及用于排序的 NE,在給定適當(dāng)超參數(shù)的情況下,均經(jīng)驗(yàn)性地遵循所用計(jì)算量的冪律關(guān)系。如下圖 Figure 1 所示,作者在 3 個(gè)數(shù)量級(jí)的范圍內(nèi)觀察到這一現(xiàn)象,直到能夠測(cè)試的最大規(guī)模(序列長(zhǎng)度 8192,Embedding 維度 1024,層數(shù) 24),此時(shí)所使用的總計(jì)算量接近 GPT-3 和 LLaMA-2 所使用的總計(jì)算量,作者首次證明了 LLM 的縮放法則同樣可能適用于大規(guī)模推薦系統(tǒng)。
七、參考鏈接
