← 返回论文列表
🔗 LinkedIn · 大规模排序 · KDD 2025

LiGR:用 7 个特征超越数百个特征,LinkedIn 生成式排序的工业实践

From Features to Transformers: Redefining Ranking for Scalable Impact

作者
Fedor Borisyuk, Lars Hertel et al. · LinkedIn
年份
2025
来源
KDD 2025 · arXiv 2502.03417
核心成果
7特征超越数百特征 · DAU +0.27% · Scaling Law 验证
💬
一句话总结
LiGR 将生成式推荐(HSTU 风格)引入 LinkedIn 大规模排序,用 7 个特征 + Gated Transformer + Setwise Attention 超越了需要数百特征的 DLRM 基线,在 Feed 排序上验证了序列长度/层数/嵌入维度同步扩展的 Scaling Law,SID 替代 Post ID 将参数量压缩 4×,并在生产 A/B 测试中实现 DAU +0.27%。
🎯
§1 背景与动机

论文:From Features to Transformers: Redefining Ranking for Scalable Impact

机构:LinkedIn, Mountain View, CA(KDD 2025)

发表:arXiv 2502.03417,KDD 2025

链接:arxiv.org/abs/2502.03417

LinkedIn Feed 排序的三大目标

LiGR 是 LinkedIn 大规模排序框架(LinkedIn Generative Recommender for Ranking),在 Feed 排序和视频检索上全面取代传统 DLRM 方案。其三个突破性目标:

目标 1:大幅简化特征工程

传统 LinkedIn Feed 排序模型需要数百个手工特征(稠密特征、计数特征、交叉特征等),需要大量人工设计和维护。

成果:LiGR 只用 7 个特征即可超越传统方案的全特征性能,其中最重要的单个特征是 Actor ID(帖子作者 ID)。

目标 2:验证 Ranking 的 Scaling Law

语言模型领域已有大量 Scaling Law 研究,但推荐排序系统的 Scaling Law 在工业界鲜有验证。

成果:在序列长度、层数、嵌入维度上验证 Scaling Law——每增加一个数量级的训练 FLOPS,Long Dwell AUC 提升约 0.015。

目标 3:从 Pointwise 到 Setwise 排序

传统 Feed 排序依赖 Pointwise + 规则多样性重排(如:同一 Actor 帖子间必须至少间隔2个位置)。规则统一假设限制了个性化。

成果:Setwise 注意力模型替代多样性规则,A/B 测试显示 DAU +0.27%,Feed 时长 +0.28%。

对比:与 HSTU (Meta) 的差异

LiGR 将 Meta HSTU 方案(Actions Speak Louder Than Words)迁移到 LinkedIn 排序场景,并做出了关键改进:

  • Gated Normalization(门控归一化)替代标准 LayerNorm
  • Setwise 层处理会话内 item 交互
  • Semantic ID(SID)替代 Post ID,参数量从 5.4B→1.3B
  • 实验证明 LiGR 在各规模上均优于 HSTU
Figure 1: LinkedIn Feed 基线模型 Contribution Tower
Figure 1(论文原图):LinkedIn Feed 基线排序模型的 Contribution Tower。传统 DLRM 架构:Actor ID + Hashtag 稀疏特征通过嵌入表映射,与大量稠密特征拼接后经多层 FC 预测各项互动指标。
⚙️
§2 模型架构

2.2 LiGR Transformer 核心设计

Figure 2: LiGR 架构总览
Figure 2(论文原图):LiGR 架构总览。历史注意力(causal)处理长期行为序列,In-Session Setwise 注意力(绿色块)捕获当前会话中候选 item 间的交互,两者输出综合用于多任务预测。

LiGR 是一个全序列 Transformer 架构,采用 HSTU 的动作交错(action interleaving)方案,将用户历史按序排列:

LiGR 输入序列格式

$X_0$(历史 item)
$y_0$(对应动作)
$X_1$(历史 item)
$y_1$(动作)
→ … →
$X_n$(候选 item)

其中每个 token $X_i$ 是多个嵌入特征的拼接(item 特征、作者特征、内容嵌入等),$y_i$ 是多元动作标签(click/like/comment/share)。因果注意力(Causal Attention)防止位置 $i$ 向前看。

💡 举例:动作交错(Action Interleaving)为什么比纯 item 序列更好?

假设用户的历史行为是:看了帖子 A → 点赞,看了帖子 B → 仅查看,看了帖子 C → 评论+分享

纯 item 序列(传统做法):序列 = [A, B, C],动作信息被丢弃。模型无法区分"看了 A 并点赞"与"看了 A 并滑走"——同样是帖子 A 出现在历史里,对下一个推荐的影响其实截然不同。

