在淘宝亿级日活上跑LLM推荐:RecGPT-V3如何把推理算力砍掉52%还涨3.97% GMV
一个工程奇迹
淘宝首页推荐位每天服务亿级用户。过去,这套系统是梯度提升树+双塔召回+排序模型的天下——快、准、便宜,但天花板也明显:只能拟合行为共现,无法真正理解用户意图,过滤气泡和长尾覆盖不足是顽疾。
RecGPT-V2 试着把 LLM 塞进推荐链路,用自然语言推理用户意图。效果有了,但算力账单也来了——每个用户每次请求都要跑一遍完整的 LLM 推理,生产环境根本扛不住。
RecGPT-V3 的技术报告给出了一个新的答案:在 GMV 提升 3.97% 的同时,端到端推理计算量降低 52.4%。这不是在实验室数据集上跑出来的数字,是在淘宝真实流量上 A/B 测试的结果。
怎么做到的?三个核心模块,每个解决一个具体工程瓶颈。
瓶颈一:无状态用户建模的冗余计算
问题
RecGPT-V2 的做法是:每次推理时,把用户过去 N 条行为序列全部喂给 LLM,让它从头理解这个用户。问题是,用户的行为序列大部分是稳定的——你三个月前买的婴儿奶粉、半年前关注的跑步装备,不会因为今天多刷了两条视频就改变。但 RecGPT-V2 每次都要重新编码这整段历史,计算量随序列长度线性增长。
这就像每次见客户都要从头做一遍背景调查——明明上次已经做过了,但档案没存,只能重来。
RecGPT-V3 的解法:Memory Hub
Memory Hub 做的事情很简单:把用户行为序列压缩成结构化记忆单元,只存指针和摘要,不存原始行为。
具体来说,每个用户有一组记忆单元 $\{m_1, m_2, \ldots, m_K\}$,每个单元包含:
- Pattern(模式标识):如"Infant Care"、"Outdoor Running"
- Summary(自然语言摘要):如"Frequent buyer of formula, diapers, and baby clothing for 0–6 months"
- Behavior Index(行为指针):指向原始行为序列中的具体交互,不存原文
增量更新:不是每次都从头压缩
Memory Hub 的关键设计是增量更新。设当前记忆状态为 $\mathcal{M}^{(t)}$,新行为增量为 $\Delta\mathcal{B}^{(t,t+\delta)}$,更新函数 $\mathcal{G}$ 做两件事:
1. 选择性更新:对每个已有记忆单元,检查新行为是否与之相关。相关则更新摘要,不相关则保留不动——"有证据才更新,无证据不打扰" 2. 新模式提取:把没被任何已有单元匹配的新行为,尝试聚合成新的记忆单元
论文给了一个具体例子(Table 2):一个用户的记忆从 $t$ 到 $t+\delta$ 的变化——
- $m_1$ Infant Care:从"0–6个月"更新为"6–12个月,加了幼儿玩具和学步车"(Update)
- $m_2$ Outdoor Running:无新相关行为,保留不动(Retain)
- $m_3$ Home Cooking:从"平价厨房工具"转向"高端厨具和空气炸锅配件"(Update)
- $m_4$ Photography:无新相关行为,保留不动(Retain)
- $m_5$ Pet Parenting:新单元,"宠物食品和美容用品,首次养宠"(New)
效果
Table 8 的数据:
| 系统 | 组件 | 计算成本 |
|---|---|---|
| RecGPT-V2 | 完整序列 | 100% |
| RecGPT-V3 | 每次推理 | 33.43% |
| RecGPT-V3 | 记忆维护 | 10.77% |
| RecGPT-V3 总计 | 44.20% |
人工标注验证了记忆质量(Table 7):2514 个行为模式标注准确率 82.89%,21268 个行为指针准确率 95.27%。指针准确率特别重要——它保证了压缩后的记忆仍然可以追溯到原始行为,不是黑箱。
瓶颈二:标签到物品的信息瓶颈
问题
RecGPT-V2 的输出是自然语言标签——"用户可能喜欢户外运动、跑步装备、马拉松营养品"。这些标签再送去检索系统匹配具体物品。
问题在于:标签是泛化的,物品是具体的。"跑步鞋"这个标签可以匹配到 1000 双不同的跑步鞋,但用户真正想要的可能只是其中 3 双。标签到物品之间有一道信息鸿沟——标签承载的是类别级意图,物品需要的是个体级对齐。
更糟的是,不同用户的"跑步鞋"标签完全相同,但他们的真实偏好可能南辕北辙——一个想要竞速碳板,一个想要缓震慢跑。标签无法区分。
RecGPT-V3 的解法:混合模态基础模型
RecGPT-V3 引入了语义ID(Semantic ID, SID)作为 LLM 的第二种推理模态。SID 是从协同过滤信号中学到的物品标识符——每个物品有一个唯一的 SID,相似物品的 SID 在嵌入空间中接近。
推理时,模型同时输出两种信号:
- 文本标签:承载泛化的类别级意图("Outdoor Running")
- 语义ID:承载具体的协同过滤级意图(指向特定物品簇)
数据验证:广度 vs 精度
Table 12 的对比数据很有说服力:
| 指标 | 文本标签 | SID |
|---|---|---|
| 类别广度(平均覆盖类别数) | 1.40 | 0.84 |
| 跨用户重叠率 | 11.36% | 4.61% |
PCA 可视化(Figure 8)也印证:标签检索的物品在嵌入空间中分散分布,SID 检索的物品形成紧凑簇。
检索互补性
Table 13 的端到端检索效果:
| 配置 | HR@500 | HR@1000 |
|---|---|---|
| 仅标签 | 0.1503 | 0.2044 |
| 仅 SID | 0.1539 | 0.2144 |
| 混合 | 0.1571 | 0.2168 |
通用能力保持
一个关键担忧:在推荐数据上训练 SID 能力,会不会破坏 LLM 的通用语言能力?论文做了消融(Figure 6):
- 加通用数据训练:GSM8K 只降 1.66%(94.31%→92.65%),MMLU 降 2.65%,CMMLU 降 4.49%,IFEval 从 81.52% 降到 75.60%——大部分能力保住了
- 不加通用数据:灾难性崩溃,所有基准断崖式下跌
瓶颈三:显式推理的延迟地狱
问题
RecGPT-V2 用显式 CoT(Chain-of-Thought)推理:先写出完整的推理过程("这个用户最近看了跑步视频,又买了马拉松报名,可能是跑步爱好者,应该推荐..."),再输出推荐结果。
问题是:每个样本要生成约 2840 个推理 token。在自回归解码下,每个 token 都是串行的。亿级日活场景下,这个延迟根本无法接受。
RecGPT-V3 的解法:隐式意图推理
RecGPT-V3 的做法大胆:把 2840 个推理 token 压缩成 10 个隐式 token。
具体流程(§4.1 Reasoning Internalization): 1. 先用显式 CoT 做 SFT,让模型学会推理 2. 用多任务课程,把推理过程"内化"到 10 个可学习的隐式 token 中 3. 这些隐式 token 不对应任何可读文本,但承载了推理结果 4. 如果需要可解释性,可以用一个解码器把隐式 token 解码回可读推理过程——按需可解释
这就像专家的直觉——专家做决策时不需要在脑子里写完整的推理链,几个关键判断就够了。但如果被问到为什么,可以事后还原推理过程。
效果:质量不降,速度暴涨
Table 10 的渐进消融:
| 配置 | HR@30 (Category) | CTR |
|---|---|---|
| Qwen3-14B 基础 | 0.2276 | – |
| + 原生推理 | 0.2347 | – |
| 混合模态基础模型 | 0.3050 | 0.0624 |
| + 显式 CoT (SFT) | 0.3508 | 0.0638 |
| + 隐式推理 | 0.3462 | 0.0649 |
| + RL | 0.3693 | 0.0679 |
- 隐式推理的质量和显式 CoT 几乎持平(0.3462 vs 0.3508),但 token 数从 2840 降到 10
- 加上 RL 后反超显式 CoT(0.3693 vs 0.3508)——RL 从排序反馈中学习,不需要人工标注
- Qwen3-14B 的原生推理几乎没用(0.2347 vs 0.2276)——没有领域训练的推理等于空谈
速度收益
Table 11 的推理效率对比(1000 样本,相同硬件):
| 模式 | 输出长度 | 输入 TPM | 输出 TPM | 总时间 |
|---|---|---|---|---|
| 显式 CoT | 2840 | 166K | 531K | 1020s |
| 隐式推理 | 122 | 498K | 66.7K | 295s(↓71.1%) |
系统级账本
这里有一个精妙的工程账本(§5.4.2 Serving Cost Analysis):
> 使用 SID 和隐式推理让 expert 模型的计算量增加了 15%(上下文变长)。但 Global Planner 的计算量是 expert 的 20 倍。Memory Hub 让 Planner 侧的计算量降了 55.8%。加权后,总体资源节省 52.4%。
这个账本说明一个重要原则:优化要瞄准瓶颈。Expert 模型增加 15% 不重要,因为 Planner 才是大头。Memory Hub 省的是 Planner 的计算,这是杠杆最大的地方。
在线 A/B 测试:真实流量的审判
所有离线指标最终都要在真实流量上验证。Table 6 的 A/B 测试结果(RecGPT-V3 vs RecGPT-V2):
| 场景 | IPV | CTR | PV | DAU | TC | GMV |
|---|---|---|---|---|---|---|
| Item | +3.08% | +0.98% | +2.02% | – | +3.10% | +7.51% |
| Feed | +1.28% | +1.00% | +0.83% | +0.56% | +1.97% | +3.97% |
1. Item 场景 GMV +7.51%——这是最硬的指标。用户不只是多点了几下,是真的多买了,而且买得更贵 2. Feed 场景 DAU +0.56%——用户留存提升了。推荐变好,用户更愿意回来 3. CTR 涨幅不大(+0.98% / +1.00%)——但 IPV 和 GMV 涨幅大,说明推荐的不是更吸引点击的,而是更符合购买意图的 4. Item 场景涨幅普遍大于 Feed——因为 Item 场景更接近交易意图,RecGPT-V3 的意图推理在这里发挥更大价值
在工业级推荐系统里,GMV +3.97% 是非常大的提升。大部分优化能做到 +0.5% 就值得开香槟了。
工程洞察
1. 记忆比序列更高效
Memory Hub 的核心洞察是:用户行为的大部分信息是冗余的。三个月前买的奶粉和昨天买的奶粉,在理解用户偏好时几乎等价。把冗余信息压缩成结构化记忆,只保留指针和摘要,能在不损失信息的前提下大幅降低计算量。
这个思路适用于所有需要长上下文的场景——不只是推荐系统,对话系统、代码助手、文档分析都可以用。把"每次从头看"改成"增量更新记忆",是降低推理成本通用方法。
2. 双模态优于单模态
SID 和文本标签的互补性揭示了一个更广的规律:自然语言擅长泛化,结构化标识擅长精准。只用自然语言会丢失个体级信息,只用结构化标识会丢失语义泛化能力。两者结合比任何单模态都好。
这个思路对 RAG 系统有直接启示——当前 RAG 只用文本检索,如果加上结构化标识(如知识图谱实体 ID、数据库主键),检索精度可以进一步提升。
3. 隐式推理是工程妥协的艺术
隐式推理的本质是:推理过程不需要对用户可见,只需要推理结果。把 2840 token 压缩到 10 token,质量几乎不降——这说明大部分推理 token 是"解释性冗余",不是"计算必需"。
但论文保留了"按需解码回可读推理"的能力——这是聪明的工程妥协。日常推理走隐式(快),需要解释时走解码(准)。可解释性和性能不是非此即彼,可以按需切换。
4. RL 从排序反馈学习
Table 10 最有意思的数据点是:隐式推理 + RL 反超显式 CoT(0.3693 vs 0.3508)。这说明 RL 从排序反馈中学到的东西,比人工设计的 CoT 更有效。
原因可能是:人工 CoT 是给"通用推理"设计的,不是给"推荐推理"设计的。RL 直接优化排序指标,能学到推荐特有的推理模式——哪些信号重要、哪些不重要,由数据说了算。
这个发现对 Agentic RL 有启示:与其人工设计推理链,不如让模型从任务反馈中自己学。
5. 系统级优化要看加权账本
Serving Cost Analysis 那段是全文最精彩的工程账本:expert 增加 15%,planner 省了 55.8%,planner 是 expert 的 20 倍权重,总体省 52.4%。
这个账本方法适用于所有系统优化——不要只看局部指标的涨跌,要看全局加权后的净收益。一个模块增加 15% 计算量不可怕,如果它能让权重更大的模块省 50%+,总体就是赚的。
局限与思考
论文也有几个值得追问的地方:
1. 记忆单元的数量上限。论文没有讨论 K(记忆单元数量)的取值和影响。K 太小会丢失信息,K 太大会增加计算量。K 是固定的还是动态的?不同用户的 K 是否应该不同?这些在论文里没有回答。
2. SID 的冷启动问题。新物品没有协同过滤信号,无法分配 SID。论文没有讨论新物品如何进入这个系统。这在生产环境是个硬问题——电商每天都有大量新品上架。
3. 隐式推理的可解释性边界。"按需解码回可读推理"听起来很好,但解码出来的推理是否忠实于模型的真实决策过程?还是事后合理化?这和机械可解释性中的"faithfulness"问题是同一类挑战。
4. A/B 测试的长期效应。论文报告的是 A/B 测试期间的结果,但推荐系统的长期效应可能不同——用户新鲜感消退后,GMV 提升是否持续?过滤气泡问题是否真的缓解了?需要更长期的数据。
5. 通用能力保持的代价。虽然 GSM8K 只降了 1.66%,但 IFEval 降了 5.92 个百分点(81.52%→75.60%)。指令遵循能力下降对下游任务可能有非线性的影响——5% 的指令遵循下降可能导致某些任务完全失败。这个代价是否可接受,取决于具体应用场景。
更广的启示
RecGPT-V3 的三个核心模块,其实对应了 LLM 应用落地的三个通用瓶颈:
| 瓶颈 | RecGPT-V3 的解法 | 通用启示 |
|---|---|---|
| 长上下文重复计算 | Memory Hub 增量记忆 | 所有需要长上下文的场景都可以用 |
| 自然语言输出信息密度低 | SID 双模态输出 | 结构化标识 + 自然语言 > 纯自然语言 |
| 显式推理延迟高 | 隐式推理 + 按需解码 | 推理过程和推理结果可以分离 |
RecGPT-V3 的真正价值不是推荐系统升级,是 LLM 工程落地的三个通用模式。
---
论文:RecGPT-V3 Technical Report 作者:RecGPT Team 场景:淘宝亿级日活推荐 核心数据:GMV +3.97%(Feed)/ +7.51%(Item),推理计算量 -52.4% 代码:未公开
一句话总结:在工业级推荐系统里落地 LLM,瓶颈不在模型能力,在工程效率。RecGPT-V3 用记忆压缩、双模态输出、隐式推理三招,把 LLM 推理的算力账单砍掉一半,同时还能涨 GMV——这才是 LLM 工程化的正确姿势。
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens