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.