一、OneRec [2025]

《OneRec: Unifying Retrieve and Rank with Generative Recommender and Preference Alignment》

  1. 近年来,基于生成式检索(generative retrieval-based)的推荐系统已成为一种极具前景的范式,它通过自回归的方式(autoregressive manner )直接生成 candidates 视频。然而,大多数现代推荐系统采用 retrieve-and-rank 策略,生成式模型(generative model )仅在检索阶段充当 selector。本文提出 OneRec,用 a unified generative model 替代 cascaded learning framework。据我们所知,这是首个在真实场景中的端到端生成式模型(end-to-end generative model), 该模型显著超越当前复杂的且设计精良的推荐系统。具体而言,OneRec 包含:

    • 1):一个 encoder-decoder 结构,它对用户历史行为序列进行编码,并逐步解码用户可能感兴趣的视频。我们采用 sparse Mixture-of-Experts (MoE) 架构,在不按比例增加计算量(FLOPs )的前提下提升模型容量(model capacity)。

    • 2):一个 session-wise generation 方法。与传统的 next-item prediction 不同,我们提出 session-wise generation。相比 point-by-point generation(其中, point-by-point generation 依赖人工设计规则来组合 generated results ),我们的方法更简洁、且上下文连贯性更强。

    • 3):结合 Direct Preference Optimization (DPO)Iterative Preference Alignment 模块,用于提升 generated results 的质量。与自然语言处理(NLP )中的 DPO 不同,推荐系统通常仅能在每个 user’s browsing request 时只有一次机会来展示结果,无法同时获取正负样本。为解决这一限制,我们设计一个 reward model 来模拟用户反馈,并根据推荐系统 online learning 的特性来定制化采样策略。大量实验表明,少量 DPO 样本即可对齐 user interest preferences ,显著提升 generated results 的质量。

      NLP 任务中,可以让模型同时生成多个结果,然后让人类标注员同时对这多个结果进行打分排序(如,result A > result B > result C )。因此, reward model 能够同时获得正样本和负样本。

      但是在推荐系统中,无法同时给用户展示多组不同的 recommendation list。这会干扰用户体验。因此只能展示一个结果。用户要么对这个结果满意(有正反馈)、要么不满意(没有正反馈)。

    我们已在日活跃用户数亿级的短视频推荐平台 Kuaishou 的核心场景部署 OneRec ,实现了 1.6% 的观看时长(watch-time )的提升,这是一项显著的改进。

  2. 为平衡效率(efficiency)与效果(effectiveness),大多数现代推荐系统采用级联排序策略(cascade ranking strategy )。如 Figure 1(b) 所示,典型的级联排序系统(cascade ranking system)采用三阶段 pipelinerecallpre-ranking、以及 ranking。每个阶段负责从 received items 中筛选出 top-k items,并将结果传递至下一阶段,从而共同平衡 system response timesorting accuracy 之间的权衡。

    尽管在实践中具有效率优势,但现有方法通常将每个 ranker 视为独立的模块,每个孤立阶段的效果构成后续排序阶段的性能上限,从而限制了整个排序系统(overall ranking system)的表现。尽管已有多种尝试通过实现 rankers 之间的交互来提升整体推荐性能,但它们仍维持传统的级联排序范式(cascade ranking paradigm)。近年来,基于生成式检索的推荐系统(generative retrieval-based recommendation systems: GRs )兴起,成为一种极具前景的范式;它通过自回归的序列生成方式(autoregressive sequence generation manner )来直接生成 candidate itemid。通过使用 quantized semantic IDs (该 ID 编码了 item 语义)对 items 进行索引(《Autoregressive image generation using residual quantization》),recommenders 能够利用 items 中丰富的语义信息。GRs 的生成式特性(generative nature )使其适合通过 beam search decoding 直接选择 candidate items,并产生更多样化的推荐结果。然而,当前的 generative models 仅在检索阶段充当 selectors ,其 recommendation accuracy 尚未达到设计精良的 multiple cascade rankers 的水平。

    为解决上述挑战,我们提出一种用于单阶段推荐(single-stage recommendation)的统一端到端生成框架 OneRec

    • 首先,我们设计一个 encoder-decoder 架构。受大型语言模型训练中观察到的 scaling laws 启发,我们发现 scaling 推荐模型的容量同样能持续提升性能。因此,我们基于混合专家(MoE)结构来 scale up 模型参数,显著提升模型对 user interests 的表达能力。

    • 其次,与传统的 point-by-point prediction of the next item 不同,我们提出 session-wise list generation 方法,考虑每个 sessionitems 的相关内容和顺序。point-by-point generation 方法需要人工设计策略以确保 generated results 的连贯性(coherence )和多样性(diversity),而 session-wise learning process 通过馈入偏好数据(preferred data),使模型能够自主学习最优会话结构(optimal session structure)。

    • 最后,我们探索利用 direct preference optimization: DPO《Direct preference optimization: Your language model is secretly a reward model》)进行偏好学习(preference learning),进一步提升 generated results 的质量。在构建 preference pairs 时,我们受 hard negative sampling《On the theories behind hard negative sampling for recommendation》)的启发,从 beam search results 中生成 self-hard rejected samples ,而非 random sampling。我们提出 Iterative Preference Alignment: IPA 策略,根据 pre-trained reward model 提供的 scores ,从而对 sampled responses 进行排序,识别 best-chosen samplesworst-rejected samples

    我们在大规模工业数据集上的实验证明了所提方法的优越性,并通过一系列消融实验详细验证了每个模块的有效性。本文的主要贡献总结如下:

    • 为克服 cascade ranking 的局限性,我们提出 single-stage generative recommendation 框架 OneRec。据我们所知,这是首个能够通过 unified generation model 处理 item recommendations 的工业解决方案之一,显著超越传统的 multi-stage ranking pipeline

    • 我们强调模型容量、以及通过 session-wise generation 方式捕获 target items 的上下文信息的必要性,这使得 predictions 更准确,并提升 generated items 的多样性。

    • 我们提出一种基于 personalized reward model 的新型 self-hard negative samples selection 策略。通过 direct preference optimization,增强 OneRec 在更广泛 user preference 上的泛化能力。大量离线实验和 online A/B testing 验证了其有效性和效率。

    由于模型无法输出具体的 predicted ctr/cvr 值,因此,模型无法应用于广告系统。因为广告系统需要计算 eCPMeGMV。其中:eCPM = bid x pCtreGMV = bid x pCtr x pCvr

