专栏名称: 美团技术团队
10000+工程师,如何支撑中国领先的生活服务电子商务平台?数亿消费者、数百万商户、2000多个行业、几千亿交易额背后是哪些技术在支撑?这里是美团、大众点评、美团外卖、美团配送、美团优选等技术团队的对外窗口。
目录
相关文章推荐
51好读  ›  专栏  ›  美团技术团队

MTGR:美团外卖生成式推荐Scaling Law落地实践

美团技术团队  · 公众号  · 架构  · 2025-05-15 19:58

正文

请到「今天看啥」查看全文


  • 利用Group LayerNorm以及动态混合掩码策略,实现用统一的HSTU架构针对不同语义空间的Token信息进行编码。
  • 我们设计了三种不同尺寸的模型( MTGR-small、MTGR-middle、MTGR-large ),验证了离在线效果的Scaling Law,并使用MTGR-large在美团核心业务中取得显著受益,并完成全量。
  • 下面,我们将对MTGR的数据、特征以及模型架构逐一展开介绍。

    图2 MTGR模型架构图
    图2 MTGR模型架构图

    4.1.1 数据&特征

    在数据与特征上,我们首先对齐DLRM的特征,保留了全部的交叉特征以减少信息损失,其次针对训练数据按用户粒度实施压缩来实现MTGR高效训练,具体的:

    对齐DLRM的特征使用策略 :在我们的场景下,如表1结果所示,采用生成式方案完全抛弃交叉特征会极大的损害MTGR模型性能,为了尽可能的减少信息损失,我们所使用的特征与DLRM基本一致,这些特征包括:

    • User Profile :用户统计信息,如登陆频次/购买频次等。
    • Context :用户当前请求的场景信息,如哪个场景,时间,地点。
    • User Behaviour Sequence :用户历史点击/曝光序列,其中每个item为有用户交互行为的商家,此外还包含了大量side info,包含了商家的各种属性信息( tag、品牌等 )、历史统计信息( 历史点击、订单数量等 )、当次交互的细分行为( 例如停留时长、子页面点击数量等 )等,不同请求( 用户 )的序列长度不同。
    • Target item :待打分商家信息,如商家ID、各种该商家的side info以及大量的基于统计的交叉特征。
    表1 交叉特征对于MTGR性能影响
    表1 交叉特征对于MTGR性能影响
    • 按用户粒度压缩训练数据 :如图3所示,左图表现了传统DLRM数据组织方式,针对用户的N个曝光,在数据组织中需要存N行,在处理不同长度的序列数据时,往往使用padding进行补全。在DLRM训练时,对同一个用户的N行样本存在大量重复编码,导致计算效率较低,甚至需要结合负采样降低样本量和训练成本。为了解决这一问题,对于训练数据,MTGR针对用户粒度进行压缩,如图3右所示,将同一用户N行样本压缩成一行,同时我们采用稀疏化存储,配合JaggedTensor以及变长的HSTU算子,抛弃了全部padding操作以降低无效存储和冗余计算。额外的,为了避免训练穿越,对于用户行为序列以及target item,我们在数据中保存了其发生的原始时间戳,以用于生产掩码保证正确的因果性,具体的掩码细节将在下一节展开介绍。
    图3 DLRM与MTGR数据组织形式
    图3 DLRM与MTGR数据组织形式

    4.1.2 模型架构

    在模型架构上,我们首先将输入信息Token化,再针对不同类型Token进行Group LayerNorm,并设计了一种特殊的动态混合掩码策略,以实现用统一的HSTU架构针对不同序列、用户信息、Target信息进行统一编码。具体的:

    • 输入信息Token化 :我们将样本信息拆分成一个个Token。其中对于User Profile每一个特征都表示为一个Token,对于用户行为,则将每一个具体行为对应的item ID以及多个side info的Embedding表征拼接在一起再通过非线形映射组装成一个Token。同理,对于每一个曝光,我们则将item ID、对应的side info、交叉特征、时空等Context信息拼接在一起组成一Token。
    • 采用HSTU架构统一建模多个序列 :我们利用HSTU架构针对Token化的输入进行统一编码,对比原方法,我们对每一层的输入都做了额外的LayerNorm以保证深层次训练的稳定性,考虑到不同与传统的LLM,我们的数据可以分组为多种类型的Token,因此,我们将LayerNorm拓展为Group LayerNorm,针对不同类别的Token采用不同的LayerNorm参数,以实现不同语义空间下Token的对齐,下表展现了采用Group LayerNorm的离线效果。
    表2 Group LayerNorm对于MTGR性能影响
    表2 Group LayerNorm对于MTGR性能影响
    • 引入动态混合掩码 :我们将Token简单分为历史静态特征( User Profile & Sequence ),当日实时行为( Real-Time Sequence ),以及曝光样本( Targets )三个部分。我们采用一种动态混合掩码,具体掩码策略如下图所示,对于历史静态特征我们不进行任何掩码操作,对于当日实时行为采用Causal mask,并结合时间戳过滤未来事件。具体来说,在训练时我们按照用户一天曝光数据进行聚合,并取最后一条实时行为。实时行为/曝光样本按照时间近至远进行排列,更远发生的实时行为看不到更近发生的实时行为。同Targets中存在部分曝光出现在某些实时行为之前,因此需要结合两者时间戳计算掩码,保证较早发生的Targets看不到较晚发生的实时行为。我们以图4为例展开说明:

      • 标有颜色表示可以被看见,每一行表示该Token可以看到哪些Token,每一列表示该Token可以被哪些Token看到。
      • 实时行为/曝光样本按照时间近至远进行排列:最近发生的曝光样本可以看到全部的实时行为,但较早发生的曝光样本只能看到部分实时行为。
      • 对于Target 1,因为它出现的时间较晚,因此它可以看到全部的User Profile & Sequence以及Real-Time Sequence;对于Target 2,有一部分Real-Time Sequence出现在其之前,因此它只能看到部分Real-Time Sequence。
    图4 MTGR动态混合掩码示意图
    图4 MTGR动态混合掩码示意图
    表3展示了采用动态混合掩码对比传统因果掩码的离线效果,采用动态混合掩码可以更好的发挥HSTU作为encoder的学习能力。
    表3 动态混合掩码对于MTGR性能影响
    表3 动态混合掩码对于MTGR性能影响






    请到「今天看啥」查看全文