1. 研究背景与动机¶
Semantic ID (SID) 是一种将多模态物品特征编码为紧凑离散token序列的表示方法,可作为判别式和生成式推荐系统的统一离散接口。SID通常通过 Residual Vector Quantization (RQ) 将连续embedding层次化量化为多层codebook索引。
现有SID学习的两大问题¶
问题1:Token碰撞(Collision Problem)。当大量物品被压缩到量化码空间时,RQ-VAE模型常出现codebook利用率不均或质心坍塌,导致语义上不相关的物品被映射到相同或高度相似的SID组合,引起语义纠缠(semantic entanglement),使下游模型难以区分概念上不同的物品。
问题2:碰撞信号异质性(Collision-Signal Heterogeneity)。并非所有碰撞都是有害的。一些低Hamming距离的SID重叠反映的是真正的语义冲突(有害碰撞),而另一些则来自良性因素——如重复采样、同物品的多次曝光、或对比学习中构造的正样本对。一刀切的碰撞抑制策略会错误地推开良性对,干扰下游对齐。
2. QuaSID 框架¶
QuaSID(Qualification-Aware Semantic ID Learning)是一个端到端的SID学习框架,核心思想是:仅对资质合格的碰撞冲突对施加排斥力,并根据碰撞严重程度自适应调节排斥强度。
2.1 Tokenizer Backbone¶
给定物品-物品交互对 $(i_t, i_p)$,QuaSID首先通过共享编码器 $f_\theta$ 将多模态输入 $\mathbf{x}$ 映射为连续embedding:
$$\mathbf{z}_{i_t} = f_\theta(\mathbf{x}_{i_t}), \quad \mathbf{z}_{i_p} = f_\theta(\mathbf{x}_{i_p})$$
然后通过 $L$ 层RQ进行逐层残差量化:
$$\mathbf{q}_i^{(l)} = \mathbf{c}_{s_i^{(l)}}^{(l)}, \quad \mathbf{r}_i^{(l)} = \mathbf{r}_i^{(l-1)} - \mathbf{q}_i^{(l)}, \quad l = 1, \ldots, L$$
$$\hat{\mathbf{z}}_i = \sum_{l=1}^{L} \mathbf{q}_i^{(l)}, \quad \mathbf{s}_i = [s_i^{(1)}, s_i^{(2)}, \ldots, s_i^{(L)}]$$
其中 $\mathbf{r}_i^{(0)} = \mathbf{z}_i$,$\mathbf{s}_i \in \{1, \ldots, K\}^L$ 为物品 $i$ 的SID。
重建损失通过解码器 $h_\phi$ 从量化表示 $\hat{\mathbf{z}}_i$ 重建原始输入:
$$\mathcal{L}_{\text{rec}} = \frac{1}{|\mathcal{B}|} \sum_{i \in \mathcal{B}} \ell_{\text{rec}}(\hat{\mathbf{x}}_i, \mathbf{x}_i)$$
$$\mathcal{L}_{\text{rq}} = \frac{1}{|\mathcal{B}|} \sum_{i \in \mathcal{B}} \sum_{l=1}^{L} \left( \|\text{sg}[\mathbf{r}_i^{(l-1)}] - \mathbf{q}_i^{(l)}\|_2^2 + \beta \|\mathbf{r}_i^{(l-1)} - \text{sg}[\mathbf{q}_i^{(l)}]\|_2^2 \right)$$
其中 $\ell_{\text{rec}}(\cdot, \cdot)$ 为 $L_2$ loss,sg[·] 为stop-gradient,$\beta$ 控制commitment strength。
2.2 协作双塔对比对齐(Collaborative Dual-Tower Contrastive Alignment)¶
为将协作信号注入tokenization过程,QuaSID引入基于物品共同交互对的双塔对比学习目标:
$$\mathbf{S}_{m,n} = \frac{(\mathbf{e}_t^m)^\top \mathbf{e}_p^n}{\tau}$$
$$\mathcal{L}_{\text{cl}} = -\frac{\lambda_{\text{cl}}}{B} \sum_{m=1}^{B} \log \frac{\exp(\mathbf{S}_{m,m})}{\sum_{n=1}^{B} \mathbb{1}[M_{m,n} = 1] \exp(\mathbf{S}_{m,n})}$$
其中 $\tau$ 为温度超参数,$M_{m,n}$ 为masking indicator,对于 $n \neq m$ 且 $\text{id}(\mathbf{e}_t^n) = \text{id}(\mathbf{e}_t^m)$ 时设 $M_{m,n} = 0$,其余为1,以减少false-negative偏差。
2.3 Hamming引导的边距排斥与冲突感知有效对掩码(HaMR + CVPM)¶
2.3.1 冲突感知有效对掩码(CVPM)¶
CVPM通过掩码过滤掉mini-batch中的良性重叠对,保留真正需要排斥的碰撞冲突对。包含两类掩码:
(1) 协作正样本掩码:排除对比学习中构造的协作正样本对 $(i_t, i_p)$:
$$\mathbf{M}_{ij}^{\text{cl}} = \begin{cases} 0, & (i \le B \land j = i + B) \lor (j \le B \land i = j + B), \\ 1, & \text{otherwise}. \end{cases}$$
(2) 同物品排除掩码:排除对应同一底层物品ID的对(包括自身对和重复采样):
$$\mathbf{M}_{ij}^{\text{item}} = \mathbb{1}[\text{id}(i) \neq \text{id}(j)]$$
两个掩码通过Hadamard积组合为最终的有效对掩码:
$$\mathbf{M} = \mathbf{M}^{\text{cl}} \odot \mathbf{M}^{\text{item}}$$
2.3.2 Hamming引导的边距排斥(HaMR)¶
HaMR将batch内低Hamming距离的SID重叠视为冲突信号,在CVPM过滤后的有效对上施加severity-aware的余弦距离margin约束。
定义Hamming距离矩阵和余弦距离矩阵:
$$\mathbf{H}_{ij} = d_H(i, j) = \sum_{l=1}^{L} \mathbb{1}[s_i^{(l)} \neq s_j^{(l)}]$$
$$\mathbf{D}_{ij} = d_c(i, j) = 1 - \mathbf{e}_i^\top \mathbf{e}_j$$
根据Hamming距离区分两类碰撞:
- Full collision(完全碰撞):$\Omega_{\text{full}} = \{(i, j) \mid \mathbf{H}_{ij} = 0 \text{ and } \mathbf{M}_{ij} = 1\}$
- Partial collision(部分碰撞):$\Omega_{\text{partial}} = \{(i, j) \mid 0 \lt \mathbf{H}_{ij} \le R \text{ and } \mathbf{M}_{ij} = 1\}$
其中 $R$ 为考虑部分碰撞的Hamming半径超参数。
对每一对 $(i, j)$ 施加基于margin的hinge loss:
$$\mathcal{L}_{\text{full}}(i, j) = \max(0, m_{\text{full}} - \mathbf{D}_{ij})$$
$$\mathcal{L}_{\text{partial}}(i, j) = \max(0, m_{\text{partial}} - \mathbf{D}_{ij})$$
其中 $m_{\text{full}} \ge m_{\text{partial}}$ 为预定义的margin,完全碰撞要求更强的排斥力。
总HaMR损失:
$$\mathcal{L}_{\text{HaMR}} = \frac{\lambda_{\text{full}}}{|\Omega_{\text{full}}| + \epsilon} \sum_{(i,j) \in \Omega_{\text{full}}} \mathcal{L}_{\text{full}}(i, j) + \frac{\lambda_{\text{partial}}}{|\Omega_{\text{partial}}| + \epsilon} \sum_{(i,j) \in \Omega_{\text{partial}}} \mathcal{L}_{\text{partial}}(i, j)$$
2.4 总训练目标¶
$$\mathcal{L} = \mathcal{L}_{\text{rec}} + \mathcal{L}_{\text{rq}} + \mathcal{L}_{\text{HaMR}} + \mathcal{L}_{\text{cl}}$$
所有组件通过STE(straight-through estimator)进行端到端反向传播训练。
3. 系统部署与应用¶
QuaSID已在快手推荐系统上成功部署:
- 离线周期训练:基于trigger-target对的生产速度,周期性训练模型。
- 推理服务部署:训练好的QuaSID作为推理服务,将物品ID映射为SID,生成新的lookup table,用于检索和排序阶段。
- 检索阶段:SID用于传统检索和基于SID的生成式检索,衍生交叉特征和匹配侧特征。
- 排序阶段:SID作为轻量级语义信号增强现有特征集。
4. 实验设置¶
4.1 数据集¶
| Dataset | #Users | #Items | #Interactions |
|---|---|---|---|
| Amazon-Beauty | 22,363 | 12,101 | 1,048,296 |
| Amazon-Toys | 19,412 | 11,924 | 905,253 |
采用标准5-core过滤,丢弃交互少于5次的用户和物品。文本字段包括 Title, Brand, Categories, Price,使用 SentenceT5-XXL 提取语义embedding。
工业数据集:快手电商平台,物品关联富多模态侧信息(文本描述、ASR转录、关键帧图片),使用多模态大语言模型提取embedding。
4.2 评估指标¶
- 公开数据集:HitRate@K 和 NDCG@K($K \in \{5, 10\}$),以及SID组合的熵 $\mathcal{E}_{\text{SID}} = -\sum_s p(s) \log p(s)$ 衡量SID多样性。
- 工业A/B测试:Completed Orders (CO)、GMV(场景GMV: GMV-S1/GMV-S2)、GPM(千次曝光GMV)。
4.3 实现细节¶
- 生成式推荐backbone:TIGER
- 模型配置统一:8层Transformer,8个attention heads,embedding维度128,MLP隐藏层512
- Codebook设置:离线实验 $L = 3, K = 256$;工业实验 $L = 4, K = 1024$
- 优化器:Adam,lr $3 \times 10^{-4}$,weight decay $1 \times 10^{-5}$,batch size 256
- Early stopping:NDCG@5 + HitRate@5 在验证集上连续10次无提升
- 所有结果取5次随机种子的均值
- QuaSID超参数:离线 $R = 1$,线上A/B $R = 2$;margin $m_{\text{full}} = 0.8, m_{\text{partial}} = 0.5$;$\lambda_{\text{cl}} \in [0.01, 0.5]$,$\lambda_{\text{full}} \in [0.05, 0.8]$,$\lambda_{\text{partial}} \in [0.01, 0.8]$,在验证集上调优
4.4 Baselines¶
- RQ-VAE:多层stacked codebook残差量化
- GRVQ:分组残差向量量化,减少跨维度干扰
- Improved VQGAN:低维codebook + $\ell_2$归一化
- RQ-VAE-Rotation:用rotation trick替换STE
- SimRQ:冻结codebook,线性投影生成离散码
- RQ-OPQ:结合优化乘积量化
- RQ-Kmeans:两阶段方法,先协作对齐再K-means构建codebook
5. 实验结果¶
5.1 主实验(Table 2)¶
Amazon-Beauty 数据集:
| Tokenizer | HR@5 | HR@10 | NDCG@5 | NDCG@10 | Entropy |
|---|---|---|---|---|---|
| RQ-VAE | 0.0225 | 0.0300 | 0.0171 | 0.0195 | 9.3075 |
| Improved VQGAN | 0.0232 | 0.0304 | 0.0167 | 0.0189 | 9.3569 |
| GRVQ | 0.0222 | 0.0302 | 0.0161 | 0.0187 | 9.2755 |
| RQ-OPQ | 0.0205 | 0.0271 | 0.0159 | 0.0180 | 9.3368 |
| RQ-VAE-Rotation | 0.0236 | 0.0308 | 0.0175 | 0.0198 | 9.3455 |
| SimRQ | 0.0231 | 0.0297 | 0.0172 | 0.0193 | 9.3526 |
| RQ-Kmeans | 0.0254 | 0.0379 | 0.0171 | 0.0211 | 9.3793 |
| QuaSID | 0.0277 | 0.0392 | 0.0193 | 0.0230 | 9.3901 |
Amazon-Toys 数据集:
| Tokenizer | HR@5 | HR@10 | NDCG@5 | NDCG@10 | Entropy |
|---|---|---|---|---|---|
| RQ-VAE | 0.0206 | 0.0256 | 0.0164 | 0.0180 | 9.3068 |
| Improved VQGAN | 0.0196 | 0.0245 | 0.0157 | 0.0172 | 9.3313 |
| GRVQ | 0.0195 | 0.0242 | 0.0158 | 0.0173 | 9.2101 |
| RQ-OPQ | 0.0228 | 0.0278 | 0.0179 | 0.0195 | 9.3521 |
| RQ-VAE-Rotation | 0.0203 | 0.0257 | 0.0167 | 0.0187 | 9.3290 |
| SimRQ | 0.0220 | 0.0279 | 0.0171 | 0.0190 | 9.3688 |
| RQ-Kmeans | 0.0260 | 0.0347 | 0.0190 | 0.0213 | 9.3460 |
| QuaSID | 0.0266 | 0.0366 | 0.0193 | 0.0225 | 9.3794 |
结论:QuaSID在两个数据集的所有排序指标(HR@K和NDCG@K)上均取得最佳表现,相对最强baseline平均提升top-K排序质量5.9%。同时QuaSID在两个数据集上都获得最高的SID熵,表明离散ID空间利用更充分、SID组合更多样。
Entropy与排序质量的关系:跨tokenizer聚合,更高的 $\mathcal{E}_{\text{SID}}$ 通常对应更好的排序指标(Pearson $r$ 约0.65,Spearman $\rho$ 约0.72,均统计显著),但entropy并非排序质量的充分预测器——高entropy主要反映更少重复组合,而HR/NDCG还取决于离散接口是否保留了任务相关语义。
5.2 HaMR即插即用分析(Table 3)¶
将 $\mathcal{L}_{\text{HaMR}}$ 作为辅助目标添加到多种SID学习baseline上(训练设置和超参数保持一致),验证其通用性:
Amazon-Beauty NDCG@10 提升:
- RQ-VAE: 0.0195 → 0.0215(+10.3%)
- Improved VQGAN: 0.0189 → 0.0218(+15.3%)
- GRVQ: 0.0187 → 0.0210(+12.3%)
- RQ-OPQ: 0.0180 → 0.0203(+12.8%)
- RQ-VAE-Rotation: 0.0198 → 0.0202(+2.0%)
- SimRQ: 0.0193 → 0.0201(+4.1%)
Amazon-Toys NDCG@10 提升:
- RQ-VAE: 0.0180 → 0.0187(+3.9%)
- Improved VQGAN: 0.0172 → 0.0207(+20.3%)
- GRVQ: 0.0173 → 0.0202(+16.8%)
- RQ-OPQ: 0.0195 → 0.0197(+1.0%)
- RQ-VAE-Rotation: 0.0187 → 0.0191(+2.1%)
- SimRQ: 0.0190 → 0.0200(+5.3%)
结论:HaMR损失平均提升下游排序NDCG@10达15.3%(Beauty)和20.1%(Toys),同时entropy也略有提升(0.1%~1.9%),证明其作为即插即用组件的通用性。但仅加HaMR的baseline排序指标仍一致低于完整QuaSID,说明HaMR与对比任务监督是互补的。
5.3 线上A/B测试(Table 4)¶
在快手电商平台进行5天线上A/B测试,5%流量(覆盖超2000万用户)分配给实验组。
生成式检索 + 排序:
| Setting | Completed Orders | GMV-S1 | GMV-S2 |
|---|---|---|---|
| Generative Retrieval | +0.21% | +1.03% | +0.55% |
| Ranking | +0.20% | +1.44% | +2.38% |
包含冷启动的检索 + 排序:
| Setting | Completed Orders | GMV | GPM |
|---|---|---|---|
| Retrieval | +1.09% | +1.69% | +3.25% |
| Retrieval (100vv冷启动) | +6.42% | +4.67% | +0.21% |
| Retrieval (600vv冷启动) | +4.69% | +3.11% | +0.53% |
| Ranking (100vv冷启动) | +1.77% | +4.10% | +2.99% |
| Ranking (600vv冷启动) | +2.64% | +3.88% | +2.78% |
所有提升均统计显著($p \lt 0.05$)。
结论:QuaSID在生成式检索和判别式检索/排序管线中均带来一致提升。冷启动场景效果尤为显著——100vv冷启动的Completed Orders提升高达6.42%,证明QuaSID学到的SID在稀疏反馈下尤其有价值。排序管线GMV-S2提升2.38%,伴随GMV-S1提升1.44%和CO提升0.20%。
5.4 消融实验(Table 5)¶
| Tokenizer | Beauty HR@5 | Beauty NDCG@5 | Toys HR@5 | Toys NDCG@5 |
|---|---|---|---|---|
| QuaSID | 0.0277 | 0.0193 | 0.0266 | 0.0193 |
| w/o CVPM | 0.0263 | 0.0181 | 0.0264 | 0.0190 |
| w/o HaMR | 0.0254 | 0.0170 | 0.0261 | 0.0189 |
CVPM消融:去掉CVPM后,两个数据集性能一致下降,Beauty下降更明显。验证了batch内碰撞信号的异质性——良性重叠可能被错误纳入排斥集,引入虚假分离。
HaMR消融:去掉HaMR后性能下降最多,证明显式惩罚不合理的SID碰撞对保持离散token空间的语义可区分性至关重要。
5.5 超参数敏感性分析¶
在Amazon-Beauty上进行,每次只变化一个超参数:
- $\lambda_{\text{cl}}$:从0.01增加到0.1时性能持续提升,HR@10和NDCG@10均在0.1左右达峰值,再增加到0.5时性能下降,说明过强的对比力会主导优化并与离散化和碰撞缓解产生冲突。
- $\lambda_{\text{full}}$:最佳值为0.2,较小值未充分惩罚完全碰撞,较大值过度排斥扭曲表示空间,削弱语义泛化。
- $\lambda_{\text{partial}}$:在0.01到0.1范围内性能提升(Hamming半径$R=1$),但0.5和0.8时一致下降,表明过度惩罚部分碰撞会不必要地分离自然共享部分token的语义相关物品。
6. 总结与未来工作¶
QuaSID针对多模态物品的语义ID学习,识别了两个关键障碍:token碰撞和碰撞信号异质性。通过集成HaMR进行severity-aware的margin排斥、CVPM过滤同物品对和构造正样本、以及辅助双塔对比损失注入协作信号,实现了端到端的碰撞资质化SID学习。在公开benchmark和快手大规模线上A/B测试中均展现了一致的排序指标、SID多样性和业务指标提升。
未来工作方向:进一步研究碰撞信号异质性,自动区分良性重叠与真实语义冲突,以及学习任务条件化的资质策略(何时以及多强地排斥碰撞)。