1.1 相关工作

  1. Generative Recommendation:近年来,随着生成式模型(generative models)的显著发展,生成式推荐(generative recommendation)受到越来越多的关注。传统的 embedding-based 的检索方法,主要依赖双塔模型(two-tower model)计算每个 candidate itemranking score,并利用高效的最大内积搜索(MIPS )或近似最近邻(ANN )等 search system 来检索 top-k relevant items 。与传统的 embedding-based 的检索方法不同,生成式检索(Generative Retrieval: GR )(《Recent advances in generative information retrieval》)方法把从数据库中检索 relevant documents 的问题表述为序列生成任务(sequence generation task),这通过逐次生成 relevant document tokens 来实现。document tokens 可以是 document titlesdocument IDspre-trained semantic IDs《Transformer memory as a differentiable search index》)。

    • GENRE《Autoregressive entity retrieval》)首次采用 Transformer 架构进行 entity retrieval ,基于 conditioned context 以自回归方式(autoregressive fashion )生成 entity names

    • DSI《Transformer memory as a differentiable search index》)首次提出为 documents 分配 structured semantic IDs 的概念,并训练 encoder-decoder models 用于 generative document retrieval

    • 遵循这一范式, TIGER《Recommender systems with generative retrieval》)提出 generative item retrieval models 框架从而用于推荐系统。

    generation 框架外,itemsindex 方式也受到越来越多的关注。近期研究聚焦于 semantic indexing 技术,旨在基于内容信息对 items 进行 index。具体而言:

    • TIGER《Recommender systems with generative retrieval》)和 LC-Rec《Adapting large language models by integrating collaborative semantics for recommendation》)将 residual quantizationRQ-VAE )应用于 textual embeddings (这些 textual embeddingsitem titles and descriptions 提取而来),以实现 tokenization

    • Recforest《Recommender forest for efficient retrieval》)对 item textual embeddings 进行 hierarchical k-means clustering ,将 cluster indexes 作为 tokens

    • 此外,EAGER《EAGER: Two-Stream Generative Recommender with Behavior-Semantic Collaboration》)等近期研究探索将语义信息(semantic information )和协同信息(collaborative information )整合到 tokenization 过程中。

  2. Preference Alignment of Language Models:在大型语言模型(Large Language Models: LLMs)的 post-training 阶段,基于人类反馈的强化学习(Reinforcement Learning from Human Feedback: RLHF)是一种主流方法;RLHF 通过由reward modelsreward model 代表人类反馈)引导的强化学习技术,使 LLMs 与人类价值观(human values)对齐。

    然而,RLHF 存在不稳定性和低效性问题。Direct Preference Optimization: DPO《Direct preference optimization: Your language model is secretly a reward model》)应运而生,它以闭式形式(closed form )推导最优策略,并支持利用preference data 直接优化。此外,已有多种变体被提出以进一步改进原始 DPO 。例如:

    • IPO《A general theoretical paradigm to understand learning from human preferences》)通过一个 general objective 规避了 DPO 中的两个 approximations

    • cDPO《Direct preference optimization: Your language model is secretly a reward model》)通过引入超参数 ϵ 减轻 noisy labels 的影响。

    • rDPO《Provably Robust DPO: Aligning Language Models with Noisy Feedback》)设计了 original Binary Cross Entropy loss 的无偏估计。

    • 其他变体如 CPO《Contrastive preference optimization: Pushing the boundaries of llm performance in machine translation》)、simDPO《Provably Robust DPO: Aligning Language Models with Noisy Feedback》)也在不同方面对 DPO 进行了增强或扩展。

    然而,与传统 NLP 场景不同(在 NLP 场景中,preference data 通过人工来显式地标注),推荐系统中的 preference learning 面临独特挑战,即 user-item interaction 数据的稀疏性。这一挑战导致 DPO 在推荐系统中的应用尚未得到充分探索。与 S-DPO (侧重于整合 user preference data 中的多个负样本从而用于 LM-based recommenders )不同,我们训练 reward model ,并基于 reward model 的分数为不同用户选择 personalized preference data

