小红书精读:Beyond a Scalar: Distributional Serving Interfaces for Watch-Time Prediction

less than 1 minute read

📉推荐模型别只输出一个标量

各位算法同学们,同一条“看了10秒”,放在12秒视频里是快看完,放在60秒视频里只是刚开头,但很多推荐系统下游拿到的仍然只是一个标量。这篇把观看时长预测从“给个点估计”改成可复用的分布接口,正好戳中多任务场景的痛点。

📄 Beyond a Scalar: Distributional Serving Interfaces for Watch-Time Prediction

🔧 把观看行为拆成 early、mid、completion、overplay 四类事件,用观看比例 γ=y/d 生成监督,不需要额外收集新标签。

🧩 训练 provider 估计“事件类型 × 事件时间”的联合分布,用视频时长构造支持约束,过滤不合法组合,再加秒级 restoration loss,保证预测回到秒数仍然准。

⚙️ 推理时冻结 provider,只往下游暴露低维 summary,包含事件概率、相对时长和不确定性;新任务接轻量 readout 就行,不用重训 provider。

📊 在 KuaiRec、KuaiRand-1K、WeChat21 三个数据集上,完整 DSI 的 MAE 都最低,比九个基线里最强结果好 1.9% 到 8.5%。

📈 XAUC 在两个数据集上取得最好结果;比较完整系统时,考虑视频时长的 retrieval 指标也领先。

✅ 固定 readout 做对比,summary 仍保留超出“预测均值 + 视频时长”的任务信息;同一套线性头换到两个新观看时长目标上表现最好,并提升了一个单独记录的 engagement 目标。

🧪 随机初始化 provider 复现不出这个增益,说明收益主要来自学到的分布结构,而不是接口本身。

各位算法同学们要是做短视频排序、多目标或时长预估,这篇可以拿来对照自己的 serving 输出。落地时先看 provider 的分箱和 support mask 是否贴合业务时长分布,再盯 MAE、XAUC 和 duration-aware retrieval;如果基线只是 duration-aware 标量,记得用固定 readout 做同条件比较,不然容易把接口增益和模型容量混在一起。

图 1

图 2

原文:AlphaXiv

Updated: