DAS 将 SID 量化(双侧 RQ-VAE)和 CF 对齐(去偏 CF + 三种多视图对比对齐)统一到一个联合损失函数中,避免了两阶段方法的信息损失,同时通过 Prefix-Ngram / 序列 / 交叉 / 稠密四类特征接入快手广告全链路 RS,实现 eCPM +3.48%(冷启动 +8.98%),服务 4 亿日活用户。
论文:DAS: Dual-Aligned Semantic IDs Empowered Industrial Recommender System
机构:快手(Kuaishou),广告推荐算法团队
发表:arXiv 2508.10584,2025
核心问题:SID 缺乏协同过滤信号
快手广告推荐系统同时支持传统判别式(CTR/CVR)和生成式(TIGER 风格)两种 RS 范式。SID 基于多模态 LLM(MLLM)的内容嵌入量化生成,但存在根本性局限:
问题 1:语义 SID 缺乏 CF 信号
MLLM 内容嵌入反映的是广告的多模态语义(图文视频描述),与用户实际点击行为(CF 信号)之间存在天然分布差异。
后果:SID 所形成的聚类并不与用户行为偏好对齐,下游 CTR/CVR 模型利用 SID 特征时效果受限。
问题 2:两阶段方法的局限
现有对齐方案(LETTER/QARM)采用两阶段:先训好 CF 模型,再用 CF 的 embedding 指导 SID 量化;或反过来。
根本缺陷:两阶段分开优化造成不可避免的信息损失,且无法灵活选择对齐策略;互信息最大化受到阻碍。
问题 3:流行度偏差污染 CF 信号
快手广告场景中,20% 的广告贡献 80% 的广告收入,20% 的用户贡献 80% 的广告收益。如果直接对齐有偏 CF 信号,会将流行度偏差注入 SID 编码空间,损害 codebook 学习。
DAS 的解法:一阶段双对齐
DAS(Dual-Aligned Semantic ID)同时联合训练:(1)MLLM 内容语义量化(UISM);(2)CF 去偏模型(ICDM);(3)多视图对比对齐(MDAM)。
三者在一个联合损失函数中共同优化,避免两阶段的信息损失,且支持双侧(用户 + 广告)同时量化。
DAS 三模块联合训练
(双侧 RQ-VAE)
生成 z_u, z_i
(CF 去偏)
生成 c_u^int, c_i^pro
(多视图对比对齐)
最大化互信息
L_Sem + α·L_CF + β·L_Align
2.1 UISM:User and Item Semantic Model(双侧 RQ-VAE)
UISM 分别对用户侧(User Semantic Model, USM)和广告侧(Item Semantic Model, ISM)各自训练独立的 RQ-VAE,生成双侧 SID。
MLLM 嵌入提取:
- 用户侧:将用户基本信息 + 全局电商行为转为文本 prompt,LLM 摘要后,BGE M3 编码为 $\mathbf{s}_u \in \mathbb{R}^{d_1}$($d_1=256$)
- 广告侧:标题 + OCR + ASR + 视觉描述转为文本,LLM 摘要后,BGE M3 编码为 $\mathbf{s}_i \in \mathbb{R}^{d_2}$($d_2=1024$)
RQ-VAE 量化(与 Google SemID 一致的标准 RQ):
- $L=3$:codebook 层数;$N=512$:每层码本大小;$d=32$:码向量维度
- $r_0 = \mathbf{s}$:初始化为原始 MLLM embedding
- $c_l$:第 $l$ 层最近邻码字索引
- 用 k-means 初始化 codebook 防止 codebook 坍缩(collapse)
语义损失(与标准 RQ-VAE 一致):
- $sg[\cdot]$:stop-gradient 算子;$\mu$:平衡系数
- 第一项:重建损失;第二项:commitment loss;第三项:codebook loss
- 总语义损失:$\mathcal{L}_{\text{Sem\_all}} = \mathcal{L}_{\text{User\_sem}} + \mathcal{L}_{\text{Item\_sem}}$
2.2 ICDM:ID-based CF Debias Model(CF 去偏模块)
假设快手广告中有两类广告:A 类(某头部网红的带货视频,曝光量极高)和 B 类(某优质但冷门的功能性产品广告)。
有偏 CF 信号直接对齐的后果:CF 模型学到的用户-广告协同信号中,A 类广告因高曝光量获得了大量交互,嵌入向量被反复更新,在向量空间中占据显著位置。B 类广告即使内容非常精准,因曝光少而嵌入质量差。
如果 RQ-VAE 直接对齐这样的有偏 CF 嵌入:Codebook 的大量码向量会被 A 类广告"霸占",B 类广告会聚类到语义相近但实际不同类型的码字上,SID 失去区分度。ICDM 的作用是:先把 A 类广告的"流行度成分"剥离出来($c_i^{pop}$),再用剩下的真实内容质量信号($c_i^{pro}$)指导 SID 对齐,让 codebook 真正按内容质量而非曝光量分配。
ICDM 核心思路:使用因果图(Causal Graph)解耦用户和广告的偏差成分。
- UDM(User Disentangling Module):将用户 ID 特征分离为兴趣表示 $c_u^{int}$(关注真实偏好)和从众性表示 $c_u^{con}$(关注流行内容倾向)
- IDM(Item Disentangling Module):将广告 ID 特征分离为内容质量表示 $c_i^{pro}$(关注广告本身质量)和流行度表示 $c_i^{pop}$(关注广告曝光量等)
两个约束指导解耦方向:
- 相似性约束:$c_u^{con}$ 应与真实从众特征相似,$c_i^{pop}$ 应与真实流行特征相似
- 正交性约束:$c_u^{con}$ 与 $c_u^{int}$ 应正交,$c_i^{pop}$ 与 $c_i^{pro}$ 应正交
CF 总损失:$\mathcal{L}_{\text{CF\_all}} = \mathcal{L}_{\text{cf\_bias}} + \mathcal{L}_{\text{cf\_unbias}} + \gamma\mathcal{L}_{\text{cf\_disentangled}}$,其中 $\gamma=0.1$。
2.3 MDAM:Multi-view Dual-Aligned Mechanism(多视图双对齐)
MDAM 基于 UISM 输出的 SID 表示($z_u, z_i$)和 ICDM 的去偏 CF 表示($c_u^{int}, c_i^{pro}$),设计三种对比对齐任务:
想象你要将"商品的内容语义空间"和"用户行为协同空间"对齐,有三个不同维度的对齐信号:
① Dual U2I(用户-广告行为对):用户 A 点击了广告 X,所以 A 的 SID 嵌入 $z_u^A$ 应该接近 X 的 CF 嵌入 $c_i^{pro,X}$(用行为拉近语义和协同信号)。同时,X 的 SID 嵌入 $z_i^X$ 也应接近 A 的 CF 嵌入 $c_u^{int,A}$(双向对齐)。对齐的是"用户-广告"的跨模态相关性。
② Dual U2U / I2I(同一实体自对齐):对于同一个广告 X,它的内容语义表示 $z_i^X$(来自多模态内容)应该接近它的协同过滤表示 $c_i^{pro,X}$(来自用户行为)。这相当于让语义空间和行为空间对同一实体形成"一致的嵌入"。对齐的是同一实体在两个空间中的表示一致性。
③ Co-occurrence(共现关系):被同一个用户点击的两个广告 X 和 Y,即使内容主题不完全相同,它们的 SID 也应该相近(因为它们在行为层面有关联)。对齐的是行为共现关系,相当于把协同过滤的"隐式关联"注入 SID 语义空间。
三个维度互补:U2I 解决跨侧对齐,U2U/I2I 解决同侧一致性,Co-occurrence 解决行为聚类结构。
| 对齐任务 | 正例构建 | 优化目标 | 公式 |
|---|---|---|---|
| Dual U2I (双向用户-广告对齐) |
用户实际点击的 <U,I,A> 行为对 | $z_u^+$ ↔ $c_i^{pro+}$(用户 SID ↔ 广告 CF);$c_u^{int+}$ ↔ $z_i^+$(用户 CF ↔ 广告 SID) | InfoNCE 对比损失(batch 内随机负样本) |
| Dual U2U / I2I (跨视角自对齐) |
同一用户/广告的 SID 表示 vs CF 表示 | $z_u$ ↔ $c_u^{int}$(用户 SID ↔ 用户无偏 CF);$z_i$ ↔ $c_i^{pro}$(广告 SID ↔ 广告无偏 CF) | Batch-based InfoNCE,batch 内所有其他用户/广告为负例 |
| Dual Co-occ U2U / I2I (共现关系对齐) |
与同一广告交互过的两个用户;同一用户交互过的两个广告 | 共同兴趣的用户 SID 应相近;被同一用户偏好的广告 SID 应相近 | 基于 Memory Bank 存储历史共现关系 |
总对齐损失:
最终总损失:
2.4 四类特征应用
DAS 产出的 SID 和 SID Emb 被构造为四类特征,接入快手广告的完整 RS 流水线(召回/粗排/精排):
① ID-based 稀疏特征
使用 Prefix-Ngram 方式构造层次化稀疏特征,例如 SID=[2,31,142] 对应 ad_l1=2, ad_l2=2_31, ad_l3=2_31_142。用户侧同理。
应用场景:判别式 CTR/CVR 精排模型
② List-wise ID 序列特征
基于用户历史点击广告的 SID 序列,构造不同粒度的用户历史 SID 列表特征(如 user_l1_sids, user_l2_sids, user_l3_sids)。
应用场景:序列建模、粗排
③ Cross ID 交叉特征
计算候选广告 SID 与用户历史行为序列中各广告 SID 的前缀匹配数量,生成 cross_cnt_l1/l2/l3 稀疏特征。
应用场景:用户兴趣与候选广告的语义相关性显式建模
④ Dense 嵌入特征
直接使用冻结的 SID Emb($semb_u, semb_i$)作为稠密特征,拼接到 CTR 模型输入。
应用场景:跨域特征迁移,补充 ID 嵌入的语义信息
对于生成式模型,DAS 基于 TIGER 框架引入 TIGER++:将用户 ID 升级为 $sid_u$,将广告 SID 升级为对齐后的 $sid_i$,并支持两种部署策略:(1)生成 top-k SID 后作为层次化标签用于 tag 检索;(2)作为特征增强接入现有 RS 模型。
假设候选广告 $I$ 的 SID = [2, 31, 142],用户 $U$ 历史点击广告的 SID 分别为 [2, 31, 140]、[3, 45, 200]、[2, 12, 88],DAS 会同时生成以下四类特征并送入精排模型:
① ID-based 稀疏特征(Prefix-Ngram):广告 $I$ 产生三级稀疏特征:ad_l1=2, ad_l2="2_31", ad_l3="2_31_142"。模型通过查嵌入表获得三种粒度的语义表示——第1层码字 2 代表「美食类广告」这一粗粒度,第3层完整路径 [2,31,142] 代表「某类烹饪用品的精准子类」。
③ Cross ID 交叉特征:用户 $U$ 历史中,SID 前缀=2 的广告有 2 个(cross_cnt_l1=2);SID 前缀=2_31 的有 1 个(cross_cnt_l2=1);SID 前缀=2_31_142 的有 1 个(cross_cnt_l3=1)。cross_cnt_l1=2 明确告诉精排模型:这个用户最近点过 2 个跟这条广告同大类的广告——这是一个非常强的兴趣匹配信号,即使广告 $I$ 是全新的冷启动广告也能被捕捉到。
② + ④ 序列特征 + 稠密特征:用户历史 SID 序列提供行为路径,冻结的 SID Emb($semb_i$)作为稠密特征补充 $I$ 的语义表示。四类特征从不同维度互补,比任何单类特征都能更全面地刻画用户-广告匹配关系。
三阶段部署:
- 近线 MLLM 语义 Emb 提取:用户/广告信息转文本 → LLM 摘要 → BGE M3 编码 → 近线存储(用于下一阶段输入)
- 在线对齐 SID/Emb 推理:DAS 在线训练器将 MLLM Emb 与 CF 模型联合 co-train;推理时 USM/ISM 实时生成层次化 SID 和 SID Emb
- 在线广告应用:SID/SID Emb 作为辅助特征接入召回、粗排、精排模型
- 训练数据:18亿用户-广告交互样本(约1亿用户 × 800万广告)
- CTR 模型:MMoE + SeNet,16台 T4 GPU,AdamW 优化器,batch=1024
- 生成式模型(TIGER):T5 Encoder-Decoder,4层 Transformer,13M 参数,4台 GPU,5天训练
- RQ-VAE 配置:$L=3$,$N=512$,$d=32$;每个 SID 稀疏特征使用 16 维 embedding
离线 CTR 实验:各模块的贡献
| 方案 | 特征合并 | AUC↑ | UAUC↑ | GAUC↑ |
|---|---|---|---|---|
| CTR Model(基线) | — | 基准 | 基准 | 基准 |
| +MLLMs Emb(冻结稠密特征) | Yes | +小幅 | +小幅 | +小幅 |
| +SID (Raw RQ)(无对齐) | Yes | +中等 | +中等 | +中等 |
| +ASID (LETTER)(两阶段) | Yes | +较好 | +较好 | +较好 |
| +ASID (Biased DAS)(无去偏) | Yes | +更好 | +更好 | +更好 |
| +ASID (Debiased DAS)(ICDM 去偏) | Yes | +更优 | +更优 | +更优 |
| +ASID (No-dual DAS)(非双侧) | Yes | +高 | +高 | +高 |
| +ASID (Full DAS) | Yes | 最优 | 最优 | 最优 |
关键结论:
- 一阶段 > 两阶段:联合训练避免了信息损失,各指标均优于 LETTER
- 去偏有效:ICDM 去偏后 AUC 优于有偏版本,验证流行度偏差确实影响 SID 质量
- 双侧学习有效:Full DAS(双侧量化对齐)显著优于 No-dual DAS,双侧互相约束提升 SID 对齐精度
- 冻结 MLLMs Emb 收益有限:冻结稠密特征的可学习性差,SID 的可学习稀疏特征效果更好
MDAM 对齐有效性分析
生成式推荐(TIGER/TIGER++)结果
| 模型 | 用户 ID | 广告 SID | HitRate@K | NDCG@K |
|---|---|---|---|---|
| TIGER(基线) | 原始 User ID | 无对齐 RQ-VAE SID | 基准 | 基准 |
| TIGER+ | 原始 User ID | DAS 对齐 SID | +显著 | +显著 |
| TIGER++ | DAS 用户 SID | DAS 对齐 SID | 最优 | 最优 |
TIGER++ 同时使用用户侧和广告侧双对齐 SID,相比基线 TIGER 提升最大,验证了 Dual Learning(双侧量化对齐)的有效性。
在线 A/B 测试(生产环境)
- 主要指标 eCPM(等效于广告收益):全广告场景提升 +3.48%(统计显著)
- 冷启动场景 eCPM:+8.98%(冷启动收益是普通场景的约 2.6×)
- 拆解:判别式 RS 增强特征贡献 eCPM +2.69%,生成式 TIGER++ 贡献 eCPM +0.79%
- 当前每日服务超过 4亿日活用户,持续扩展到更多广告场景
DAS 将 SID 量化(双侧 RQ-VAE)和 CF 对齐(去偏 CF + 三种多视图对比对齐)统一到一个联合损失函数中,避免了两阶段方法的信息损失,同时通过 Prefix-Ngram / 序列 / 交叉 / 稠密四类特征接入快手广告全链路 RS,实现 eCPM +3.48%(冷启动 +8.98%),服务 4 亿日活用户。
核心贡献总结
✅ 主要亮点
- 一阶段联合训练:消除两阶段信息损失,支持灵活对齐策略
- 去偏 CF(ICDM):阻止流行度偏差污染 SID codebook,改善长尾分布
- 三种多视图对比对齐:u2i + i2i/u2u + co-occurrence,全面最大化互信息
- 双侧 SID:用户侧量化与广告侧互相约束,协同提升对齐精度
- 四类特征设计:覆盖判别式和生成式两种 RS 范式
- 冷启动收益最大(+8.98%):去偏后的高质量 SID 对冷启动广告效果显著
⚠️ 局限与注意
- 训练复杂度高:三个模块联合训练,超参数 α、β、γ 需要仔细调优
- 近线计算依赖:MLLM 语义嵌入的近线提取是系统瓶颈,LLM 更新时全量重新提取成本高
- co-occurrence 对齐依赖 Memory Bank:历史共现关系存储和更新有额外工程成本
- 结果基于快手广告场景,电商/短视频/职场等其他场景迁移需要验证
DAS 的核心洞察是:SID 生成和 CF 对齐不应分开,必须联合优化。具体工程参考点:(1)RQ-VAE 去偏:对 CF 信号先做去偏再用于对齐;(2)三种对比任务对应三种不同语义粒度(u2i=行为相关性,i2i/u2u=同类聚合,co-occ=共现频率);(3)快手实际使用 Memory Bank 实现 co-occurrence 对齐,这是工业 batch 对比学习中解决大规模负例问题的常用方案。DAS 论文对三种任务的贡献有详细消融,可以按需叠加。