社区推荐重排技术:双阶段框架的实践与演进|得物技术
在推荐系统多阶段Pipeline(召回→粗排→精排→重排)中,重排作为最终决策环节,承担着将精排输出的有限候选集(通常为Top 100–500个Item)转化为最优序列的关键职责。 数学定义为在给定候选集 \(C = \lbrace x_1,x_2,……,x_n \rbrace\)与目标列表长度\(L\) ,重排的目标是寻找一个排列 \(\pi^* \in P(C,L) \),使得全局收益函数最大化。 在推荐系统、搜索排序等AI领域,Pointwise 建模是精排阶段的核心方法,即对每个 Item 独立打分后排序,pointwise 建模范式面临挑战: 我们的重排系统采用G-E两阶段协同框架: 不考虑算力和耗时的情况下,通过穷举所有排列\( P(C,L) \)。 生成阶段主要依赖启发式规则、随机扰动 + beamSearch算法生成候选list,双阶段范式存在显著的痛点: 生成分为启发式方法和生成式模型方法, 一般认为生成式模型方法要好于启发式方法。生成式模型逐渐成为重排主流范式,主要分为两类:自回归生成模型、非自回归生成模型。 优点: a. 序列依赖建模强,天然捕获物品间的顺序依赖。 b. 训练简单稳定,每步使用真实前序作为输入,收敛快。 c. 生成质量高,逐步细化决策,适合长序列精细优化。 缺点: a. 推理延迟高,生成 L 个物品需 L 次前向传播,线上服务难以满足毫秒级要求。 b. 局部最优风险,早期错误决策无法回溯修正,影响整体序列质量。 优点: a. 推理速度极快:生成整个序列仅需1次前向传播。 缺点: b.条件独立性假设过强:各位置并行预测,难以显式建模物品间复杂依赖关系。 为了对齐双阶段一致性,同时考虑线上性能,我们推进了非自回归模型的上线。模型结构如下图: 模型包括Candidates Encoder和Position Encoder,Candidates Encoder是标准的Transformer结构, 用于获取item间的交互信息;Position Encoder额外增加了Cross Attention,期望Position序列同时关注Candidate序列。 模型输出:一次性输出 n×L 的位置-物品得分矩阵(n 为候选 item 数,L 为目标列表长度),支持高效并行推理 $$ $$ 其中,\( p_{ij} \)表示位置i上是否展示物品j,\(y_{i} \)表示位置i上的label。 线上实验及收益: 由于条件独立性假设, 非自回归模型对上下文信息建模是不够的,近期我们重点推进了自回归模型的开发。 模型通过Transformer架构建模list整体收益,我们使用单向transformer模拟用户浏览行为的因果性,同时解决自回归生成的暴露偏差问题,保持训练和推理的一致性。结构如下: $$ 线上模型推理效率优化及实验效果: 自回归生成模型推理延迟高,生成 L 个物品需 L 次前向传播,线上服务难以满足毫秒级要求。因此,我们在传统自回归生成模型的基础上增加MTP(multi token prediction)结构,突破生成式重排模型推理瓶颈。其核心思想是将传统自回归的单步预测扩展为单步多token联合预测,显著减少生成迭代次数。 自回归生成模型在社区推荐已完成了推全,实验中我们新增了自回归生成模型通道,但不是完全体,仅部分位置生成调用了模型: 为解决CPU推理模型延迟高、制约业务效果的问题,我们对DScatter模型服务进行升级,引入高性能GPU推理能力,具体方案如下: 导出为 ONNX 格式,使用 TensorRT 进行量化、层融合、动态张量显存等技术加速推理。 预计算item静态网络,线上直接查询节省计算量。 缓存已生成token的KV和attention值,仅计算增量token相关值,避免重复计算。 当前“生成-评估”双阶段范式虽在工程落地性上取得平衡,但其本质仍是局部优化:生成阶段依赖启发式规则或浅层模型生成候选,评估阶段虽能识别优质序列,却无法反向指导生成过程,导致系统能力存在理论上限。为突破这一瓶颈,我们规划构建端到端序列生成(End-to-End Sequence Generation) 架构,将重排从“候选筛选”升级为“序列创造”,直接以全局业务目标(如用户停留时长、互动深度、内容生态健康度)为优化目标。 核心架构设计: 推进自回归生成模型的架构升级与训练体系重构,引入强化学习微调(PPO/DPO)与对比学习机制,提升序列整体效率。 1.基于 DCG 的列表质量打分: a. 对每个曝光列表L,计算其 DCG@K作为质量分数: $$ 其中 gain(item)可定义为: 若点击:+1.0 若互动(点赞/收藏):+1.5 若观看 >5s:+0.8 否则:0 2.构造偏好对: a.对同一用户在同一上下文下的两个列表\(L_w \)(win)和\(L_l\)(lose)。 b.若 \( DCG(L_w) > DCG(L_l) + \delta \)(δ 为 margin,如 0.1),则构成一个有效偏好对。 1.模型结构: a.使用当前自回归生成模型作为策略模型。 b.固定预训练模型作为参考策略 (即 DPO 中的“旧策略”)。 2.DPO损失: $$ 参考文献: 1.Flink ClickHouse Sink:生产级高可用写入方案|得物技术 2.服务拆分之旅:测试过程全揭秘|得物技术 3.大模型网关:大模型时代的智能交通枢纽|得物技术 4.从“人治”到“机治”:得物离线数仓发布流水线质量门禁实践 5.AI编程实践:从Claude Code实践到团队协作的优化思考|得物技术 关注得物技术,每周一、三更新技术干货 要是觉得文章对你有帮助的话,欢迎评论转发点赞~ 未经得物技术许可严禁转载,否则依法追究法律责任。一、背景
推荐系统典型pipeline

二、重排架构演进:生成式模型实践

生成模型优化
非自回归模型

\hat{p}_{ij} = \frac{\exp(\mathbf{x}_i^\top \mathbf{t}_j)}{\sum_{i=1}^n \exp(\mathbf{x}_i^\top \mathbf{t}_j)}
$$
\mathcal{L}_{\log} = -\sum_{i} \big[ p_{ij}y_i \log(\hat{p_{ij}}) + p_{ij}(1-y_i) \log(1-\hat{p_{ij}}) \big]
$$自回归模型

L_{i,j}(\theta_j) = -\sum_{k=1}^{N} \left([y_k < i]\log(1-p_{i,j}(x_k)) + [y_k \geq i]\log(p_{i,j}(x_k))\right)
$$三、推理性能优化:端到端生成的效率保障
工程架构

模型优化
四、未来规划:迈向端到端序列生成的下一代重排架构
训练范式升级:强化学习与对比学习融合
\text{DCG}(L) = \sum_{j=1}^{K} \frac{\text{gain}(item_j)}{\log_2(j + 1)}
$$
\mathcal{L}_{\text{DPO}}(\theta) = -\mathbb{E}_{(x, y_w, y_l) \sim \mathcal{D}} \left[
\log \sigma \left(
\beta \left(
\log \frac{\pi_\theta(y_w \mid x)}{\pi_{\text{ref}}(y_w \mid x)}
- \log \frac{\pi_\theta(y_l \mid x)}{\pi_{\text{ref}}(y_l \mid x)}
\right)
\right)
\right]
$$往期回顾
文 /张卓