动作交错(LiGR 做法):序列 = [$X_A$, $y_{\text{点赞}}$, $X_B$, $y_{\text{查看}}$, $X_C$, $y_{\text{评论+分享}}$]。注意力机制可以学到:出现在高参与度动作之后的 item 类型预示着用户兴趣;低参与度动作之后的 item 可能是用户不感兴趣的内容类型。这种动作条件化的兴趣建模是纯 item 序列无法捕获的。

Figure 3: LiGR Transformer 门控归一化架构
Figure 3(论文原图):LiGR 的门控归一化 skip-connection。公式 $h^{j+1} = h^j + F(h^j) \times \sigma(h^j W)$,其中 $\sigma(h^j W)$ 是可学习门控,替代标准 LayerNorm,显著提升了大规模训练稳定性。

门控归一化公式:

$$h^{j+1} = h^j + F(h^j) \times \sigma(h^j W)$$
符号说明
  • $h^j$:第 $j$ 层 Transformer 的隐状态
  • $F(h^j)$:Multi-Head Attention 或 FFN 的输出
  • $\sigma(h^j W)$:门控信号,线性投影 $W$ + Sigmoid,值域 $(0,1)$
  • 整体等价于将残差连接乘以一个自适应的实值门控,类似 Highway Transformer,但门控作用在 $F(h^j)$ 上而非 skip 上

2.3 Setwise 排序层(关键创新)

💡 举例:Gated Normalization 如何解决大规模训练不稳定?

标准 Transformer 的残差连接是 $h^{j+1} = h^j + F(h^j)$,没有任何门控。当模型深度增加(比如 16 层)或序列极长时,不同层的残差贡献可能差别很大,导致梯度爆炸或消失。

LiGR 的修复:$h^{j+1} = h^j + F(h^j) \times \sigma(h^j W)$。门控 $\sigma(h^j W) \in (0,1)$ 根据当前隐状态自适应地缩放残差的贡献。如果某层的 $F(h^j)$ 幅度过大,门控会自动变小以限制其影响——类似于 LSTM 中遗忘门的作用,但作用在 Transformer 的残差路径上。

工程效果:在 16 层 + 2048 步序列的大规模配置下,无门控训练会出现 loss spike;加了门控后训练曲线稳定,这是 LiGR 能 Scale 到大模型的关键之一。

LinkedIn Feed 传统的 Pointwise 排序 + 规则多样性重排存在明显局限:规则是一刀切的,无法个性化。LiGR 增加了 In-Session Setwise Attention:

Setwise 注意力机制

在 LiGR 的历史注意力之外,增加会话内注意力块(如 Figure 2 绿色块):会话内的候选 item 之间互相 attend,模拟用户在当前展示列表中的选择行为。

会话由 session ID 区分,使用 FlexAttention 高效处理变长会话的注意力掩码。

训练损失增强

在原有二元交叉熵之外,增加 Attention Rank Loss(Ai et al. 2018)——对会话内 item 的相对顺序进行优化,鼓励模型在会话级别正确排列 item。

实验结果:In-Session Setwise Attention 使 Long Dwell AUC 额外提升 +0.20%(Contributions AUC 无明显变化)。

2.4 Semantic ID 集成(LiGR + SID)

LiGR 中 SID 的作用是替代或补充 Post ID(数据库分配的帖子 ID),以解决大词汇量 ID 嵌入表的问题。

RQ-VAE 配置:3层 codebook,每层 1,000 个码向量,latent 维度 8,使用 FLOPs Regularizer 保证均匀聚类,使用指数移动平均 + 向量重置防止 codebook 塌陷。

Prefix 编码方案(concat pooling):

  • 1-gram:$c_1$ 直接查嵌入表
  • 2-gram:$(c_1, c_2)$ 拼接后查嵌入表
  • 3-gram:$(c_1, c_2, c_3)$ 哈希到大小 $10^6$ 的嵌入表中
  • 每级 SID 嵌入维度为 32,最终使用 concat pooling(拼接三级 embedding)而非求和
LiGR vs Meta Prefix-Ngram 的关键区别:
  • Meta 使用求和(sum)聚合各前缀嵌入,LiGR 使用拼接(concat)——保留各层嵌入的独立信号
  • Meta 的 codebook 大小 K=2048,LiGR 的 K=1,000(每层)
  • Meta 的 RQ-VAE 在广告内容模型上训练;LiGR 的 RQ-VAE 在帖子内容嵌入上训练
特征组合Long Dwell AUC 变化Contribution AUC 变化
All features (基准)————
只用 SID(去掉所有其他特征)-6.5%-4.6%
去掉 Post ID,加入 SID+0.40%+0.11%
保留 Post ID,额外加入 SID+0.26%+0.22%
💡 举例:为什么 SID 替换 Post ID 能压缩参数量 4 倍还提升 AUC?

