推荐系统的"蛋糕范式"缺失
2026-6-1
| 2026-6-2
字数 4569阅读时长 12 分钟
type
Post
status
Published
date
Jun 1, 2026
slug
recsys-cake
summary
LeCun 在 2016 年的 NeurIPS 主题演讲上,提了一个被广泛引用的比喻:"如果智能是一块蛋糕,蛋糕主体是无监督学习,糖霜是监督学习,樱桃是强化学习。"刚提出来时备受质疑,因为那几年正是 ImageNet 监督学习的全盛期。十年过去,这个预言被 LLM 一步步兑现。 而推荐系统的 ML,绝大多数算力都压在监督学习上。那这块蛋糕的主体樱桃,在哪里?
tags
推荐
category
推荐系统
icon
password
priority
LeCun 在 2016 年的 NeurIPS 主题演讲上,提了一个被广泛引用的比喻:"如果智能是一块蛋糕,蛋糕主体是无监督学习,糖霜是监督学习,樱桃是强化学习。"刚提出来时备受质疑,因为那几年正是 ImageNet 监督学习的全盛期。十年过去,这个预言被 LLM 一步步兑现。
而推荐系统的 ML,绝大多数算力都压在监督学习上。那这块蛋糕的主体樱桃,在哪里?
notion image
一块只有糖霜的蛋糕
这不只是排序——CTR、CVR、watch_time 固然是监督学习,召回侧也一样:双塔对比学习、乃至如今的生成式召回,产出的主体仍然是监督学习在做。整条 pipeline 的算力几乎都压在监督上,而蛋糕主体(无监督)和樱桃(RL)几乎没动过。
2017 年前,NLP 以监督学习为主。2013 年有了 Word2Vec,这是个微妙的状态。Word2Vec 本身是无监督的(skip-gram / CBOW),但它的产出是 word embedding,而这些 embedding 在那五年里的角色,是给监督模型当输入特征,而不是被当成"无监督底座"来看待。
直到 2018 年,ELMoULMFiTBERT 接连出现,NLP 的算力分配才开始大幅倒向无监督学习。
  • ELMo:在 raw text 上预训练语言模型,然后冻结特征用到下游。本质还是"特征提取器",下游模型主体仍要从零训。
  • ULMFiT:提出了完整的 pretrain 加 fine-tune 全模型范式。这是范式上的关键一步——整个模型一起迁移,不只是 embedding。
  • BERT:把这套范式、Transformer 架构、大规模算力推到极致,直接屠榜 11 个 NLP 任务。真正的标志性事件不是某个技术发明,而是从这一刻起,业界算力投入的重心从下游监督任务,转向了无监督预训练。
到了 GPT-2,这套逻辑被讲到最彻底。论文标题就是《Language Models are Unsupervised Multitask Learners》,核心论证是:任何监督学习目标,都是无监督学习目标的一个子集——只要无监督做得足够好,监督任务自动就被解决了。无监督从"抬高监督学习的起点",变成了"通用任务求解器"本身。
the supervised objective is the same as the unsupervised objective but only evaluated on a subset of the sequence, the global minimum of the unsupervised objective is also the global minimum of the supervised objective.
而对监督学习的诊断,GPT-2 也说得很直接:在单一任务、单一领域数据集上做监督训练,这种做法本身,就是泛化能力差的根本原因。
"Current systems are better characterized as narrow experts rather than competent generalists." "Our suspicion is that the prevalence of single task training on single domain datasets is a major contributor to the lack of generalization observed in current systems."
同一句话,搬到推荐一字不差 • 召回是单任务(retrieval),粗排和精排是单任务(CTR / CVR / watch_time),重排学的是列表组合。 • 每个场景独立训练:短视频归短视频,商品归商品,广告归广告。 • 模型是 narrow experts,一旦离开自己的训练分布就完全失灵。 整个系统的泛化能力差,不是因为模型不够大,而是范式本身就在批量生产 narrow experts。所以后面推荐系统能看到一个明显的趋势:把跨场景的数据合并训练,把多个任务(召回、粗排、精排、重排)合并训练。但核心不在于把监督数据简单聚合,而是同时重组织数据,让它适合做无监督训练——把众多的场景和任务,变成无监督训练的一个子集。
notion image
 
无监督训练的效率更高,首先是样本效率,再者是信息密度
GPT-2 那句话还能再延伸一层:监督训练是在序列的某个片段上算 loss,无监督训练是在整个序列上算 loss。
推荐系统的样本组织,恰恰就是前者。它记录的是某个 user 在某个 item 上的 label,特征包括 ID、统计特征,以及用户历史行为序列。如果存在一条包含了用户全部行为事件的完整序列,那一条监督样本其实只是这条序列的一个片段——更确切地说,是一个快照:记录了那一刻能取到的序列特征,再拼上未来窗口收集到的 label。
问题在于,传统推荐系统在每一个请求上都至少构造一个、甚至多个这样的快照样本。这个习惯成型于推荐系统还处理不了用户行为序列的年代,但今天用户序列已经主导了特征,而且越拉越长。如果序列是 4k 长度,那一个用户产生的快照样本数就不低于 4k——这是 O(N) 的事件量,却撑出了 O(N²) 的存储,实际训练时也带来 O(N²) 的计算。
notion image
 
