小红书精读:Dense Feature Representation over Sequence Modeling: A Solution to the KDD Cup 2026 UniRec Challenge

less than 1 minute read

CVR涨点靠dense表示不靠序列建模

各位算法同学们,KDD Cup 2026 UniRec 这道 CVR 赛题里,把 AUC 从 0.813237 拉到 0.828535 的,并不是更精细的序列建模。作者用 leave-one-out 的方式逐个拆模块,看排名分掉多少,结论有点反直觉——真正扛收益的是 dense 特征表示和优化器,序列侧组件几乎没边际贡献。

📄 Dense Feature Representation over Sequence Modeling: A Solution to the KDD Cup 2026 UniRec Challenge

🔧 dense 表示栈:把池化的用户 dense 字段拆成 5 个子组 token,对重尾列(量级能到 1e9)做 log1p,再补上对齐配对投影、item 侧拆分和原始统计通道。

🧩 合并单流序列:所有行为域合成一条按时间排序的流,用递减 top-k 压缩编码(LONGER 思路),再接入 TAPF 的目标条件极性通道,用零初始化极性 bias 加一个 gate 把正负行为分开。

⚙️ 优化器这块:dense 参数用 AMUSE(Muon 家族,正交化更新)配 EMA 选模型;稀疏 embedding 用 Adagrad 加自适应正则,专门压制稀有 ID 的记忆。

📊 15 步单变量链把 test AUC 从 0.813237 提到 0.827816,最终提交 0.828535,排第 10。

📉 拆掉 dense 表示栈掉 0.0095 AUC,拆掉正交化优化器掉 0.0028,两处基本就是全部增益。

✅ 反过来,合并单流 backbone、极性通道、辅助头、per-token FFN 这些序列侧组件,单独拆掉都不到 0.0005,落在 ±0.0004 的种子波动带里。

⚠️ 还有个坑:按 row group 切分的验证集和 leaderboard 共用一个时间窗,validation AUC 比榜上高约 0.014,防记忆和高基数 ID 的改动甚至会反号。

这篇更像一份“哪一步真的有用”的实证报告,不是新结构。做工业 CVR 的话,先动 dense 侧的特征拆分、log1p 和优化器,比堆序列长度划算;同时别信共时间窗的验证集,决策必须看留出榜。序列建模在这个数据规模上,边际收益是真的小。

原文:AlphaXiv

Updated: