MTGR: Industrial-Scale Generative Recommendation Framework in Meituan/zh

    From Marovi AI
    This page is a translated version of the page MTGR: Industrial-Scale Generative Recommendation Framework in Meituan and the translation is 100% complete.
    Other languages:
    SummarySource
    Research Paper
    Authors Ruidong Han; Bin Yin; Shangyu Chen; He Jiang; Fei Jiang; Xiang Li; Chi Ma; Mincong Huang; Xiaoguang Li; Chunzhen Jing; Yueming Han; Menglei Zhou; Lei Yu; Chuan Liu; Wei Lin
    Year 2025
    Topic area NLP
    Difficulty Research
    arXiv 2505.18654
    PDF Download PDF

    MTGR: Industrial-Scale Generative Recommendation Framework in Meituan 是美團團韓瑞東、尹斌等人 2025 年的論文,提出了一個統一深度學習推薦模型(DLRM)與生成式推薦模型(GRM)優勢的排序模型。MTGR 構建於 HSTU transformer 架構之上,但與以往的生成式推薦器不同,它保留了 DLRM 所依賴的人工構造的 cross feature,並將用戶-候選數據重新組織為單一的共享序列,使得計算的擴展不會隨候選數量線性增長。作者報告稱,相對於成熟的 DLRM 基線,每樣本前向 FLOPs 提升了 65×,同時轉化量提升 +1.22%、點擊率提升 +1.31%,且該模型已部署在美團外賣平台的主流量上。

    概述

    工業推薦系統通常面臨表達力與成本之間的權衡。DLRM 接收精心構造的特徵——用戶畫像、行為序列、候選特徵,尤其是編碼用戶-物品交互的 cross feature——但其推理成本大致與每次請求的候選數量呈線性增長,從而限制了模型的擴展上限。

    GRM 則將其替換為在 token 化的用戶行為之上、用 next-token prediction 訓練的 transformer,從而獲得良好的可擴展性,但迫使去除 cross feature;作者發現,這一做法即便在大參數量下也會嚴重損害排序質量。

    MTGR 通過將用戶視為請求中所有候選共享的上下文來化解這一矛盾:把用戶特徵、兩類行為序列以及每個候選的特徵(cross feature 附加在候選 token 上)打包為單一的 token 序列,並在自定義注意力 mask 下交由一系列 HSTU 塊處理。由於用戶是按請求編碼一次而非按候選編碼一次,擴大 transformer 的成本可在多個候選間攤銷,推理在候選數上呈次線性增長。在候選 token 上進行判別式打分則保留了 DLRM 從業者熟悉的排序目標。

    主要貢獻

    • 一種混合擴展架構:保留 DLRM 的全部輸入特徵——包括 cross feature——同時繼承 HSTU 的 GRM 式可擴展性,方法是將推薦重新表述為在按用戶聚合併 token 化的序列上的判別式打分,而非 next-token prediction。
    • Group-Layer Normalization(GLN),一種 layer normalization 變體,對每個語義組(用戶、歷史行為、實時行為、候選)內的 token 分別歸一化,使得異質的特徵域可以共享同一注意力棧。
    • 一種三規則動態注意力 mask,區分靜態上下文、因果性的實時交互以及候選 token 僅自身可見,從而避免在同一訓練樣本中候選與用戶最近行為之間的時序信息泄露。
    • 用戶級樣本聚合:將一次請求(或訓練窗口)中的所有候選壓縮到一次前向計算中,把訓練樣本量從 O(候選數) 降到 O(用戶數),並使推理成本在候選數上呈次線性增長。
    • 基於 TorchRec 的訓練棧,包含 dynamic hash table 嵌入、兩階段 ID 去重、自動 table 合併、用於負載均衡的動態 per-GPU batch size、bf16 混合精度,以及 CUTLASS 注意力 kernel;這些共同將吞吐相對原生 TorchRec 提升 1.6×–2.4×,並在 100 GPU 以上表現出良好可擴展性。

    方法

    對於含 $ K $ 個候選的請求,傳統 DLRM 將數據展開為 $ K $ 個獨立樣本 $ \mathbb{D}_i = [\mathbf{U}, \vec{\mathbf{S}}, \vec{\mathbf{R}}, \mathbf{C}_i, \mathbf{I}_i] $,其中 $ \mathbf{U} $ 是用戶畫像,$ \vec{\mathbf{S}} $ 為長期行為序列,$ \vec{\mathbf{R}} $ 為近期實時交互,$ \mathbf{C}_i $ 為用戶與候選 $ i $ 之間的 cross feature,$ \mathbf{I}_i $ 為候選自身的特徵。逐特徵嵌入之後,target attention 用 $ \mathbf{I}_i $$ \vec{\mathbf{S}} $ 進行匯聚,並由 MLP 為每個候選產生一個 logit。

    MTGR 重新組織數據,使用戶在每次請求中只出現一次,且 cross feature 附着在候選 token 上:

    $ \mathbb{D} = [\mathbf{U}, \vec{\mathbf{S}}, \vec{\mathbf{R}}, [\mathbf{C}, \mathbf{I}]_1, \ldots, [\mathbf{C}, \mathbf{I}]_K] $

    $ \mathbf{U} $ 中每個標量特徵對應一個維度為 $ d_{\text{model}} $ 的 token;$ \vec{\mathbf{S}} $$ \vec{\mathbf{R}} $ 中的每個 item 通過嵌入加 MLP 變成一個 token;每個候選是一個 token,其 embedding 將候選自身的特徵與該用戶特定的 cross feature 融合在一起。完整的 token 序列經過 $ L $ 層堆疊的 HSTU 塊。在每個塊內,輸入 $ \mathbf{X} $ 先經過 Group-Layer Normalization 歸一化,再投影出 $ \mathbf{Q}, \mathbf{K}, \mathbf{V}, \mathbf{U} $ 四個頭,並按下式更新:

    $ \tilde{\mathbf{V}} = \frac{\text{silu}(\mathbf{K}^T \mathbf{Q})}{N_{\mathbf{U}} + N_{\vec{\mathbf{S}}} + N_{\vec{\mathbf{R}}} + N_{\mathbf{I}}} \mathbf{M} \mathbf{V} $
    $ \mathbf{X} \leftarrow \text{MLP}(\text{GroupLN}(\tilde{\mathbf{V}} \odot \mathbf{U})) + \mathbf{X} $

    自定義 mask $ \mathbf{M} $ 強制三條規則:靜態序列($ \mathbf{U} $$ \vec{\mathbf{S}} $)對所有 token 可見;動態序列 $ \vec{\mathbf{R}} $ 中的 token 遵循因果性——僅對時間上晚於自身的 token 可見,包括發生在某次實時事件之後的候選;候選 token 僅對自身可見,使得同一請求中的候選之間無法相互泄露信號。這消除了在同一窗口內聚合實時交互與候選曝光時,樸素因果 mask 會帶來的時序泄露問題。

    與單一共享的 layer norm 不同,Group-Layer Normalization 在每個域(用戶、長期行為、實時行為、候選)內分別計算統計量。由於這些域處於不同的語義空間且特徵數不同,跨域共享歸一化會摺疊它們的分佈並削弱注意力信號;消融實驗顯示 GLN 的作用大致相當於增加若干個 HSTU 塊。

    訓練框架棄用 TensorFlow,轉而採用 PyTorch + TorchRec。嵌入表採用解耦的哈希式設計——一個緊湊的鍵到指針索引加一個獨立的值結構——允許在不預分配容量的情況下對 sparse ID 進行實時插入和淘汰。跨設備的嵌入查找通過兩階段 ID 去重和自動 table 合併加速。長尾的用戶序列長度通過動態 per-GPU batch size 配合梯度重加權來處理。三條流水線(copy、dispatch、compute)重疊 I/O、嵌入查找以及前向/反向計算,並採用類似 FlashAttention 的 CUTLASS 注意力 kernel 配合 bf16 混合精度。

    結果

    在一個為期 10 天、含 2.1 億用戶、430 萬 item、237 億次曝光以及豐富 cross feature 的美團排序數據集上,MTGR 與若干 DLRM 擴展族——DNN、MoE、Wukong、MultiEmbed 和 UserTower——進行對比,每種均搭配 SIM 風格的序列檢索或完整的端到端序列建模。最強的 DLRM 基線是 UserTower-SIM。即便是 MTGR-small(3 個 HSTU 塊,$ d_{\text{model}} = 512 $,5.47 GFLOPs/樣本)也在 CTR 與 CTCVR 的 AUC 和 GAUC 上超越它;而 MTGR-medium(5 個塊,$ d_{\text{model}} = 768 $)和 MTGR-large(15 個塊,$ d_{\text{model}} = 768 $,55.76 GFLOPs/樣本)則單調地擴大優勢,CTCVR GAUC 的提升與計算複雜度近似呈冪律關係。

    消融實驗顯示,移除 Group-Layer Normalization 或動態 masking 所損失的性能大致相當於 MTGR-small 與 MTGR-medium 之間的差距;而移除 cross feature 則徹底抹去 MTGR-large 相對 DLRM 的全部優勢,證實該設計的主要收益來自於把 cross feature 餵給可擴展的 transformer,而不只是 transformer 本身。沿三個獨立維度——HSTU 塊數、模型維度 $ d_{\text{model}} $ 與輸入序列長度——的擴展實驗,均在 CTCVR GAUC 上呈現平滑的冪律提升。

    在為期六個月的線上 A/B 測試中,MTGR-large 與一個已連續訓練兩年的 UserTower-SIM 模型對比,分別取得 +0.0153 CTR GAUC、+0.0288 CTCVR GAUC、+1.90% PV_CTR 與 +1.02% UV_CTCVR——按美團方面的統計,是近兩年單次最大的排序收益——同時訓練成本不變、推理成本下降 12%,後者得益於推理在候選數上的次線性擴展。值得注意的是,MTGR 模型僅使用了六個月的訓練數據,而 DLRM 基線已持續迭代兩年,這意味着更多訓練數據有望進一步擴大優勢。

    影響

    MTGR 是少數公開報道的工業落地之一,它將 HSTU 風格的生成式架構與驅動多數生產環境排序模型的、富含 cross feature 的管線相兼容,解決了此前將生成式推薦器局限於特徵貧乏的公開 benchmark 上的關鍵障礙。通過證明在保留輸入豐富性的前提下,scaling law 同樣適用於排序模型,本工作強化了如下觀點:推薦可以像語言和視覺一樣沿着算力驅動的軌跡發展。

    在實際工程上,該系統運行於美團(全球最大的外賣平台)的主流量上,服務數億用戶;公開的框架選型——帶 dynamic hash table 的 TorchRec、按組歸一化以及 dynamic masking——為其他從 DLRM 式技術棧遷移到基於 transformer 的排序的工業團隊提供了具體參考。

    作者最後勾勒了通向推薦多場景基礎模型的路徑:單一的 MTGR 風格主幹網絡可在多個業務面共享,類似於 large language model 在多個下游任務中被復用的方式。

    參見

    參考文獻

    • Han, R., Yin, B., Chen, S., Jiang, H., Jiang, F., Li, X., Ma, C., Huang, M., Li, X., Jing, C., Han, Y., Zhou, M., Yu, L., Liu, C., 與 Lin, W. (2025). MTGR: Industrial-Scale Generative Recommendation Framework in Meituan. arXiv:2505.18654.
    • Zhai, J. et al. (2024). Actions Speak Louder than Words: Trillion-Parameter Sequential Transducers for Generative Recommendations (HSTU).
    • Deng, J. et al. (2025). OneRec: Unifying Retrieve and Rank with Generative Recommender and Iterative Preference Alignment. arXiv:2502.18965.
    • Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models.
    • Dao, T. et al. (2022). FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness.
    • Ivchenko, D. et al. (2022). TorchRec: a PyTorch Domain Library for Recommendation Systems.
    • Pi, Q. et al. (2020). Search-Based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction (SIM).
    • Zhang, B. et al. (2024). Wukong: Towards a Scaling Law for Large-Scale Recommendation.
    • Guo, X. et al. (2023). On the Embedding Collapse when Scaling up Recommendation Models.