本文设计了一种针对大规模非静态数据的推荐架构,上线后效果显著。

改进

新的训练范式

本文提出了一种完全不同的样本构造体系,抛弃了传统的 特征集合-物品 的绑定形式,转而用一种更加 生成式(行为序列 - 物品) 的形式描述用户的活跃行为。

image.png

基本对比

这里主要看排序

传统特征(DLRM) 生成式特征(GR)
范式 直推式 自回归式
样本输入 类别特征和数值特征分别处理后,属性特征、行为特征等多个特征进行拼接 只考虑类别特征;
行为特征转化为单独的可交互item和对应的交互动作;
属性特征转化为无动作的item
输入空间 所有的特征空间集合 属性特征 + 动作 + 可交互的item
样本输出 单个item的打分 与动作特征相关的动作序列
目标空间 有限的排序目标 用户的所有交互动作
符号表达 $cocat(cat_1, cat_2, \dots,\\ num_1, num_2, \dots, \\act\_with_1, act\_with_2,\dots)\\ \to target$ $cat_1,cat_2,\dots \\ item_1,act_1,item_2,act_2\dots \\ \to \phi,\phi,\dots,act_1, \phi, act_2, \dots,\phi$

数值特征哪去了?

数值特征主要指count、ratio之类的特征。与数值特征相关的item已经在历史输入item中体现了,而统计结果也暗含在了历史记录中。只要序列足够长,暗含的统计信息就足够精准,因此本文显式的丢掉了数值特征。

样本量优化

由于只在交互结束的时候生成一条样本,因此相对于直推式的样本,样本数量下降了O(N)的数量级(但是一条样本里有很多物品,但是鉴于特征形式也简化了,实际上还是在样本方面获得了显著的简化效果)

编码器优化

image.png

通过对 self-attention 结构的改进,对传统的特征抽取、特征交互、特征转换三个异构模块进行统一。

Pointwise aggregated attention

traditional attention HSTU attention
$Y(X)=softmax(\cfrac{Q(X)K(X)^T}{\sqrt{d_k}})V(X)$ $U(X),V(X),Q(X),K(X)=Split(\phi_1(f_1(X))$
pointwise projection

$A(X)U(X)=\phi_2(Q(X)K(X)^T+rab^{p,t})V(X)$ spatial aggregation(pointwise aggregation)

$Y(X)=f_2(Norm(A(X)V(X))\odot U(X))$ pointwise transformation |

这里 $f$ 代表线性变换,$\phi$ 代表非线性变换(SiLU),Norm 是 Layer Norm。