1.2 方法

  1. 本节详细介绍 OneRec ,一种通过 single-stage retrieval manner 来生成 target items 的端到端框架。

    • 首先,我们介绍 industrial applicationssingle-stage generative recommendation pipelinefeature engineering

    • 然后,我们正式定义 session-wise generative tasks,并展示所提出的 OneRec 模型的架构。

    • 最后,我们详细阐述模型结合 personalized reward model 进行 self-hard negative sampling 的能力,并说明如何通过 direct preference optimization 来迭代地提升模型性能。

    OneRec 的整体框架如 Figure 2 所示。

1.2.1 预备知识

  1. 本节从 feature engineering 角度介绍 single-stage generative recommendation pipeline 的构建。对于用户侧特征,OneRec 以用户的 positive historical behavior sequences Hu={v1h,v2h,,vnh} 作为输入,其中 v 代表用户有效观看或互动(点赞 likes 、关注 follows 、分享 shares)过的视频,n 为行为序列长度。OneRec 的输出是 a list of videos,由一个 session S={v1,v2,,vm} 组成,其中 msession 中的视频数量( "session" 的详细定义见下一章节)。

  2. 对于每个视频 vi ,我们使用 multi-modal embeddings eiRd 对其进行描述,这些 embeddingsreal user-item behaviour distribution 对齐(《QARM: Quantitative Alignment Multi-Modal Recommendation at Kuaishou》)。

    multi-modal embeddings ei 是如何得到的?根据论文 QARM,它是文本 pre-trained embedding、音频 pre-trained embedding、以及视频 pre-trained embedding 的拼接。

    基于 pretrain multi-modal representation ,现有的生成式推荐框架(《MMGRec: Multimodal Generative Recommendation with Transformer Model》《Recommender systems with generative retrieval》)使用 RQ-VAE《Soundstream: An end-to-end neural audio codec》)将 embedding 编码为 semantic tokens

    RQ-VAE 的编码思想与本论文的 multi-level balanced quantitative mechanism 基本上相同,区别在于 codebook 构建上不同。对于 RQ-VAE

    si1=argminkri1ck122,ri2=ri1csi11si2=argminkri2ck222,ri3=ri2csi22siL=argminkriLckL22

    解码器通过将所有 codebook tokens 对应的向量相加即可重建原始向量:

    e^i=csi11+csi22++csiLL

    codebook 是通过训练来学习到的。RQ-VAE 的训练数据集为:{ei} 。对于样本 ei,学习目标为最小化 L

    Lrecon=e^iei22Lcodebook=l=1Lsg(ril)csill22Lcommit=l=1Lrilsg(csill)22L=Lrecon+αLcodebook+βLcommit

    其中:

    • Lreconreconstruction loss

    • Lcodebookcodebook loss。其中 sg() 表示 stop-gradient 操作,表示 ril 的梯度禁止回传;这使得这个 loss 仅仅更新 csill ,让 csill 尽可能靠近残差 ril

    • Lcommitcommit loss。这里 csill 的梯度禁止回传,使得这个 loss 仅仅更新残差 ril ,让残差 ril 尽可能靠近 csill

    • α,β 为超参数。

    但是这里有个问题:sil=argmink() ,这个 argmin 函数是不可微的,这使得反向传播中出现梯度中断。为此,RQ-VAE 中采用了直通估计器(Straight-Through Estimator: STE)来解决这种离散操作不可微的问题。STE 的核心思想是:

    • 前向传播:通过 argmin 函数(不可微的)选出 sil

    • 反向传播:用一个可微的函数(这里是恒等映射 y=x )来近似这个不可微的操作。在 RQ-VAE 中,反向传播期间,梯度流向了 ckl ,其中 k=sil

    沙漏现象指的是:在 RQ-VAE 中,中间 leveltokens 的分布变得非常不均匀:某些 tokens 被频繁使用、某些 tokens 被很少使用。这会导致如下问题:

    • 表达效率低下:如果某些 tokens 被很少使用,那么它们对应的 codebook 向量就得不到充分的训练,浪费了模型容量。

    • 模型性能下降:模型在预测这些低频 tokens 时会遇到困难。

    沙漏现象的原因:

    • 数据分布的特性:在推荐系统中,视频的 embeddings 分布并非均匀的。它们往往形成一些大而宽的聚类(如,“娱乐”、“体育”)、以及小而密的聚类(如,特定的游戏)。

    • first-level 量化:first-level codebook 负责捕获最宏观的语义信息。由于聚类数量少(宏观类别少),first-level codebook 能够被相对均匀地使用。

    • middle-level 的困境:经过 first-level 量化之后,残差数据的分布变得非常复杂和分散。它需要捕获每个宏观类别内部的大量细分信息。然后,middle-level codebook 的容量 K 是固定的。它难以同时很好地覆盖到所有宏观类别内部的细分结构。

      导致的结果是:middle-level codebook 只有少数几个热门的 code vector 被频繁地用于补偿各种宏观类别下常见的残差,而大部分 code vector 很少被使用到。这造成了 middle-level codebook 的利用率极低。

    • tail-level 量化:到了最后一个 level,任务变得相对单纯:它只需要修复前面 levels 量化后剩余的、非常细微的残差。这些细微的残差的分布相对均匀,因为 tail-level codebook 又能够被均匀地使用。

    然而,这种方法存在不足,由于 code distribution 不平衡,会出现 “沙漏现象” (hourglass phenomenon)(《Breaking the Hourglass Phenomenon of Residual Quantization: Enhancing the Upper Bound of Generative Retrieval》)。我们应用多级平衡量化机制(multi-level balanced quantitative mechanism),通过 residual K-Means quantization algorithm《QARM: Quantitative Alignment Multi-Modal Recommendation at Kuaishou》)对 ei 进行变换。

    • first levell=1),初始残差(initial residual )定义为 ri1=ei

    • 在每个 level 中,我们有一个 codebook Cl={c1l,,cKl},其中 Kcodebook 大小。通过计算:

      sil=argminkrilckl22

      生成最接近 centroid node embedding 的索引 sil 。然后 next level l+1 的残差定义为:

      ril+1=rilcsill

    因此,相应的 codebook tokens 通过 hierarchical indexing 来生成:

    si1=argminkri1ck122,ri2=ri1csi11si2=argminkri2ck222,ri3=ri2csi22siL=argminkriLckL22

    其中:Lsematic IDtotal layers

  3. 为构建 balanced codebook Cl={c1l,,cKl},我们应用 Algorithm 1 中详细描述的 Balanced K-means 进行 itemset partitioning 。给定 total video set V,该算法将集合划分为 Kclusters ,每个 cluster 恰好包含 w=|V|/K个视频。在迭代计算过程中,每个质心(centroid )基于欧氏距离(Euclidean distance )依次分配其最近的 w 个未分配视频,随后使用所分配视频的 mean vectors 重新校准质心。当 cluster assignments 达到收敛时,满足终止条件。

    收敛条件为:在连续的两轮迭代之间,所有数据点归属的 cluster 不再发生变化,则收敛。

    下面的算法在每一轮迭代都会更新所有的质心。每轮迭代过程为:

    • 首先将所有视频设置为 unassigned

    • 然后轮流更新每个质心:对质心 k ,将距离它最近的 w 个未分配的视频分配给它。

    注意:由于有 Lcodebook {Cl}l=1L 。下面的算法并不是同时生成 Lcodebook,而是从 l=1,2,,L 依次迭代:

    • 首先生成 Cl,数据集为 {ril}i=1,,NNitem 语料库的总数。

    • 然后基于 Cl 来计算残差 {ri+1}i=1,,N

    • 然后生成 Cl+1,数据集为 {ril+1}i=1,,N

    • ...。