LinkedIn 的帖子(Post)数量是数十亿量级。直接为每个 Post ID 维护一个嵌入向量,需要约 5.4B 参数的嵌入表(数十亿 × 嵌入维度)。

SID 如何压缩:3 层 codebook,每层 1,000 个码向量。所有帖子共享同一套 3 × 1,000 = 3,000 个码向量。最终嵌入表参数量约 1.3B(约 75% 压缩),且对新帖子天然泛化(无需新增嵌入行)。

为什么 AUC 还更好?Post ID 是数据库随机分配的,相近的 ID 没有任何语义关联。SID 基于帖子内容嵌入(LiPost 模型)量化生成,相同主题的帖子会聚类到相近的 codebook 前缀(如科技类帖子 → 第1层码字同为 42,商业类帖子 → 第1层码字同为 17)。模型通过 SID 嵌入学到的是"话题级别"的兴趣模式,泛化能力更强。

concat vs sum 的直觉:concat 保留了各层码字的独立信号(第1层 = 粗粒度类别,第3层 = 细粒度子类),sum 会让粗细粒度信息互相叠加干扰。LiGR 实验验证了 concat (+0.40% Long Dwell) 优于 sum。

关键结论:SID 可以完全替代 Post ID,且替代后性能更好(+0.40% Long Dwell)。同时将模型参数量从 5.4B 降至 1.3B(约 75% 压缩)。

🏗️
§3 系统架构与推理优化
Figure 5: LiGR 系统架构
Figure 5(论文原图):LiGR 系统架构。近线存储保存用户历史行为序列和 item 特征,支持长序列(最长 2048 步)的历史注意力计算,GPU 推理时历史编码在候选间摊销(amortized inference)。

推理优化

LiGR 大模型的在线 serving 面临延迟挑战,采用以下四项优化:

  1. Split Scoring(分割打分):仅对 Pointwise 打分后的 top 10 帖子应用 Setwise 注意力,pointwise 和 setwise 的模型权重分开部署
  2. Score Combination(分数叠加):前 10 个帖子的 Setwise 分数叠加到 Pointwise 分数,11 位之后保持 Pointwise 排序
  3. 规则多样性重排下线:Setwise 模型上线后,传统基于规则的多样性重排器被关闭
  4. Unified Inference(统一推理):Pointwise 和 Setwise 模型权重合并,一次推理完成所有打分;所有候选打包为 batch,复用历史编码

最终增量延迟成本:p90 仅 10ms,满足 Feed 排序的严苛延迟要求。

训练优化:使用 Flash Attention + 混合精度(FP16),历史序列最长 2048 步,8×A100 GPU,训练数据 1.1 亿序列(2024年1月至8月)。嵌入表使用列向量分割(column-wise splitting)分布在多个设备,支持 5.4B 参数的稀疏嵌入表。

📊
§4 实验结果

主要排序性能

模型Long Dwell AUCContributions AUC
基线(DLRM,数百特征)0.7550.903
LiGR(7个特征)0.773(+2.4%)0.914(+1.2%)

Scaling Law 实验

Figure 6: Normalized Entropy Scaling
Figure 6:归一化评估熵随 FLOPS 的 Scaling。LiGR(蓝)持续优于 HSTU(橙)。
Figure 7: Long Dwell AUC Scaling
Figure 7:Long Dwell AUC 随 FLOPS 的 Scaling 曲线。LiGR 展现出稳定的幂律增长。
Figure 8: Contributions AUC Scaling
Figure 8:Contributions AUC 随训练 FLOPS 的 Scaling,LiGR 全程优于 HSTU。
LiGR vs HSTU 关键数据:在相同计算量($10^{17}$ FLOPS)下,Long Dwell AUC:LiGR = 76.03,HSTU = 75.87(LiGR 优 +0.16%)。且 LiGR 可以使用 FlashAttention,支持更大规模的模型;HSTU 依赖 SiLU attention,无法使用 FlashAttention。

各维度 Scaling 分析

Figure 12: 序列长度 Scaling
Figure 12:序列长度独立 Scaling 曲线(固定 layers=16, id_emb_dim=64)。序列长度增加是三个维度中唯一在所有指标上均显示一致 Scaling 的维度。

关键发现:

  • 序列长度:独立 Scaling 时,所有指标均一致正向,是三维中最稳定的 Scaling 维度
  • ID 嵌入维度:Long Dwell AUC 正向,但 Contributions AUC 不规律
  • Transformer 层数:Long Dwell AUC 正向,但 Evaluation Loss 无明显规律
  • 结论:要实现全面 Scaling,需要同时扩展所有三个维度,而非单独扩展

特征消融(Feature Ablation)

