推荐系统大模型脉络梳理
一个“新瓶装旧酒”的故事,如何利用 LLM 的思路来系统性的重构推荐系统?
从 ChatGPT 诞生以来,Facebook、阿里、快手、字节也都在从不同角度研究推荐系统如何跟 LLM 的底层技术相结合,把 rule-based 架构变得更加容易 scale。
序
基本知识:
-
Deep Interest Network for Click-Through Rate Prediction
- 阿里巴巴 2017 年法的,把用户历史统一 pooling 成一个向量,作为用户的兴趣表征和候选 Item 向量做交叉,以此激活出和候选相关的部分兴趣信息;
-
- 阿里巴巴 2020 年提出,随着用户序列变长,统一做 pooling 容易出现信息过度压缩,所以引入了 GSU + ESU 两阶段的策略
- GSU: 粗筛,通过 hard-search 索引规则过滤大部分或 soft-search 简单向量内积过滤;
- ESU:采用 DIN 思想进行细粒度特征交叉;
-
- SIM 有个问题是,GSU 的筛选通常用 hard-search 或 soft-search,和 ESU 的过滤方法不对齐,所以会造成 GSU 把好的 Item 给提前滤掉了;
- 快手 2023 年的 TWIN 提出了,对于 Item 侧静态特征(如 ID、作者等)提前做投影,在线直接走缓存,另外对于用户交互类特征,压缩成标量。把 GSU 和 ESU 的两阶段过滤规则对齐;
- 交互类特征压缩成标量:主要是训一个 weight 矩阵,参与到 CTR 模型一起做联合训练; 训完之后扫一遍 item 单独做缓存;
-
- 在 TWIN 之后,要进一步拉长序列长度,所以对序列再做一次压缩:
- 根据规则把序列划分程多个簇,以簇中心作为表征,然后按 TWIn 的思想做筛选,本质上是一个有损近似;
- 在 TWIN 之后,要进一步拉长序列长度,所以对序列再做一次压缩:
1. 推荐系统进入大模型时代
- 数据层面上基本抛弃了人工特征,只留下时间序列(item,ts,action),采用 casual attention 和 target 候选做 cross attention;
- 模型层面引入 HSTU 结构,相比 LLM 的 Transformer 主要有两个变化(合理性值得怀疑?):
- HSTU,Attention 后引入门控 U,用于 attention 后聚合结果进一步做交叉;(原文是
This design is motivated by the difficulty of approximating dot products with learned MLPs.) - 非线性变换,从 Softmax 改成了 SiLu,和 DIN Pooling 时类似,为了保留用户兴趣表征的强度;
- HSTU,Attention 后引入门控 U,用于 attention 后聚合结果进一步做交叉;(原文是

2. 使用 LLM 来轻量化改造推荐系统
- 字节早期利用大语言模型,轻量化改造推荐系统的思路,从 User 和 Item 两个方向去看,
- Item: 用 LLM 对每个 Item 属性做描述,然后进 LLM 取最后一层的 item embedding(当做是这批描述的表征)
- User: 用户的所有历史行为序列,用文本描述,也喂进 LLM;
- User x Item 交叉有两种方式:
- Early Fusion:在输入侧把 Item concat 到 User 表征后面,然后 cross-attention 算每个 item 和用户历史行为的相似度;
- Late Fusion: 用类似 Item 的方式把用户历史行为做压缩,出一个用户兴趣的 embedding 表征,然后走一个 prediction head,预测用户兴趣和 Item 的相似度;

3. GR 和 DLRM 路线的结合
- 这是阿里在 2025 年提出的,在 GR 和 DLRM 各自发扬光大的背景下,提出了一套两个方案相结合的方法,原因是:
- GR 能做大规模 scale,但是生成的目标(下一个 item)和实际预测目标 CTR 未必完全一致;
- DLRM 里长期积累下来的大量 sparse feature,没有那么容易被 GR 替换;
- GR 依赖的长期历史数据,每次训练/推理的成本都非常高; 所以为了兼顾已有系统,提出三段论:
- 先用 AR 自回归的方式,使用用户序列+当前搜索词数据训练用户兴趣,得到 Embedding 表征(condition by 搜索词)
- 用户 request 发起时,用兴趣表征 x 当前 context(如用户搜索词),得到当前兴趣
- 把 2 的信息放到 DLRM 进行统一的预测和特征交叉

5. 推荐系统去 ID 化的尝试
- 视频表征:
- Token 化,这里叫 Semantic ID,通过多模信息 + 对比学习得到 embedding
- embedding 做 RQ-Kmeans 生成 3 个 semantic ID
- 存下 semantic ID -> video 的映射关系
- 预训练:
- 输入是 sid + 其他交互类特征
- 输出是目标视频的 3 个 sid
- 强化学习
- ECPO: 由用户反馈作为 label,提升正样本概率,打压负样本概率;
- ECPO vs GRPO: 和 GRPO 类似使用的是 Group 内奖励比较,但是 GRPO 只对组内偏差做了 clip(K-L 散度造成的影响没有 clip),发现负样本会造成梯度波动大,影响训练效果;

- V2 最大的改动是 OneRec 的 Encoder-Decoder 模型结构改成了 Decoder-Only 结构,整体的模型结构更统一,共享 K/V 能够复用,Scale 能力更强;
6. LLM 思想解决召回问题
Alibaba 2025.07: RecGPT Technical Report
-
阿里 2025.07 提出的三塔召回,全程主要利用 LLM 强大的表征能力,最后做召回的时候,转成 embedding 做点积
- 用户兴趣:用户属性 + 历史行为,过 LLM 生成兴趣描述
- 商品标签: 根据用户兴趣预测用户需求(对应的就是商品标签)
- 三塔召回:用户兴趣 x 商品标签 x 商品
-
LLM 如何训练?基于 Qwen-14B 微调,用了 DeepSeek-R1 合成,以及真实线上的用户交互数据做训练;
-
最后三塔通过 DNN 和 token embedding 的 weights 做联合训练;

7. LLM-Style Latent Transformers for Temporal Events
- 又是 Meta!在 2026 年发布的 paper 里讲的是如何把用户序列模型的收益,带到低延迟广告排序里。
整体思路是采用两阶段模型:
- Async: 输入是用户长历史,输出是用户兴趣表征 user embedding
- Sync: 输入是最新历史、候选、上下文,输出是 CTR
两个模型结构做了级联,好处是长历史可以复用,低频执行,坏处是两阶段模型不够本质,近期行为无法和历史行为做足够的交叉。
