文章链接:https://arxiv.org/pdf/2505.18654
机构:美团
发布时间:2025.05
Copyright (c) Wang-Luning. All Rights Reserved.
MTGR认为很多生成式推荐模型丢弃了传统DLRM中精心构建的交叉特征,即使能把参数scale上去也会损失性能。因此,MTGR在HSTU的基础上建模,其在输入中保留传统DLRM中丰富的特征和交叉特征,并在这个前提下进行scaling,从而结合DLRM和GR的优势。
另外,MTGR通过用户级别的压缩来提升训练和推理效率(像GenRank那样一次推理预测多个候选物品的CTR)。MTGR还提出了Group-Layer Normalization(GLN)来提升在不同语义空间内的编码效果(防止来自不同domain的tokens的尺度差距过大相互影响),还提出动态mask策略来避免时序信息和各个候选物品之间信息的泄露。
从下文中可见,MTGR的核心思想是把HSTU模型当成一个超强的序列建模器来优化排序问题,其重点关心丰富的输入特征的保持+使用HSTU架构来达到超大的模型参数量。和HSTU与GenRank不同,它没把action当成一种新模态token加到输入中,且只使用了如CTR loss等排序任务中的判别式loss来进行训练,没有使用NTP loss来让模型学习自回归地拟合下一个物品/action。
所以宏观来看它的输入特征体系和loss都和传统DLRM其实没什么区别,整个模型的训练优化目标都是围绕CTR等判别式任务设计和优化的。相比于生成式推荐模型来说它更像传统DLRM的扩展,比起GenRank等相对更保守。
"保留传统深度学习推荐模型(DLRM)丰富特征的同时,获得生成式架构的可扩展性优势"
传统DLRM排序场景的基本架构:
在传统DLRM排序场景下,对于1个用户和
其中:
样本集
对于
进一步,使用类似SIM中的target attention的方法来提取候选物品和用户历史交互物品之间的兴趣关联。具体而言,使用候选物品特征
SIM中使用的target attention代替了处理历史交互序列的最原始的做法:将各个历史交互物品的embedding直接做加和或平均来得到表示历史的一个定长向量。这里通过attention来得到候选物品感知的历史交互信息表征向量。总之都是希望将不定长的历史交互序列信息压缩到一个定长向量中。
最后,将所有embedding和表征连接起来得到样本集中
这些总表征向量会被输入MLP进行特征交叉,从而进行CTR预测等任务。
每个“样本”都是独立处理的,也即用户和每个候选物品之间的关系都是单独建模的,不同候选物品之间不存在相互影响。因此,在传统DLRM中,每个样本都会被单独输入模型进行一次推理,总推理开销随候选物品数量增大而线性增长。
在传统DLRM下想要scale模型参数时,通常是在用户模块和交叉模块处进行scale,而这种scale具有明显的劣势:
MTGR的数据组织形式和模型架构:
MTGR的数据组织形式中和传统DLRM的不同在于,其把用户和候选物品的交叉特征
而用户侧的特征,包括用户画像和交互历史特征
这样只要在交叉模块中设置合理的mask防止各个候选物品之间的信息泄露,即可做到一次推理给多个候选物品打分,从而大幅提升训练和推理效率。这部分和GenRank的处理思路是一样的。
进一步,将输入信息进行token化。对于用户画像
从图中可见,MTGR训练的loss应该只有判别loss(如CTR loss),而不像GenRank和HSTU那样有NTP loss。也即MTGR并没有想拟合下一个token的概率分布,而是将HSTU架构当成了一个强大的序列建模器,通过判别性的优化目标来训练模型。
在具体模型架构上,MTGR提出了Group Layernorm和Dynamic Mask两种优化。
由于输入序列中的tokens来自几个不同的domain,例如有的是用户画像的特征token,有的是历史交互物品token,这些来自不同domain的tokens的数值分布区别很大,和NLP中所有token都属于语义词的情况不同。如果像NLP transformer中一样对于所有的token都使用同一组
另外,MTGR并未直接使用causal mask,其针对各种token的特点设置了如下mask机制:
来自用户画像
(即使是历史交互序列的tokens之间也没有causal mask,因为这些行为相对比较久远,因此不认为它们代表了实时兴趣演化,而是当做用户本身性质的一部分)
最近交互
各个候选物品token之间完全不可见,从而防止候选物品之间信息泄露。它们可以看到静态tokens和比它们发生时间更早的最近交互tokens
下图中,seq表示历史交互物品token,rt表示最近交互token,target表示候选物品token,数字越小表示发生越晚,例如rt1出现的比rt2更晚。可见,rt1可以看到rt1、rt2的信息,但rt2不能看到rt1的信息。设rt和target出现的时序顺序是:target3-rt2-target2-rt1-target1,可见各个target也只能看到比它们更早发生的rt tokens以及它们本身,但看不到其他候选物品tokens: