DADF: A Distribution-Aware Debiasing Framework for Watch-Time Regression in Recommender Systems
短视频推荐中观看时长回归的标签高度长尾,残差误差在不同时长区间系统性偏移:模型整体看似 calibrated,实际同时高估短播放、低估长播放,因正负误差在聚合时相互抵消。已有方法多在第一阶段时长预测器上改进,残差分布偏差仍未充分纠正。DADF 不替换已部署预测器,而是在其之上做第二阶段乘性残差校正,由三部分组成:动态分布感知变换稳定长尾校正目标、debias-factor-aware 模块用推理期信息建模异质残差模式,以及配套的分布感知监督。
INSIGHT「全局 calibrated 但分区间互相抵消」是所有回归型排序目标(时长、停留、转化)的共性陷阱,社区搜索的 dwell-time 排序同样适用。最大工程价值在于 DADF 是挂在已上线预测器之上的二阶段乘性残差校正,不动主模型即可纠偏——上线风险极低、可作为旁路插件灰度,比重训第一阶段预测器现实得多。
DADF 深度解读:短视频时长回归的分布感知二阶段去偏框架
1. 问题与动机
观看时长预测是短视频推荐的核心回归任务,但标签高度长尾——「most impressions correspond to short views or quick skips, while only a small fraction lead to long consumption」。论文指出一个被长期忽视的「伪平衡(pseudo-balance)」陷阱:模型可能整体 calibrated(全局 y/ŷ 比值≈1.0),但同时系统性高估短播放、低估长播放,因为正负残差在聚合时相互抵消。Figure 1(a) 给出定量证据:已部署预测器在各 watch-time 桶上「consistently overestimates short views and underestimates long views」,而全局比值仍接近 1.0。更深一层的根因是:乘性 bias factor b=y/ŷ 继承了原始时长分布的长尾性(Appendix A.1 给出理论刻画),导致直接对 b 做回归不稳定。
这一陷阱对任何回归型排序目标(时长、停留、转化时长)都成立,社区搜索的 dwell-time 排序同样会「整体校准但分区间互相抵消」。已有方法多在第一阶段时长预测器上改进,残差分布偏差仍未被充分纠正——这正是 DADF 切入点:不动主模型,在其之上挂一个分布感知的二阶段乘性残差校正。
2. 方法详解
二阶段乘性校正框架。 设冻结的一阶段预测为 ŷ₀,校正标签 b=y/(sg(ŷ₀)+ε)(sg 为 stop-gradient),最终预测 ŷ=ŷ₀·b̂=ŷ₀·T_λg⁻¹(F_θ(x, ℓ₀, π(d), ha))。即学习一个对 b 的校正而非替换 ŷ₀。三大组件:
A. 动态分布感知模块。 对乘性校正因子做分组 Box–Cox 变换:T_λg(b)={(b+ε)^λg−1}/λg(λg≠0),log(b+ε)(λg=0),其中 λg 是每个时长分组可学习的变换参数;推理时用解析逆变换 T_λg⁻¹ 还原。作用是把长尾、异方差的校正目标拉成更接近正态、可稳定回归的空间——这是全框架最关键的设计(消融显示移除它 MAE 退化最大)。
B. Debias-factor-aware 模块。 硬路由:每个样本按时长分组 g=π(d) 选择专家网络 E_g,融合信号 h=Fusion(x, ℓ₀, g, ha),预测变换空间校正量 ẑ=E_g(h)。理论依据用全方差定律证明分组后 oracle 风险满足 R_G ≤ R₀,即按时长分桶建模能降低不可约不确定性。
C. Multi-label-aware 模块。 三路辅助信息:context 分支 hc=MLP([ℓ_play, xc]);logit 注意力 h_ℓ=SelfAttention(Φ₁(ℓ₁),…,Φ_M(ℓ_M));tower 表示 hr=TokenMixer(r₁,…,r_M),拼接成 ha=MLP([hc,h_ℓ,hr])。即复用多任务 engagement 头的 logits 与表示作为去偏辅助信号。
训练目标。 L_DADF=α·L_trans+β·L_abs+η·L_reg,其中 L_trans 是变换空间 MSE、L_abs 是原空间 Huber、L_reg 对每个时长分组的均值/方差/偏度做正则;超参 α=1.0、β=0.8、η=0.10。
3. 核心技术贡献
(1) 不替换已部署预测器的分布感知二阶段去偏:直接建模乘性 bias factor,是对现有时长预测管线的「model-agnostic plug-in」,落地侵入性极低。
(2) 分组条件建模:用时长分桶 + 专家硬路由把异质残差模式拆开,并以全方差定律给出 oracle 风险下界证明(R_G≤R₀),让「分桶」有理论支撑而非纯工程经验。
(3) 异质变换设计:每个时长 regime 学独立 Box–Cox 参数 λg,针对短/中/长播放的不同残差分布分别拉正态。
(4) 多任务辅助信号融合:把 engagement 头的 logit 与 tower 表示引入去偏,复用既有多任务结构而非额外造特征。
(5) 理论刻画:附录证明 bias factor 的长尾继承性与分组降风险,是该工作区别于纯经验去偏的亮点。
4. 实验结果分析
离线(Table 1)。 跨 7 个 backbone(VR/WLR/TPM/D2Q/CREAD/D2CO/EGMN)× 2 数据集(KuaiRec/WeChat21)一致提升。KuaiRec 上 WLR:MAE 4.414→4.172、XAUC 0.5941→0.6227;D2CO:MAE 4.613→4.168、XAUC 0.5687→0.6233(提升幅度最大的一档)。WeChat21 上 VR:MAE 18.681→17.912、XAUC 0.6766→0.6902。平均「reduces MAE by 4.33% and improves XAUC by 4.01%」覆盖所有 backbone-数据集组合,说明它是 backbone 无关的通用增益层。
线上 A/B(Table 2,快手 Kwai 平台)。 App 总时长 +0.356%、单设备人均时长 +0.347%、单设备播放数 +0.120%、7 日留存 +0.054%、完播率 +0.215%、有效播放率 +0.312%、长播率 +0.351%、短播率 −0.273%,全部 p<0.05;生产离线 WUAUC +1.88pp、MAE 降 12.57%。短播率下降 + 长播率上升的方向,正好印证它纠正了「高估短播、低估长播」的伪平衡。
消融(Table 3, WLR)。 移除分布模块(w/o Dist.)KuaiRec MAE 4.1723→4.1901 退化最大;移除辅助模块(w/o Aux.)对 XAUC 冲击最大(WeChat21 XAUC 0.6934→0.6920)。分桶分析(RQ4)最有说服力:分时长桶 MAE 降幅 [0,20)s 5.5%、[20,40)s 7.0%、中长桶 >15%、[180,200) 峰值 23.8%、[200,+) 18.2%;尾部切片 Tail-10% MAE 降 10.43%、XAUC 升 7.98%——证明收益主要来自长尾/长播放区间,恰是伪平衡受害最重的地方。桶数 K 在 2~8 范围稳定。证据质量很高(多 backbone、多数据集、线上多指标显著、细粒度偏差分析)。
5. 局限与未来方向
作者未显式设置 limitations 章节(这是该论文的一个不足)。从方法可推出的隐含约束:(1) 依赖推理期可观测的 duration 作为 debias factor,若 duration 不可得则路由失效;(2) 冻结一阶段预测器假设,无法与主预测器联合自适应;(3) 分组变换需每组足够样本,长尾极稀疏分组的 λg 估计可能不稳;(4) 依赖多任务 engagement 头的 logits/表示作为辅助信号,单任务时长模型无法直接套用。这些边界在迁移到社区 dwell-time 场景时需逐一核对,尤其辅助信号依赖会限制无多任务结构系统的复用。
6. 工业实践意义
对社区搜索/推荐团队,DADF 的最大价值是几乎零侵入的纠偏旁路。应采纳:「整体校准但分区间互相抵消」是 dwell-time/转化时长排序的通病,先用 DADF 的分桶残差诊断(按目标值分桶看 y/ŷ 是否系统性偏移)做体检,再决定是否上二阶段乘性校正——这套诊断方法本身就值得纳入排序模型上线 checklist。应尝试:在已上线时长/停留预测器之上挂二阶段乘性校正(不动主模型),按目标值分 3~4 桶 + 分组 Box–Cox,线上以旁路插件灰度,风险远低于重训第一阶段预测器;快手线上 7 日留存 +0.054%、长播率 +0.351% 且全显著,收益方向明确。应警惕:辅助模块强依赖多任务 engagement 头,单塔系统需先补多任务结构或裁剪该模块(消融显示去掉 Aux. 主要损 XAUC、MAE 影响小,可接受降级);分组需足量样本,极稀疏长尾桶要合并;线上分桶建议用「historical traffic statistics and production experience」定固定边界而非等频,避免线上线下桶不一致。部署上仅需 ranking 特征 x、duration d、原始时长输出 ℓ₀、辅助表示 ha,无显式额外延迟,属轻量级改造。