单特征Long Dwell AUCContribution AUC
Post ID0.7030.857
Original Actor ID0.7310.893
Post Type (Video/Photo/...)0.7060.883
Update Age of Post0.6800.854
Activity ID of Shared Post0.6950.856
Post content embedding (LiPost)0.7030.878
All 7 features0.7670.912
基线(数百特征)0.7550.904

最重要的单特征是 Actor ID(帖子作者 ID)——单凭此一个特征(0.731)已接近基线(0.755),体现了 LinkedIn Feed 中 user-author 关系的核心信号价值。

在线 A/B 测试

Setwise 排序层 A/B 测试(生产环境):
  • DAU(每日活跃用户参与专业内容):+0.27%
  • Feed 时长(Time Spent on Feed):+0.28%
  • 规则多样性重排器下线,模型自动学习多样性

视频检索(LiGR for Retrieval)

在视频检索任务(2周数据),使用 LiGR + LiNR(LinkedIn GPU 检索系统):

实验配置Recall@400相对提升
基线(无 LiGR,cosine)0.0799
共享层 + cosine0.1197+49.81%
共享层 + MLP0.3905+226.23%
+ LiGR(共享层 + MLP)0.3997+2.36%
+ LiGR + Video ID0.4435+10.96%
💡
§5 工程经验(Lessons Learnt)

关于多样性

LinkedIn 多年来使用规则多样性重排(Rule-Based Diversity):同一 Actor 间最少 2 个间隔、Out-of-Network 内容最少 2 个间隔等。

  • 消融实验:去掉所有多样性规则,DAU 下降 -0.18%(规则有价值)
  • 但规则是一刀切方案,限制了个性化
  • Setwise 模型替代后:DAU +0.27%,规则关闭,效果反而更好——模型学到了更个性化的多样性策略

关于 LiGR 开发路径

LiGR 的开发是对 LinkedIn 训练 pipeline 的全面重建(数据格式、特征、训练方式均与 DLRM 根本不同),经历了以下阶段:

  1. 验证 ID 特征的等效性:证明计数特征可以被 ID 嵌入特征模拟
  2. 从重要特征开始构建:从 DLRM 的 top 特征或对应 ID 特征逐个添加,直到新增特征的 AUC 收益很小
  3. 解决冷启动:太少特征时 item 冷启动严重,加入 Actor ID 等特征后冷启动显著改善;增加 user 历史时间窗口减少 member 冷启动
  4. 规模扩展:确保特征充足后,沿序列长度、嵌入维度、层数三个维度同步 Scale Up
Figure 13: LiGR 迭代 AUC 进展
Figure 13:LiGR 各版本迭代的 AUC 进展曲线,展示了从小模型到生产级大模型的完整研发历程。
关于架构选择的关键洞见:

大量架构变体实验(DCNv2、不同注意力激活函数、Position Embedding 方案)的结论是:大多数架构改变对 AUC 影响有限,性能提升的主要驱动力是特征模型规模。这与 LLM 领域的经验一致:数据 + 规模 > 架构细节。

💬
§6 一句话总结与个人理解
LiGR 将生成式推荐(HSTU 风格)引入 LinkedIn 大规模排序,用 7 个特征 + Gated Transformer + Setwise Attention 超越了需要数百特征的 DLRM 基线,在 Feed 排序上验证了序列长度/层数/嵌入维度同步扩展的 Scaling Law,SID 替代 Post ID 将参数量压缩 4×,并在生产 A/B 测试中实现 DAU +0.27%。

核心贡献总结

✅ 主要亮点

  • 门控 skip-connection:解决大规模 Transformer 训练稳定性问题
  • Setwise Attention:替代规则多样性,学到更好的会话多样性
  • SID + concat pooling:替代 Post ID,参数量 5.4B→1.3B,AUC 提升
  • 工程细节翔实:FlexAttention、分拆 Scoring、摊销历史推理等
  • 特征消融结论实用:Actor ID 是最核心特征

⚠️ 局限与注意

  • SID 仅替换 Post ID(内容稀疏特征),未涵盖 User ID 侧
  • 序列长度 Scaling 最稳定,但计算成本也最高(O(n²) 注意力)
  • 生产 A/B 测试只报告了 Setwise 部分,不清楚完整 LiGR 系统的在线增益
  • LinkedIn Feed 是 professional 内容场景,结论未必完全迁移到娱乐/广告场景
对工业推荐从业者的启示:

LiGR 的工程路径可以作为"如何将生成式推荐从检索迁移到排序"的参考蓝图:(1)先验证 ID 嵌入能覆盖手工特征;(2)从少量核心特征开始,逐步加入直到边际收益小;(3)解决冷启动后再 Scale Up;(4)同步扩展三个维度而非单独扩展。核心技术点:Gated Normalization + Setwise Layer + SID Concat Pooling。