每个样本提供多少 bit,决定能 scale 多大
更深一层,LeCun 关于"蛋糕"的论断来自信息论:一个范式能 scale 到多大,取决于它每个样本能提供多少 bit 的监督信号
  • 一条排序快照的 CTR 样本,提供的信息上限是 1 bit。
  • 一条召回的双塔对比学习样本,在 1024 采样下,提供的信息上限约 8 bit。
  • 一条生成式样本(3 个 token、8192 词表的 SID),提供的信息约 39 bit;而把整条行为组织成 SID 序列做 NTP,一条样本能拿到上万 bit。
CTR 任务的信息量太小了。哪怕把 CTR 和对比学习的样本排成序列,让计算的 token 量和 label 的 token 量对齐到 1:1,它依然不是一个足够好的 scaling 任务——1k 长度的信息量上限也就 1k bit,它不该是推荐 Foundation Model 的核心任务。
对比学习召回那 8 bit 是有水分的。做过推荐召回的都清楚,负采样里充斥着简单负例,实际信息量远低于 8 bit——这也是双塔召回做到后面必须探索难负例的原因。换个角度想:在一个 1 亿的候选集上做 Softmax,信息量也才 26.57 bit,一个 1k 采样轻轻松松拿到 8 bit,本身就说明它太容易了。双塔召回假设的是采样分布要接近 corpus 上的 uniform 分布,但实际永远做不到;学一个有偏的分布,加上这点信息量,不值得当无监督学习的核心任务。
最优解是把行为组织成 SID 序列、用 NTP 来训,一条样本就能吃进上万 bit。只有这样的任务才有 Scaling Law,才能 Scaling Up 到足够大。所以"蛋糕"不是审美比喻,是信息密度的比例。
notion image
 
这里要顺手澄清一个常见的浅层误解:很多人把 SID 理解成"聚类 + 索引召回",这是错的。SID 是一种编码,而且是推荐在主动模仿 LLM 的分词器(tokenizer)——它要当 NTP 的词表用,不是当检索 trick 用,否则其实是牛刀杀鸡。
一个好编码要同时满足两个互相打架的目标:唯一性(能唯一寻址一个 item,能当离散的 NTP 预测目标)和泛化性(相似 item 共享结构,冷启新 item 也有意义,能在时间上泛化)。两个极端谁都做不全:PID 是绝对唯一、零泛化(原子 ID,item 之间毫无结构,冷启新 item 的新 ID 完全没救);多模态 embedding 是绝对泛化、零唯一(连续向量,两个不同 item 可以几乎重合,而且连续空间没法当离散预测目标)。SID 就是这条"唯一性—泛化性"帕累托前沿上的最优点:离散到能做 NTP 目标、能寻址,又从内容 embedding 继承语义结构、让相似 item 共享前缀。它本质是一种泛化编码。
 
强化学习
今天(大多数)的推荐系统本质是给物品打个分,这么说可能不够准确,还是有重排这个环节,或许是一个启发式的 MMR 算法,或许是 Generator-Evaluator去产生了 list,或许 Generator 已经采样了强化学习方法,但Point-wise 的召回和排序模型一定是牢牢占据了绝大比例的算力。
所以推荐系统本身是不具备推荐一个列表的能力。point-wise 模型给每个 item 单独打分,再取分数最高的若干个拼成一屏。但一屏的价值,从来不是这些单点分数之和。十个 item 摆在一起,有多样性的问题,有互补的问题,也有看多了同类就腻的疲劳问题。这些都是组合效应,单点分数里压根没有。今天只能在排序之后再加一层重排,用打散、去重、品类配额这些启发式规则,把组合效应在模型外面硬凑出来。
更不用说它是一个单步决策系统,也许系统系存在LTV(Long Term Value)建模,同样的逻辑是它只是一个旁路小模型,核心的模型都是label小窗口归因,连一个delayed feedback 问题都要做多窗口归因,仅仅是一个辅助loss,更何况这一类几天级别的延迟归因了。
所以它不具备长期价值的能力。point-wise 模型优化的是眼前这一下:这次点不点,这条看多久。但真正想要的是更长尺度的东西,用户的留存,用户的生命周期价值,用户在几周里愿不愿意一直回来。这些价值是延迟的,而且跨越很多次请求和反馈。最经典的例子,就是一味多推用户的 top1 兴趣。短期看,它能促成更多点击和成交;放到更长的尺度上,用户却会疲劳、会反感,长期留存反而被拖下去。这种跨轨迹的取舍,单请求的模型既看不到、也优化不了。现在只能靠人在模型外面写规则兜底,频控、保量、疲劳度,本质上都是长期价值的粗糙代理。
所以怎么理解推荐系统呢?核心算力是一套打分系统,加上一大堆的业务规则的专家系统。可实际的推荐任务,本身就是一个多步规划的问题。
强化学习的能力就是在处理多步骤规划的(MDP),它也能通过迭代去算出当前动作的长期价值(Q-Function)。RL 的机会,恰恰是把优化目标直接对齐到业务目标本身,比如 LTV,让模型从一开始就在优化你真正想要的东西,而不是先优化一个 point-wise 代理、再用一堆规则去修偏差。
 
