第 89 题:双塔模型的蒸馏,单塔教师模型的监督信号设计?
题目
双塔模型的蒸馏,单塔教师模型的监督信号设计?
完整讲解
一、双塔蒸馏的动机
双塔为检索效率牺牲了表达:仅最后内积、无显式交叉。蒸馏用更强的教师模型(如精排单塔、或带交叉的复杂模型)的输出来监督双塔学生,使学生在不改结构的前提下逼近教师的排序或得分分布,提升双塔效果。
二、单塔教师与监督信号设计
- 教师:常用精排单塔——用户与物品特征一起输入、含丰富交叉的模型,在点击/转化等标签上训练,得到样本对的得分或排序。教师可离线对 (user, item) 对算分,生成软标签。
- 监督信号:
- 得分蒸馏:教师得分 $s_T(u,i)$,学生得分 $s_S(u,i)$,最小化 $(s_T - s_S)^2$ 或 KL(softmax($s_T/\tau$) | softmax($s_S/\tau$)),使学生得分分布逼近教师。
- 排序蒸馏:用教师排序(如 listwise 的排列概率)作为监督,学生学习同一排序或 listwise 损失。
- 特征蒸馏:若教师有中间表示,可让学生塔的某层逼近教师对应表示(需结构有一定对应);双塔中较难直接对应,更多用得分/排序。
- 训练:学生仍用点击等硬标签 + 教师软标签联合训练,如 $\mathcal{L} = \mathcal{L}{click} + \lambda \mathcal{L}{KD}$;软标签可来自曝光日志经教师打分得到,或在线/离线 batch 内教师前向得到。
三、工程要点
- 教师需在大量 (user, item) 对上算分,可离线预计算或采样;学生双塔结构不变,部署仍为向量检索。
- 温度 $\tau$ 与 $\lambda$ 需调;教师过强时学生可能无法完全跟上,可只蒸馏 top 或高置信样本。
面试要点
- 能说明双塔蒸馏目的:用强教师(如精排单塔)监督双塔学生,提升双塔效果、不改结构。
- 能说教师与监督信号:教师为单塔/精排;监督可为得分 MSE/KL、或排序/listwise;软标签来自教师对 (user, item) 打分。
- 能提及联合训练(硬标签+蒸馏)、教师打分来源与温度/权重调参。
记忆要点
- 双塔蒸馏:教师(精排单塔)→ 学生(双塔);得分或排序蒸馏。
- 监督:$s_T$ vs $s_S$ 的 MSE/KL,或教师排序;软标签来自教师打分。
- 训练:硬标签 + 蒸馏损失;教师可离线算分;$\tau$、$\lambda$ 需调。