推荐系统新范式:从物品ID到样本Token的建模演进与工程实践

发布时间:2026/8/10 23:05:32
推荐系统新范式:从物品ID到样本Token的建模演进与工程实践 1. 从“物品”到“样本”推荐系统建模范式的演进最近在翻看推荐系统顶会的论文发现一个挺有意思的趋势大家不再满足于把用户和物品当成两个独立的“点”来建模了。传统的协同过滤或者基于ID的深度模型本质上还是在处理“用户ID”和“物品ID”这两个级别的实体。但现实世界里的用户行为远比一个简单的“点击”或“购买”动作要复杂得多。同一个用户在不同时间、不同上下文比如早上通勤和晚上睡前点开同一个商品背后的意图可能天差地别。如果我们把这些千差万别的交互行为都压缩成“用户A-物品B”这样一个单一的、扁平的信号无疑会丢失大量宝贵的信息。这就引出了今天想聊的这篇论文《Sample Is Feature: Beyond Item-Level, Toward Sample-Level Tokens for Unified Large Recommender Models》的核心思想。它提出了一个大胆的视角将每一次具体的用户-物品交互样本Sample直接作为模型的基本建模单元Token。换句话说模型输入的不再是孤立的用户ID和物品ID而是由一个个具体的交互样本例如用户U在时间T、上下文C下对物品I的点击行为构成的序列。这个思路乍一听有点反直觉——样本数量爆炸式增长模型怎么处理但仔细想想这恰恰是朝着更精细、更个性化推荐迈出的关键一步。它试图将推荐问题从一个静态的“匹配”问题转变为一个动态的“序列理解与生成”问题。这篇笔记我就结合自己的理解拆解一下这个“样本即特征”Sample Is Feature, SIF的范式到底在说什么它背后的动机是什么技术上是如何实现的以及它可能给推荐系统带来的深远影响。对于正在构建或优化大规模推荐系统的同学来说理解这个方向或许能帮你打开新的思路。2. SIF核心思想为何要将“样本”提升为“Token”要理解SIF我们得先看看现有主流范式的局限性。目前工业界的大规模推荐模型无论是双塔、YouTube DNN还是更复杂的序列模型如GRU4Rec、SASRec其基本输入单元大多是“物品ID”Item ID。用户侧则可能用用户ID、画像特征、历史行为序列物品ID序列来表示。这种范式有几个根深蒂固的问题2.1 信息损失与表征瓶颈当我们用一个固定的Embedding向量来表示一个物品时无论这个物品被谁、在什么场景下消费它的向量表示都是一样的。这显然不合理。一部电影《星际穿越》被一个科幻迷在周末晚上观看和被一位父亲带着孩子在工作日观看其“意义”和对用户偏好的表征作用完全不同。现有的物品级Tokenization将物品ID转化为向量过程丢失了这些丰富的上下文信息。模型只能从海量的用户-物品交互数据中艰难地学习一个“平均意义上”的物品表征这形成了一个表征能力的瓶颈。2.2 动态性与上下文感知的缺失用户的兴趣是动态演化的物品的“热度”或“含义”也会随时间、流行趋势而变化。一个静态的物品ID Embedding很难捕捉这种动态性。虽然我们可以引入时间戳、场景特征作为额外的输入特征但这些特征通常是与用户/物品特征拼接Concatenate或交叉Cross在一起模型需要自己去学习它们与核心ID特征的复杂交互关系学习效率不高且容易受到噪声干扰。2.3 多任务与统一建模的障碍现代推荐系统往往需要同时优化多个目标点击率CTR、转化率CVR、观看时长、点赞、评论等。不同的任务对同一个交互样本的关注点不同。例如CTR任务更关注用户是否被吸引而CVR任务更关注用户的深层购买意图。使用物品级Token模型需要在同一个物品表征上“附着”多种不同的语义这增加了模型的学习难度也使得构建一个统一的、能处理多任务的“大推荐模型”变得复杂。SIF范式正是针对这些问题提出的。它的核心论点可以概括为一次完整的用户-物品交互即一个样本本身就是一个携带了丰富语义信息的最小不可分割单元理应作为模型的一等公民First-class Citizen来对待。将一个样本直接Token化意味着这个Token的向量表示天然地融合了用户、物品、时间、上下文等多方面的信息。模型直接在这些“富信息”Token组成的序列上进行操作其起点就比从“贫信息”的ID Token开始要高。注意这里的“样本”指的是经过预处理后的一个数据实例通常包含用户ID、物品ID、以及一系列上下文特征时间、地点、设备、网络环境等和反馈信号点击、购买等。SIF主张将这个完整的数据实例通过一个编码器Tokenizer映射为一个稠密的向量即Sample-Level Token。3. 实现路径如何构建Sample-Level Tokenizer提出思想是一回事工程落地是另一回事。将海量的原始交互样本转化为可被Transformer等序列模型高效处理的Token是SIF范式的技术核心。论文中提出或暗示了几种可能的实现路径结合我自己的经验可以归纳为以下三类3.1 基于编码器的Tokenization这是最直接的方法。我们可以设计一个轻量级的编码网络例如一个多层感知机MLP或一个小型Transformer其输入是样本的所有原始特征用户ID、物品ID的Embedding以及连续/离散上下文特征的编码输出是一个固定维度的向量这就是该样本的Token。样本原始特征 - 特征编码层 - 融合网络MLP/Transformer - 样本Token向量这种方法的优点是灵活可以任意设计编码网络的结构来捕捉特征间的复杂交互。缺点是引入了额外的模型参数和计算开销并且这个编码器本身也需要训练。3.2 基于哈希或量化的Tokenization为了追求极致的效率可以考虑使用局部敏感哈希LSH或向量量化VQ等技术。基本思路是先有一个预定义或学习得到的“样本语义码本”Codebook里面包含K个原型向量Prototype Vector。对于一个新的样本我们用一种快速的方法如计算与码本向量的相似度将其映射到最接近的那个原型向量或者用原型向量的组合来表示。这个原型向量的索引或组合权重就可以视为一个“离散化”的样本Token。这种方法的好处是Token空间是离散且有限的K个便于建立高效的检索和索引机制推理速度可能更快。但缺点是可能会引入量化误差损失一些细微的语义信息。3.3 混合式TokenizationID为锚点上下文为修饰这是一种折中且可能更实用的方案。我们仍然保留物品ID作为核心锚点Anchor但不再是简单的ID Embedding而是将物品ID与本次交互的上下文特征进行深度融合生成一个“情境化”的物品表征Contextualized Item Representation。情境化物品Token f(物品ID Embedding, 时间特征, 场景特征, 用户短期上下文...)这里的融合函数f可以是一个简单的拼接后过MLP也可以是一个注意力机制例如让上下文特征去调制/调制物品ID的Embedding。这样同一个物品在不同的样本中会产生不同的Token但这些Token又共享同一个物品ID的语义基础便于模型捕捉共性和差异。在实际系统设计中选择哪种路径需要权衡效果、效率和工程复杂度。对于超大规模系统混合式Tokenization可能是一个不错的起点因为它与现有基于物品ID的架构兼容性更好可以平滑演进。4. 模型架构革新Transformer如何消化Sample-Level序列一旦我们将训练数据转化为Sample-Level Tokens的序列接下来的问题就是用什么模型来建模这些序列论文的标题提到了“Unified Large Recommender Models”显然Transformer架构是当前的首选因为它在大规模序列建模上的能力已被充分证明。但直接将NLP领域的Transformer搬过来用会遇到几个特有的挑战4.1 序列的构建与排序在NLP中词的顺序是天然存在的。在推荐中样本序列的顺序需要精心定义。最自然的是按时间排序形成用户的行为时序序列。但仅此还不够我们可能还需要考虑会话Session划分用户行为通常呈会话状分布。是构建跨越多个会话的长序列还是以会话为单位构建短序列样本类型混合序列中可能包含点击、购买、点赞等多种类型的样本。它们的Token是否应该在同一空间还是为不同类型设立不同的Token子空间负样本插入在训练时如何将未观察到的负样本曝光未点击作为Token插入序列这是一个非常关键的问题因为推荐本质上是学习用户对正负样本的偏好差异。论文中提到“Unified”暗示模型需要有能力处理这种异质性的、混合了正负反馈的样本序列。一种可能的做法是为所有样本类型学习一个统一的Tokenizer但在Token中保留一个“反馈类型”的标志位让模型在注意力机制中去区分。4.2 超长序列与计算效率用户的行为序列可能非常长尤其是活跃用户。Transformer的自注意力机制计算复杂度是序列长度的平方O(n²)直接处理万级甚至十万级长度的序列是不现实的。因此必须引入高效的注意力变体例如局部窗口注意力只让每个Token关注其前后一定窗口内的Token适用于序列具有强局部相关性的场景如会话内行为。稀疏注意力/线性注意力如Longformer、Linformer等通过设计特定的注意力模式或低秩近似将复杂度降低到线性或亚线性。层次化建模先在小片段如会话内进行细粒度建模再对片段的摘要进行长程建模。4.3 训练目标与任务适配有了样本序列训练目标也需要重新思考。传统的基于物品ID的模型常用的是下一项预测Next Item Prediction。在SIF范式下我们可以有更丰富的目标下一样本预测预测下一个出现的样本Token包含物品和上下文。这要求模型能同时预测“用户接下来会对什么物品感兴趣”以及“在何种情境下”。样本填充Masked Sample Modeling类似BERT的掩码语言模型随机掩码序列中的一些样本Token让模型根据上下文将其还原。这能迫使模型深入理解样本间的语义关联。多任务学习在同一个序列上同时预测多个目标如CTR、CVR、停留时长等。由于每个样本Token本身就包含了丰富的上下文模型可以更容易地为不同任务学习到差异化的表征。模型架构的设计必须与训练目标紧密耦合。一个统一的、基于Transformer的大推荐模型其输入是Sample-Level Token序列通过多层Transformer块进行编码最终输出可以用于各种下游预测任务。这很像NLP中的预训练-微调范式只不过我们“预训练”的是对用户行为模式的理解。5. 系统工程挑战从理论到实践的鸿沟读论文时觉得思路清晰但一旦想到要在一个日活数亿、每秒处理数十万请求的在线推荐系统中落地SIF头皮就开始发麻。以下几个工程挑战是绕不开的5.1 样本Token的实时生成与存储在线服务时对于每一个新的用户请求我们需要实时地为其历史行为序列中的每一个样本生成Token。如果Tokenization过程涉及复杂的神经网络计算如3.1所述这将带来巨大的计算延迟和资源消耗。可能的解决方案包括离线预计算与缓存对于历史行为可以提前批量生成Token并存入高速缓存如Redis。但用户最新的少数行为仍需实时计算。极度轻量化的Tokenizer设计计算量极小的编码网络甚至使用查找表如果采用量化方法。异步更新采用“近实时”的方式更新用户序列的Token表示允许短暂的延迟。5.2 动态序列的维护与更新用户的序列是不断增长的。在线服务中我们需要维护一个动态的、长度可能受限的用户最新样本Token序列。这涉及到序列截断策略是保留最近的N个样本还是通过某种重要性采样保留最重要的N个如何定义“重要性”Token的“老化”问题很久以前的样本Token其表征是否还有效是否需要引入类似RNN中“遗忘门”的机制或者定期对旧Token进行“刷新”并发与一致性在高并发场景下如何保证用户序列的原子性更新5.3 索引与检索的变革现有的推荐系统召回阶段严重依赖基于物品ID的倒排索引i2i, u2i。当基本单元变成样本Token后传统的索引方式可能不再适用。我们需要建立基于样本Token相似度的检索系统。向量检索Vector Search的引入这几乎是必然的。我们需要像Milvus、Faiss这样的向量数据库来支持“给定当前上下文从海量样本库中检索出最相关的历史样本或候选样本”。混合检索系统在初期可能仍需保留基于物品ID的召回通道作为保底与基于样本Token的向量召回并行再通过排序层融合。索引的更新频率样本Token的语义可能会随着模型更新而漂移对应的向量索引也需要定期重建这带来了额外的运维成本。5.4 冷启动与数据稀疏性SIF范式严重依赖丰富的交互样本来学习有意义的Token表示。对于一个新用户或新物品其对应的样本数量极少Token的质量会很低冷启动问题。如何缓解利用元信息Meta-Information对于新物品可以将其类别、标题、图片等原始特征作为生成初始样本Token的强信号。分层或混合表示对于低频样本可以回退到物品级或类别级的表示对于高频样本则使用精细的样本级表示。数据增强利用相似用户或物品的样本来进行数据增强生成伪样本用于训练。这些工程挑战每一个都足以写一篇长文。SIF范式要想成功必须在模型效果和系统可行性之间找到一个精妙的平衡点。6. 潜在影响与未来展望推荐系统的“GPT时刻”尽管面临诸多挑战但SIF范式所指向的未来图景非常诱人。它可能从以下几个层面深刻改变推荐系统6.1 走向真正的“统一大模型”目前的推荐系统召回、粗排、精排、重排等模块往往是割裂的各有各的模型和特征工程。SIF范式为构建一个“端到端”的统一大模型提供了可能性。我们可以设想一个巨型的Transformer模型它以用户的所有历史样本Token序列为输入直接输出对海量候选样本的偏好分数或者生成下一个最可能的样本。这类似于NLP领域的GPT系列模型实现了从“流水线”到“单一模型”的范式转换。这样的模型理论上拥有更强的泛化能力和信息利用效率。6.2 上下文感知能力的质变由于样本Token内在地包含了上下文信息模型对场景的感知将从“特征拼接后的后处理”变为“建模的基本前提”。模型能更自然地回答“为什么用户在这个时间点想要这个”、“如果换一个场景用户的偏好会如何变化”这类问题。这对于信息流、短视频、本地生活等强上下文依赖的场景价值巨大。6.3 可解释性的新途径传统的基于ID的模型其可解释性往往停留在“因为用户买了A所以推荐相似的B”这种物品协同层面。在SIF范式下我们可以分析注意力权重来理解模型是如何综合多个历史样本每个样本都有具体上下文来做出当前推荐的。例如模型可能显示出“本次推荐主要参考了用户上周末晚上在家的几次浏览样本Token 1, 3, 5而忽略了工作日的点击样本Token 2, 4”。这种基于具体行为实例的解释对产品和运营同学来说可能更直观、更有 actionable 的 insights。6.4 与生成式推荐的结合当前火热的生成式AIAIGC也在渗透推荐领域。SIF范式下的样本Token序列可以视为对用户偏好的一种“行为语言”描述。未来我们或许可以训练一个推荐领域的“行为GPT”它不仅能预测下一个样本还能根据用户指令“帮我找个适合周末家庭聚会的餐厅”或对话历史生成符合要求的样本序列即推荐列表实现更自然、更交互式的推荐体验。当然这条路还很长。SIF范式目前更多是一个学术上的前瞻性思想在工业界的大规模落地还需要在算法创新、系统工程和算力成本上取得突破。但它的提出清晰地指出了当前推荐系统建模的一个根本性局限并为我们突破“物品中心”的思维定式迈向更精细、更动态、更统一的“样本中心”建模提供了一个强有力的理论框架和极具启发性的技术方向。对于一线从业者而言即使暂时无法全盘照搬其思想精髓——更加珍视每一次交互背后的完整上下文信息——也值得我们在设计特征、构建模型时反复思考和借鉴。毕竟推荐系统的终极目标是理解用户那一刻的“情境”与“意图”而不仅仅是他过去喜欢过哪些“物品”。