notion image
RL自带探索:从弱日志策略里长出新策略。
推荐系统存在exposure bias问题。模型的训练数据,全部来自系统已经曝光过的 item。曝光过的才有用户反馈,没曝光的,你永远不知道用户会不会喜欢。于是模型学到的,只是当前线上策略愿意展示的那部分世界。它照着这个分布预测,预测又决定下一刻展示什么,新的反馈再回流成训练数据。这是一个feedback loop,模型在里面越转越窄,最后只会把用户看过的同类东西反复推出来。你没法从没展示过的数据里学到东西,因为它根本不在训练集里。
exposure bias这个词最早来自 NLP,描述的却是另一回事。seq2seq 用 teacher forcing 训练,模型一直看着 ground-truth 前缀,推理时却要接着自己生成的 token 往下走,错一步就滚进没见过的状态。表面现象和推荐描述的不一样,但本质相同:训练时看到的分布,不等于模型上线后自己造成的分布。说得更抽象,两者都是 policy-induced distribution shift,模型一旦参与决策,就改变了自己未来要面对的数据。NLP 里它自己把上文带偏,推荐里它的展示决定了能收集到什么反馈。
NLP 当时的解法,就是 RL。Sequence Level Training 用逐词交叉熵加 teacher forcing 训出来的模型,只在 ground-truth 前缀上学过,一旦自由生成就露馅。它的做法是用 REINFORCE 直接在模型自己采样的整条序列上,优化序列级的指标。关键就在这:RL 不照着一份固定数据去模仿,而是在模型自己走出来的轨迹上拿反馈来学,训练分布和工作分布于是对齐了。
这条线一直延续到今天。Why Exposure Bias Matters 干脆从模仿学习的视角讲exposure bias :最大似然只在数据分布之内给信号,对分布以外的状态毫无约束,所以模型一旦漂出去,误差就顺着序列一路累积,没有任何力量把它拉回来。这说明 exposure bias 不是某个技巧的小毛病,而是"模仿一份固定数据"本身的结构性缺陷。今天的 RLHF 仍是同一招,在模型自己采样的回复上用 reward 学。Understanding the Effects of RLHF 指出:分布漂移越大,RLHF 的泛化越是甩开 SFT。
同样,推荐的 exposure bias,也可以用 RL 来消除。它主动采样旧策略不会展示的 item,真的推到用户面前,拿回真实反馈,把那条数据 feedback loop 撑开一道口子。这恰好是监督学习永远拿不到的那块数据。模型于是不再困在旧策略的分布里,而是从一个弱的日志策略出发,一步步长出更强的新策略。
 
前提:樱桃要摆在烤好的蛋糕上
用户的真实反馈,本身就是一个 verifiable reward。点没点、看多久、买没买,用户的行为就是 ground truth。这就像 LLM 里 RLVR 用的可验证奖励(数学对不对、代码过不过),只不过推荐里几乎每一次交互都自带这种信号。但这份反馈不是白来的。你得真把 item 展示给用户才拿得到,这是有成本的;而长期价值这种东西,又延迟又稀疏,没法在每一步直接观测。所以能不能建一个可泛化的 reward model,把没直接观测到的状态、把长期价值都估准,就变得格外重要。
推荐 RL 的失败,常常就栽在这里:它拟合到了一个狭窄的分布。不管是策略还是 reward model,脚下只要没有一个见过足够广分布的基座,它就只能在旧策略圈出来的小天地里打转,换个分布就垮,既不鲁棒也不泛化,Reward Hacking 必然出现。RL 在推荐里不乏尝试,却从来没进入主流算力,顶多处理一两个小策略,而不是推荐的主模块,问题都出在这。真正的转机,从来不是换一个更好的 RL 算法,而是给它一个足够强的基座。
翁家翌在一次访谈里回顾过 RL 在 GPT 系列里的演变,正好印证这一点。早期的 RL 是 Atari、MuJoCo 这类窄环境里的学术玩具,难迁移、难规模化。直到 ChatGPT 时代,从 InstructGPT、RLHF 开始,RL 接在 GPT-3 这样的基座之上,才一跃成为对齐和能力提升的核心工具。同样一套 RL,只有放到一个概率分布已经基本拟合好的 foundation model 之上,才真正有了意义。先有一个见过足够广分布的基座,RL 才第一次有了泛化的来源,它只负责调整概率分布,不负责从零学习。
无监督学习先打好一个无偏的概率分布基座,RL 这颗樱桃的点缀才能最终系统化地成功。
 

结尾

我经常去翻 LLM 这条线最早那批人当时是怎么想的,这些人的先知般的理解得到的是必然的结果。我相信未来推荐系统这块"蛋糕"的范式,会被一点点研究透彻、补齐。
我们正走在这条路上,欢迎加入team,一起推进推荐系统的 GPT 时刻。
 
  • 推荐
  • AI周报 2026-W08推荐周报 2026-W18
    Loading...
    目录