这篇主要讲一个工业推荐里的统一建模问题:把静态 Field 特征和用户行为序列强行塞进同一个 Transformer,不一定是白捡收益,可能会把序列表征压塌。TokenFormer 的价值在于,它不是单纯说“统一就完事了”,而是补了两个保护机制:BFTS 和 NLIR。
这篇文章到底在解决什么
推荐系统里有两类很重要的信息:
| 信息类型 | 例子 | 难点 |
|---|---|---|
| 静态 Field 特征 | 年龄、性别、城市、设备、上下文、广告属性 | 稀疏、异构、很多是类别特征 |
| 行为序列 | 用户最近看了什么、点了什么、买了什么 | 有时间顺序,表达用户动态兴趣 |
过去很多系统是分开建模:Field 特征走 DLRM / DeepFM / 特征交互模型,行为序列走 DIN / Transformer / HSTU 这类序列模型,最后再融合。
TokenFormer 想做得更激进:把它们都变成 Token,丢进同一个 decoder-only Transformer 主干里。
问题是,直接统一不等于真正统一。
关键问题:SCP 序列坍塌传播
文章最值得记的概念是 SCP:Sequential Collapse Propagation。
简单说就是:
静态 Field 特征通常很稀疏、信息维度低;行为序列特征更动态、更高维。两者直接在标准 Transformer 里混合,低维静态特征可能把高维序列表征往低秩空间里拖,导致序列信息被压扁。
这点对推荐很关键。因为用户短期兴趣本来就细碎、多变,如果序列表征坍塌,模型最后可能更依赖那些粗糙的静态画像,而不是用户真正刚刚表现出来的意图。
这就是很多“统一架构”容易踩的坑:结构上统一了,表征上反而互相污染。
TokenFormer 的两个核心补丁
BFTS:先全局融合,再局部提纯
BFTS 全称 Bottom-Full-Top-Sliding。
它的想法不复杂:
- 底层:用全量注意力,让 Field、序列、目标候选充分交互;
- 顶层:用滑动窗口注意力,而且窗口逐层缩小,只保留更近、更相关的局部行为模式。
这像一条流水线:
这比“所有层都全量注意力”更稳,也比“一开始就滑动窗口”更合理。
浅层不能太窄,因为一开始需要跨域融合。深层不能太散,因为继续看远处静态特征会引入噪声。
NLIR:用非线性乘法门控保住表达维度
NLIR 是 Non-Linear Interaction Representation。
它在注意力输出上加了一个门控分支:用当前输入生成一个 gate,再对 attention output 做逐元素乘法调制。
直觉上,它是在告诉模型:不同 Token 混合时,不要只是线性相加,也要学会“按条件放大/抑制某些维度”。
这件事的价值有两个:
- 增强高阶交互能力;
- 防止表征被少数低维静态特征牵着走。
如果你后面看搜广推模型,这个点可以和 DIN 的 target attention、SENet 特征重标定、FiBiNET 的双线性交互放在一起理解:本质上都是在做“不是所有特征维度都该被同等对待”。
为什么这篇对你有价值
这篇不是那种只堆 Transformer 名词的文章,它有三个值得拿来学习的点:
- 工业推荐里统一建模不是口号真正难的是多种特征形态混在一起之后,表征空间会不会坏掉。
- 它把一个常见现象命名了很多模型融合后线上不稳,可能不是工程没调好,而是不同特征的秩、稀疏性、噪声结构互相冲突。
- BFTS 是很工程化的结构先验不是盲目追求全注意力,而是把不同层分工清楚:底层看全局,顶层看局部。
和常见推荐模型的关系
| 模型/方向 | 主要处理什么 | 和 TokenFormer 的关系 |
|---|---|---|
| DeepFM / DLRM | 静态 Field 特征交互 | TokenFormer 想把这部分也 Token 化并统一进主干 |
| DIN / DIEN | 用户行为序列与目标 item 的兴趣匹配 | TokenFormer 试图用统一注意力覆盖这类 target-aware 交互 |
| Transformer / SASRec | 序列推荐 | TokenFormer 借用序列建模能力,但额外处理 Field + Sequence 混合问题 |
| HSTU | 大规模生成式推荐序列建模 | TokenFormer 对标并扩展到多域静态特征统一建模 |
| OneTrans / HyFormer / InterFormer | 统一推荐架构探索 | TokenFormer 认为这些方法仍有模块解耦或混合堆叠痕迹 |
可以怎么读这篇
第一遍不用纠结公式,先抓住这条线:
第二遍再看实验:重点看消融,不要只看最终指标。因为这篇文章真正想证明的是:
- BFTS 不是为了省算力顺手加的,它能缓解静态噪声传播;
- NLIR 不是普通门控,它对有效秩和判别力有帮助;
- 全层滑动窗口会失败,说明浅层全局融合是必要的。
我对这篇的判断
这篇适合放进“搜广推模型结构”资料夹里,不是因为它一定会成为标准架构,而是因为它抓住了一个很实际的问题:多模态/多特征统一建模时,低质量或低维特征会污染高价值动态信号。
后面你看广告精排、序列推荐、生成式推荐,只要遇到“统一 Token 化”“一套 Transformer 吃所有特征”这类说法,都可以拿 SCP 这个视角去反问:它有没有处理表征坍塌和异构特征噪声传播?如果没有,统一可能只是结构上的统一,不一定是有效统一。
原文
https://mp.weixin.qq.com/s/Okt86iA2rKvB532mZv_l4Q