1.2.2 Session-wise List Generation

  1. 与仅预测 next videopoint-wise recommendation 方法不同,session-wise generation 旨在基于用户的历史 interaction sequences 来生成 a list of high-value sessions ,使推荐模型能够捕获 the recommended list 中视频之间的依赖关系。具体而言,a session 指响应 user request 所返回的 a batch of short videos ,通常包含 510 个视频。a session 中的视频通常会考虑用户兴趣、连贯性、以及多样性等因素。我们设计了若干标准来识别高质量 sessions,包括:

    • 用户在 session 内实际观看的短视频数量大于或等于 5

    • 用户观看该 session 的总时长超过特定阈值。

    • 用户表现出互动行为,如点赞、收藏、或分享视频。

    这种方法确保我们的 session-wise modelreal user engagement patterns 中学习,并捕获 session list 中更准确的上下文信息。因此,我们的 session-wise model Mobjective 可形式化为:

    S:=M(Hu)

    其中:

    • Hu 通过 semantic IDs 来表达:

      Hu={(s11,s12,,s1L),,(sn1,sn2,,snL)}
    • S 也是 semantic IDs

      S={(s11,s12,,s1L),,(sm1,sm2,,smL)}
  2. Figure 2(a) 所示,与 T5 架构一致,我们的模型采用 Transformer-based 的框架,包含两个主要组件:

    • 一个 encoder,用于建模用户历史交互。

    • 一个 decoder ,用于 session list generation

    具体而言,encoder 利用堆叠的 multi-head self-attention layersfeed-forward layers 处理 input sequence Hu。我们将 encoded historical interaction features 表示为 H=Encoder(Hu)

    decodertarget sessionsemantic IDs 为输入,以自回归方式生成 target 。为了在合理的经济成本下运行更大的模型,对于 decoder 中的前馈神经网络(feed-forward neural networks: FNNs),我们采用 Transformer-based 的语言模型中常用的 MoE 架构,并将第 lFNN 替换为:

    Htl+1=i=1NMoE(gi,t×FFNi(Htl))+Htlgi,t={si,t,si,tTopk({sj,t1jN},KMoE)0,otherwisesi,t=Softmaxi((Htl)wil)

    其中:

    • NMoE 表示 experts 总数;KMoE 表示 Topk 选择的 experts 数量。

    • FFNi() 为第 iexpert FFNgi,t 为第 iexpert 的门控值(gate value)。门控值 gi,t 是稀疏的,即NMoE 个门控值中仅有 KMoE个非零。这种稀疏性确保了 MoE layer 内的计算效率,每个 token 仅分配给 KMoEexperts 进行计算。

      读者猜测:wil 为待学习的权重,用于生成 si,t

    为什么仅在 decoder 中使用 MoE,而不在 encoder 中使用 MoE?读者猜测有几个原因:

    • 任务难度不同:decodergeneration 任务要比 encoderunderstand 任务更难更复杂,因此需要更大的模型容量。

    • 计算效率不同:encoder 只需要执行一次,因此用 dense 模型就可以;而 decoder 需要执行多次,因此要用 MoE 来降低计算量。

    • 架构的契合程度:MoE 的不同 experts 聚焦于不同的专业,在generation 任务中可能会生成多样化的结果;相比之下,encoder 的任务相对专一,对 expert 的专业化需求没那么强烈。

  3. 在训练过程中,我们在 decoder 的每组 code 的开头添加一个 start token s[BOS],构建 decoder inputs 为:

    S~={s[BOS],s11,s12,,s1L,s[BOS],s21,s22,,s2L,,s[BOS],sm1,sm2,,smL}

    我们利用 cross-entropy losstarget sessionsematic IDs 进行 next-token prediction: NTPNTP loss LNTP定义为:

    LNTP=i=1mj=1LlogP(sij+1[s[BOS],s11,s12,,s1L,,s[BOS],si1,,sij];Θ)

    session-wise list generation 任务上经过一定量的训练后,我们得到种子模型(seed modelMt

1.2.3 Iterative Preference Alignment with RM

  1. Session-wise List Generation 章节中定义的高质量 sessions 提供了有价值的训练数据,使模型能够学习优质 session 的构成,从而确保 generated videos 的质量。在此基础上,我们旨在通过直接偏好优化(Direct Preference Optimization: DPO)进一步提升模型能力。在传统自然语言处理(NLP)场景中,preference data 通过人工显式地标注。然而,推荐系统中的 preference learning 由于 user-item interaction data 的稀疏性而面临独特的挑战,这就需要奖励模型(reward model: RM)的支持。因此,首先我们介绍 a session-wise reward model 。接下来,将描述我们如何通过提出 iterative direct preference optimization 来改进传统的 DPO,使模型能够 self-improvement

    在推荐系统中,能否通过人工显式标注来获得preference data ?答案是否定的。因为推荐系统的 preference data 是个性化的。标注员的 preference data 只能代表这个标注员的偏好,无法代表每个用户的偏好。

  2. Reward Model Training:我们用 R(u,S) 表示为不同用户选择 preference data 的奖励模型。其中,输出 r 代表用户 u(通常由 user behavior 来表示)对 session S={v1,v2,...,vm}preference 所对应的奖励。为使奖励模型具备 rank session 的能力,我们首先提取 session S 中每个 item vitarget-aware representation ei=viu,其中 表示 target-aware operation(如 target attention toward user behavior )。由此,我们得到 session Starget-aware representation h={e1,e2,,em}

    uuser representation sequence ,从用户历史行为中抽取而来;viitem viitem representation

    注意,这里的 不是逐元素乘法而是 target-attention

    然后,session 内的 items 通过 self-attention layers 相互作用,融合不同 items 间的必要信息:

    hf=SelfAttention(hWsQ,hWsK,hWsV)

    其中:WsQ,WsK,WsV 为待学习的投影矩阵。

    这里有两个序列:

    • 一个是用户历史序列 u,可以用 item embedding sequence 来代表。

    • 另一个是 target session 序列。

    首先利用 target itemu 进行target-attention ,得到 ei ;然后聚合所有 target-attention 结果得到 h

    接下来,我们利用不同的 towermulti-target reward 进行预测,奖励模型通过大量推荐数据进行预训练:

    r^swt=Towerswt(Sum(hf))r^vtr=Towervtr(Sum(hf))r^wtr=Towerwtr(Sum(hf))r^ltr=Towerltr(Sum(hf))

    这里的 Sum() 表示 sum 池化。因为 target-attention 得到了 mrepresentation ,导致 hf 也包含了 mrepresentation

    得到每个 session 的所有 estimated rewards r^swt, 和真实标签 yswt, 后,我们直接最小化 binary cross-entropy loss 来训练奖励模型。损失函数 LRM定义如下:

    LRM=aswt, vtr, wtr, ltr(yalogr^a+(1ya)log(1r^a))

    奖励模型的本质是:给定用户历史行为序列(即,u),预测 target session S 的奖励。

    针对multi-target reward ,论文采用这些奖励的均值作为 final reward

  3. Iterative Preference Alignment: IPA:基于 pre-trained Reward Model R(u,S) 和当前的 OneRec Mt,我们通过 beam search 为每个用户生成 N 个不同的 responses

    SunMt(Hu), for all uU and 1nN

    然后,我们基于 Reward Model R(u,S) 计算每个 response 的奖励 run

    run=R(u,Sun)

    接下来,我们通过选择奖励值最高的 winner response (Suw,Hu) 和奖励值最低的 loser response (Sul,Hu),构建 preference pairs Dtpairs=(Suw,Sul,Hu)。利用这些 preference pairs ,我们可以训练一个新模型 Mt+1,该模型从Mt 初始化,并通过结合 DPO loss《Direct preference optimization: Your language model is secretly a reward model》)的损失函数进行更新,以从 preference pairs 中学习。每个 preference pair 对应的损失如下:

    LDPO=LDPO(Suw,Sul,Hu)=logσ(βlogMt+1(SuwHu)Mt(SuwHu)βlogMt+1(SulHu)Mt(SulHu))

    Figure 2(b)Algorithm 2 所示,整体流程涉及训练一系列模型 Mt,,MT。为减轻 beam search inference 过程中的计算负担,我们仅随机采样 1% 的数据用于 preference alignmentrDPO=1%)。对于每个后续模型 Mt+1,它从之前的模型Mt 初始化,并利用 Mt 生成的 preference data Dtpairs 进行训练。

    DPO 的目标是:让新模型 Mt+1 相比于旧模型 Mt:提高正样本 Suw 的相对概率、降低负样本 Sul 的相对概率。

    • 对数概率比 βlogMt+1(SuHu)Mt(SuHu) 刻画了模型对于样本 Su 的偏好提升程度。如果比值 Mt+1(SuHu)Mt(SuHu)>1 (意味着对数大于零),则新模型认为 Su 更可能发生。β 控制偏好提升的强度,β 越大则偏好越强。

      括号中的第一项:刻画了模型对于正样本 Suw 的偏好提升程度;括号中的第二项:刻画了模型对于负样本 Sul 的偏好下降程度(因为有个负号)。

      这里其实不需要奖励模型,只需要给出 preference pairs (Suw,Sul) 即可。

    • 第一项和第二项的差代表了偏好差值。我们希望正样本的提升大于负样本的提升(甚至希望负样本下降)。差值越大,说明新模型越能区分好坏样本。

    • σ()sigmoid 函数,将这个偏好差值映射到 (0, 1) 区间。差值越大,则 sigmoid 越接近 1

    • 最后,采用负的对数损失,这是标准的二分类交叉熵损失函数。

    OneRec 中,DPO 被用于迭代偏好对齐(IPA),其特殊性在于:

    • 自生成偏好对:正负样本来自同一模型在不同 beam search 路径下的生成结果。奖励模型用于评分,选出最佳和最差样本作为偏好对。这解决了推荐系统中“无法同时获得正负样本”的问题。

    • 在线迭代优化:每轮使用当前模型生成样本 -> 评分 -> 构建偏好对 -> 更新模型。实现持续自我提升的闭环。

    为什么仅采用 1% 数据用于 DPO?主要有以下原因:

    • 计算效率:DPO 训练需要生成多个候选响应(beam search),这在高并发、大规模推荐系统中计算成本很高。仅对 1% 的用户进行 DPO 采样,可以在不明显增加推理负担的情况下进行偏好对齐。

    • 实验结果显示 1% 已足够:论文中通过消融实验发现,当 DPO 采样比例从 1% 提升到 5% 时,性能提升非常有限。这意味着在推荐系统中,少量高质量的偏好样本就足以有效对齐模型,而不需要大规模采样。

    • 在线系统的稳定性:在工业级系统中,保持系统稳定性和响应速度至关重要。使用 1%DPO 采样可以在不影响整体服务性能的情况下,持续优化模型。

    • 资源与效果平衡:实验表明,1% 的采样比例可以实现约 95% 的最佳性能,而所需计算资源仅为更高采样比例的 20%。这是一种效率与效果的折中策略,适合在工业环境中部署。

    此外,论文采用的是在线 DPO 采样。

    维度离线 DPO 采样在线 DPO 采样
    数据时效性滞后,无法反映最新兴趣实时,捕捉即时反馈
    模型迭代需要重新训练,周期长持续在线微调,快速迭代
    系统耦合解耦,易于实验与在线服务紧密集成
    计算负担批量处理,资源可控需实时响应,资源要求高
    适用场景实验研究、基线对比工业部署、在线优化

1.3 System Deployment

  1. OneRec 已成功应用于真实的工业场景。在平衡稳定性和性能的前提下,我们部署 OneRec-1B 用于 online services。如 Figure 3 所示,我们的 deployment 架构包含三个核心组件:training systemonline serving systemDPO sample server

    • 系统将收集到的 interaction 日志作为训练数据,最初采用 next token prediction objective LNTP 来训练 seed model

    • seed model 收敛后,添加 DPO loss LDPO 进行 preference alignment ,并利用 XLAbfloat16 mixed-precision training 来优化计算效率和内存利用率。

      DPO 的数据是在线收集的;但是添加 DPO loss 进行 preference alignment 这一步是在离线(offline)训练系统中进行的,但它依赖于在线(online)实时采集的样本数据。但是,一旦模型离线训练好之后,立即推送到线上,从而进行下一轮 DPO 数据收集和基于 DPO loss 的模型更新迭代。

      你可以将 XLA 理解为一个“深度学习模型的编译器”。它的工作流程与传统编译器类似:

      1. 输入:接收由 TensorFlow/JAX 定义的计算图(通常是动态的、由多个算子组成)。

      2. 编译优化:在运行前,XLA 会执行一系列高级优化:

        • 算子融合:将多个细粒度操作(如:矩阵乘 + 激活函数 + 偏置添加)合并为一个融合的“超级”算子。这能显著减少:

          • 内核启动开销:GPU 上每次启动一个计算核心都有成本,融合后总次数大大减少。

          • 中间结果的内存读写:融合算子内部的中间结果留在高速缓存或寄存器中,无需写回和重新读取全局内存。

        • 内存布局优化:重新组织张量在内存中的存储方式,以匹配硬件(如 GPU)的最佳访问模式,从而提高内存带宽利用率。

        • 常量折叠:将计算图中在编译时就能确定结果的子图计算出来,用常量替代。

        • 死代码消除:移除对最终输出无影响的冗余计算。

      3. 目标代码生成:为特定的硬件后端(如 NVIDIA GPUGoogle TPU)生成高度优化的、原生级别的机器代码。

      4. 输出与执行:执行编译后的高效代码,而非原始的、逐个算子解释执行的路径。

    • trained parameters 同步到 online inference 模块和 DPO sampling server,用于 real-time servingpreference-based data selection

  2. 为提升推理性能,我们实施了两项关键优化:

    • 结合 float16 quantizationkey-value cache decoding 机制,以减少 GPU 内存开销。

    • beam size = 128beam search configuration ,以平衡 generation 质量和延迟。

    此外,得益于 MoE 架构,inference 过程中仅激活 13% 的参数。

1.4 实验

  1. 本节首先在离线环境中将 OneRecpoint-wise 方法、以及多种 DPO 变体进行比较。然后,通过对所提出模块的消融实验来验证OneRec 的有效性。最后,在 Kuaishou 部署 OneRec 并进行 online A/B test ,进一步验证其性能。

    数据集是什么样子?论文没有讲。

  2. 实现细节:

    • 我们的模型使用 Adam optimizer 训练,初始学习率为 2×104

    • 采用 NVIDIA A800 GPU 从而用于 OneRec optimization

    • 训练过程中,DPO sample ratio rDPO 设置为 1% ,通过 beam search 为每个用户生成 N=128 个不同 responses

    • semantic identifier clustering 过程中,每个 codebook layer 采用 K=8192clusterscodebook layers 数量设置为 L=3

      即,每个 item 由三个 code 组成:(c1,c2,c3),每个 code 取值范围是 1c8192

    • Mixture-of-Experts 架构包含 NMoE=24experts,每次前向传播通过 top-k 选择激活 KMoE=2experts

    • session modeling 中,考虑 m=5target session items ,并采用 n=256 个历史行为作为上下文。

  3. baseline 方法:我们采用以下具有代表性的推荐模型、DPO 及其变体作为对比基线:

    baseline 模型包括:

    • SASRec:采用单向 Transformer 架构,捕获 user-item interactions 中的序列依赖关系(sequential dependencies ),用于 next-item prediction

    • BERT4Rec:利用双向 Transformermasked language modeling ,通过序列重构(sequence reconstruction )来学习 contextual item representations

    • FDSA:实现 dual self-attention pathways ,在异构推荐场景中联合建模 item-level transitionsfeature-level transformation

    • TIGER:利用 hierarchical semantic identifiersgenerative retrieval 技术,通过 auto-regressive sequence generation 来实现 sequential recommendation

    对于 OneRec 方法,我们考虑如下的变体:

    • DPO:通过 implicit reward modeling ,从人类反馈数据中推导 a closed-form reward function,从而形式化 preference optimization。(《Direct preference optimization: Your language model is secretly a reward model》

    • IPO:提出理论基础扎实的 preference optimization framework,规避 standard DPO 中固有的 approximations。(《A general theoretical paradigm to understand learning from human preferences》

    • cDPO:引入 robustness-aware 的变体,包含 label flipping rate 超参数 ϵ,以应对 noisy preference annotations。(《A note on dpo with noisy preferences and relationship to ipo》

    • rDPO:利用 importance sampling 来设计 unbiased loss estimator,从而减少 preference optimization 中的方差(variance)。(《Provably Robust DPO: Aligning Language Models with Noisy Feedback》

    • CPO:通过联合训练 sequence likelihood rewardssupervised fine-tuning objectives,将 contrastive learningpreference optimization 统一起来。(《Contrastive preference optimization: Pushing the boundaries of llm performance in machine translation》

    • simPO :采用 sequence-level reward margins 进行 preference optimization,通过 normalized probability averaging 来消除对 reference model 的依赖。(《SimPO: Simple Preference Optimization with a Reference-Free Reward》

    • S-DPO :通过 hard negative samplingmulti-item contrastive learning,使 DPO 适应推荐系统,提升 ranking accuracy。(《On Softmax Direct Preference Optimization for Recommendation》

  4. 评估指标:我们使用多个关键指标来评估模型性能。每个指标用于评估模型输出的不同方面,每次迭代均在随机采样的测试集上进行评估。为估计每个特定 user-session pair 的各种交互的概率,我们采用 pre-trained reward model 来评估 recommended sessions 的价值。我们计算不同 target metrics 的平均奖励,包括 session watch time: swtview probability: vtrfollow probability: wtrlike probability: ltr。其中,swtvtr 属于 watching-time 指标,wtrltr 属于 interaction 指标。

1.4.1 离线性能

  1. Table 1 展示了 OneRec 与各种基线的综合对比。对于 watching-time 指标,我们主要关注 session watch time: swt;对于 interaction 指标,主要关注 like probability: ltr。实验结果揭示了三个关键发现:

    • 首先,所提 session-wise generation 方法显著优于传统的 dot-product-based 的方法、以及 TIGERpoint-wise generation 方法。OneRec-1B 相比 TIGER-1Bmaximum swt 提升了 1.78%maximum ltr 提升了 3.36%。这证明了 session-wise modeling 在维持 recommendations 的上下文连贯性(contextual coherence )方面的优势,而 point-wise 方法难以平衡 generated outputs 的连贯性(coherence)和多样性(diversity)。

    • 其次,少量比例的 DPO training 能带来显著收益。仅使用 1%DPO training ratiorDPO),OneRec-1B+IPA 相比基础模型 OneRec-1Bmaximum swt 提升 4.04%maximum ltr 提升 5.43%。这表明 limited DPO training 即可有效地使模型与 desired generation patterns 进行对齐。

    • 第三,所提 IPA 策略优于现有的多种 DPO 变体。如 Table 1 所示,IPA 的性能优于其他 DPO implementations。值得注意的是,部分 DPO baselines 的性能甚至低于未进行偏好对齐的 OneRec-1B 模型,这表明:利用 self-generated outputsiterative mining 来进行 preference selection ,比其他方法更有效。

    • 基础模型(Base OneRec-1B):仅使用 session-wise generation 训练( NTP loss),未使用 DPO

    • OneRec-1B+DPO:在基础模型上使用标准 DPO 进行一次微调(使用 1%DPO 数据)。

    • OneRec-1B+IPA:使用迭代偏好对齐(IPA),即多次迭代进行 DPO 微调,每次迭代使用当前模型生成样本并选择偏好对。

1.4.2 消融实验

  1. DPO Sample Ratio 消融实验:为探究 DPO training 中样本比例 r<span class="md-search-hit">DPO</span> 的影响,我们在 controlled conditions 下将 DPO sample ratio1% 调整至 5% 。如 Figure 4 所示:消融结果表明,增加 sample ratio 在多个 evaluation targets 上仅带来微小的性能提升。

    值得注意的是,超过 1%baseline 后,尽管计算开销增加,但性能提升并不显著。此外,DPO sample server inference 过程中, sample ratioGPU 资源利用率呈线性关系:5%sample ratio 所需 GPU 资源是 1% baseline5 倍。这种 scaling 特性明确了计算效率与模型性能之间的权衡。因此,在平衡计算效率和性能后,我们采用 1%DPO sample ratio 进行训练,该 sample ratio 能达到观测到的最大性能的 95% ,而仅需 higher sample ratio 所需计算资源的 20%

  2. Model Scaling 消融实验:我们评估了 OneRec 在模型规模 scale up 时的性能表现。如 Figure 6 所示,将 OneRec0.05B 参数扩展至 1B 参数,性能持续提升,展现出一致的的 scaling 特性。具体而言:

    • OneRec-0.05B 相比,OneRec-0.1Bmaximum accuracy 显著提升 14.45%

    • 进一步扩展至 0.2B0.5B1B 参数时,accuracy 分别额外提升 5.09%5.70%5.69%

    Layer 1 accuracy 指的是模型在 Semantic ID 第一层上的预测准确率。即,预测到 target item 的第一个 code 的准确率。由于有 3code,这里给出了 Layer 1/2/3 accuracy

    可以看到,Layer 越大,accuracy 。因为:这里的 “accuracy” 指的是给定前面所有层都预测正确的条件下,该层预测正确的条件概率。由于:选择空间逐层缩小、不确定性逐层降低、预测任务逐层变简单,所以条件准确率的数值会逐层升高,但这绝不意味着 Higher Layer 预测比 Lower Layer 更重要或更难。

1.4.3 Prediction Dynamics of OneRec

  1. Figure 5 所示,我们展示了不同 layer8192 codespredicted probability distributions,其中红色星号表示 highest reward valueitemsemantic ID

    • OneRec baseline 相比,OneRec+IPAprediction distributions 上表现出显著的 confidence shift,表明所提出的 preference alignment 策略有效地促使 base model 产生更好的 generation patterns

    • 此外,我们观察到 first layerprobability distribution 的发散程度更高(entropy = 6.00),而后续层的分布逐渐集中(第二层的 average entropy = 3.71,第三层的 average entropy = 0.048 )。这种 hierarchical uncertainty reduction 可归因于 autoregressive decoding 机制:initial layerpredictions 继承了 preceding decoding steps 的高不确定性;而后续层得益于 accumulated context ,其中 accumulated context 约束了决策空间。

      第一层预测是从所有可能 ID 中选,不确定性最高;第二层在第一层确定的簇内细化,选择范围小;第三层进一步缩小范围。所以层数越高,选择空间越小,准确率自然上升。类似于 category 的逐层细化。

1.4.4 Online A/B Test

  1. 为评估 OneReconline 性能,我们在快手主页的 video recommendation 场景中进行严格的 online A/B tests,将 OneRec 与当前的 multi-stage recommender system1% 的主流量上进行对比。我们使用 Total Watch Time(用户观看视频的总时长)和 Average View Duration(用户在推荐系统返回的 session 中,每个视频的平均观看时间)作为评估指标。

    Online evaluation 显示,OneRectotal watch time 提升 1.68%average view duration 提升 6.56% ,表明 OneRec 取得了更优的推荐效果,并为平台带来了可观的收益增长。

1.5 结论

  1. 本文提出一种用于 single-stage generative recommendation 的工业级解决方案。该方案的核心贡献包括三个方面:

    • 首先,通过应用 MoE 架构,在高计算效率下有效 scale up 模型参数,为大规模工业推荐提供了可扩展的蓝图。

    • 其次,我们发现以 session-wise generation 方式建模 the contextual information of target items 的必要性,证明 contextual sequence modeling 比孤立的 point-wise manner 更能捕获 user preference dynamics

    • 此外,我们提出 Iterative Preference Alignment: IPA 策略,提升 OneRecdiverse user preference patterns 上的泛化能力。

    大量离线实验和 online A/B testing 验证了 OneRec 的有效性和效率。此外,在线结果分析表明,除 user watch time 外,我们的模型在点赞(likes)等交互指标(interactive indicators )上仍有改进空间。未来研究中,我们旨在增强端到端生成式推荐(generative recommendation )的 multi-objective modeling 能力,以提供更优的用户体验。