《Make It Long, Keep It Fast: End-to-End 10k-Sequence Modeling at Billion Scale on Douyin》
Douyin 等短视频推荐系统必须在不突破延迟和成本预算的前提下,充分利用极长的 user histories。本文提出一套端到端系统,将 long-sequence modeling 落地至生产环境的 10k-length histories 。
首先,我们提出了 Stacked Target-to-History Cross Attention: STCA,以 stacked cross-attention from the target to the history 来替代 history self-attention,将计算复杂度从序列长度的二次方降至线性,实现高效的端到端训练。
其次,我们提出了 Request Level Batching: RLB ,这是一种以用户为中心的 batching 方案,聚合同一用户/请求的多个 targets ,共享 user-side encoding ,在不改变 learning objective 的前提下,大幅降低与序列相关的存储的、通信的和计算的开销。
第三,我们设计了长度外推训练策略(length-extrapolative training strategy)——在 shorter windows 上训练,在 much longer windows 上推理,使模型无需额外训练成本即可泛化至 10k histories 。
离线和在线实验均表明,随着 history length 和模型容量的提升,模型性能呈现可预测的单调增长,这与大语言模型中观察到的 scaling law 趋势一致。该系统已在 Douyin 全流量上线,在满足生产环境延迟要求的同时,核心 engagement 指标实现显著提升,为端到端 long-sequence recommendation 向 10k 长度规模的演进提供了可落地的技术路径。
深度神经网络已成为现代推荐系统的核心基础,支撑着电商、新闻信息流、短视频平台等各类应用的推荐业务。其核心优势在于能够挖掘 user behavior sequences 的价值——用户过往的 interactions 为推断用户偏好提供了关键信号。在 Douyin 等短视频推荐场景中,user histories 往往包含数千条视频记录,若能有效利用这些 long sequences,可显著提升 ranking 的性能。
modeling longer sequences 的重要性与深度学习 scaling law 密切相关:模型性能通常会随数据量、参数量和计算量的增加呈现可预测的提升。与 NLP/CV 领域主要通过扩大数据集实现 scaling 不同,推荐系统的发展受限于 user-generated data 的规模。挖掘更多信息的一种自然方式,就是利用更长的 user histories。然而,大多数现有系统采用两阶段范式:先检索与 target 相似的少量 histories,再将截断后的序列馈入 ranker。该范式虽具备效率优势,却打破了端到端的 optimization,同时丢弃了大量有价值的 interactions。本文的实证结果( Figure 1)表明,当模型架构和系统支持真正的 long-sequence training and inference 时,模型效果会随 sequence length 和 sequence-module capacity 的提升平稳增长,这与其他模态中观察到的 scaling-law 特性一致。

要真正实现大型推荐模型的 scaling up,long sequences 的端到端训练必须考虑严苛的在线延迟、成本预算。相关设计需对计算资源进行选择性分配,而 longer histories 会进一步放大分布式训练中的存储开销、通信开销和计算开销。为此,本文融合三大核心技术:
(1):以 target 为中心的 single-query cross-attention model: STCA,每一层的计算成本与 sequence length 呈线性关系。
(2):Request Level Batching: RLB,将 user-side encoding 的开销平摊至一个 request 内的多个 targets;且可扩展至同一 user/session 的多个 requests 之间共享编码,进一步提升效率。
(3): "train sparsely/infer densely" 训练策略:在平均长度约 2k 的序列上训练,却在推理阶段支持 10k 长度的序列,在不增加训练计算量的前提下保留端到端建模的优势。
上述技术组件的结合,使模型性能能随序列长度和模型容量的提升实现可预测的增长,与 scaling-law 的特性一致(Figure 1)。
本文贡献:本文为实用化的端到端的 long-sequence recommendation 做出三项核心贡献:
序列高效(sequence-efficient)的模型架构:我们提出 Stacked Target-to-History Cross Attention: STCA,优先考虑 target item 与 user history 的 cross-attention ,舍弃 history self-attention,这将计算复杂度从 multiple layers ,借助 target-conditioned fusion 来捕获更高阶的 dependencies。
基于用户中心的 batching 的 scalable training:我们提出 Request Level Batching: RLB,聚合同一用户的样本,使 multiple targets 共享单个 user-side encoding。该策略可自然扩展至同一 user/session 的多个 requests 间共享 encoding,进一步降低内存开销、通信开销和计算开销(在 request-level sharing 下,实测开销降低最高达 8 倍),同时仍是 empirical risk 的无偏估计量。
Train sparsely, infer densely :采用长度外推(length-extrapolative)的训练方案,在平均长度约 2k 的序列上训练,却在推理阶段支持最长 10k 的序列,将训练成本与部署阶段的 context length 解耦,无需额外 training compute 即可实现 long-sequence gains。
这些创新成果为生产环境约束下,沿 sequence dimension 实现推荐模型的 scaling 提供了实用框架。在大型短视频平台的落地结果表明,本文方法在多项业务指标上实现了显著的在线性能提升。
STCA是DIN中target-attention的升级版,重点在target-attention的query上进行了改进。注意:
STCA可能难以训练,可以参考附录中的Training Curriculum。
Modeling User Behavior Sequences:
早期的推荐系统采用 non-deep methods 来建模用户序列,如 item-to-item CF (《Amazon.com Recommendations: Item-to-Item Collaborative Filtering》)和 Markov transitions (《Factorizing personalized Markov chains for next-basket recommendation》)。
深度学习的发展带来了 session-based RNNs 和工业界的两阶段框架(如 YouTube 推荐系统)(《Deep Neural Networks for YouTube Recommendations》、《Session-based Recommendations with Recurrent Neural Networks》)。
Attention/Transformer models 随后成为序列建模的主流:
DIN/DIEN 根据 candidate 对 user history 进行交互,突出 target-aware selection (《Deep Interest Evolution Network for Click-Through Rate Prediction》、《Deep Interest Network for Click-Through Rate Prediction》)。
SASRec/BERT4Rec 作为强的 self-attention baselines,通过双向注意力或单向注意力来建模用户行为的时间依赖(temporal dependencies)(《Self-Attentive Sequential Recommendation》、《BERT4Rec: Sequential Recommendation with Bidirectional Encoder Representations from Transformer》)。
BST 进一步验证了该类模型在工业界信息流排序场景的在线落地可行性(《Behavior Sequence Transformer for E-commerce Recommendation in Alibaba》)。
与此同时,multi-interest modeling 显式地捕获用户的多样化偏好,已在大型平台得到广泛应用(《Multi-Interest Network with Dynamic Routing for Recommendation at Tmall》)。
近期的 production 研究聚焦于 long histories 建模和系统兼容性:
user-representation 方法(如,PinnerFormer )将 long-term behaviors 压缩为紧凑的 memories (《PinnerFormer: Sequence Modeling for User Representation at Pinterest》)。
realtime/batch fusion 的方法(如 TransAct )将 streaming signals 与 pre-computed features 融合,实现低延迟的推理服务(《TransAct: Transformer-based Realtime User Action Model for Recommendation at Pinterest》、《Trans-Act V2: Lifelong User Action Sequence Modeling on Pinterest Recommendation》)。
为进一步实现 scaling up ,两阶段范式会在精细建模前检索与 target 相关的序列切片(SIM, UBR4CTR )(《Search-based User Interest Modeling with Lifelong Sequential Behavior Data for Click-Through Rate Prediction》、《User Behavior Retrieval for Click-Through Rate Prediction》),或设计 sparse memories/hierarchies (SAMN, TWIN/TWIN-V2 ),限制 long logs 的处理成本(《TWIN: TWo-stage Interest Network for Lifelong User Behavior Modeling in CTR Prediction at Kuaishou》、《Sparse Attentive Memory Network for Click-through Rate Prediction with Long Sequences》、《TWIN V2: Scaling Ultra-Long User Behavior Sequence Modeling for Enhanced CTR Prediction at Kuaishou》)。
这些设计通常会以 truncation, retrieval, or summarization 的方式,牺牲 full sequence 的端到端梯度,换取计算效率。与之不同,本文的 STCA 对 full sequence 实现端到端的 single-query target --> history cross attention ,计算复杂度与序列长度 retrieval/truncation 操作,为生产环境的 very long histories 建模提供了一条实用路径,同时保留了所有 observed interactions 的可微性。
Organizing Training Samples:经典的训练范式包括:
pointwise/pairwise learning ,如 BPR。
large-batch CTR pipelines ,如 DLRM, production systems。
以及 session-parallel batching for sequences 。
在工业级规模下,训练过程通常受 IO/ memory 限制,而非 FLOP 限制,这推动了 truncation or retrieval-first 的样本构建方式,以及 ultra-long contexts 的工程优化。现代的模型框架(如 TorchRec)提供不规则张量和分片策略,提升硬件利用率并管理稀疏特征;生产系统会融合 real-time/batch 信号,平衡推荐的 freshness 和 stability 。
在此背景下,本文的 Request Level Batching: RLB 以 user/request 为粒度重新组织数据:对单次请求仅计算一次 user/history encoder,将其复用至 targets,使 per-target user-path cost 从 empirical-risk objective 的无偏性。与 truncation/retrieval 不同,RLB 保留了完整的 user history,将 movement and recomputation开销平摊,直接解决了大规模训练中主导的 I/O and activation bottlenecks 。该策略与 retrieval 、kernel-level 加速、sharding(如 《TorchRec: a PyTorch Domain Library for Recommendation Systems》中的不规则张量)正交,且与生产环境的 request-level grouping 逻辑对齐,在不改变 loss 的前提下,提升了带宽利用率、降低了峰值内存、提高了 kernel 计算效率。
Length Extrapolation:大语言模型的研究表明,通过位置编码设计(ALiBi、RoPE)和 memory/attention 模式(Transformer-XL、Longformer、BigBird),"train sparsely, infer densely" 的长度外推策略具备可行性,使模型能泛化至超出训练窗口的序列长度。本文方法将该思想适配至推荐系统:
(1):以精确的 single-query cross attention: STCA 替代二次方复杂度的 history self-attention。
(2):通过 RLB 重新组织训练过程,平摊 user encoding 开销。
与 retrieval pipelines 不同,本文方法保留了完整序列的端到端梯度;与 kernel/sparsity 方法不同,本文方法精准匹配 target-over-history interaction,同时与生产环境的约束条件对齐。
具体而言,本文在训练阶段采用随机长度采样(stochastic-length sampling),使平均序列长度较短,同时让模型接触到 longer contexts 的 a calibrated tail;在推理阶段采用非常更长的历史序列。该训练方案借助 STCA 的线性计算复杂度和RLB 的开销平摊,使长度外推在生产环境具备了可行性,且无需截断或替代以 memories 。
符号定义:本文统一使用以下符号:
user interaction history 为长度 historical video 的 feature vector,interaction 的行为类型。
candidate (target) video 。
embedding 为 target embedding 为
令 embedding 的维度,SwiGLUFFN 的 width 的扩展比(expansion ratio),attention heads 数量,stacked cross-attention layers 的数量。
模型输出 target ground-truth 标签。
本文研究面向大型短视频推荐场景(如 Douyin/TikTok)。在此类场景中,系统需要为单个用户对一组 candidate videos 进行排序。实际应用中,模型的 final score 可能融合多个优化目标(如完播 finish、点击 click 等);为表述清晰,本文聚焦于完播率(finish rate)的预测任务。
user signals 由 interaction history 主导。user interaction history 定义为:
其中:
其中 historical video 的特征向量,interaction 的行为类型进行编码;candidate 视频。
各类特征(IDs、多模态内容、creator 属性等)经嵌入后,embedding 为 target 视频 embedding 为
给定输入 ranking model 输出标量
本文设计了一套面向短视频排序的端到端 long-sequence modeling 框架,融合了 sequence-efficient 的模型架构、以用户为中心的 batching 策略、以及长度外推的训练方案,整体框架如 Figure 2 所示。

在 ranking 任务中,用于预测用户对 target user’s historical behaviors 的直接交互,而 historical items 之间的 second-order relations 所提供的信息相对有限。然而,对 Transformer 风格的 self-attention,会产生与 history length
本文在模型容量与计算成本间做出显式的权衡:弱化显式的 history–history interactions,转而采用 a single-query
target-to-history cross attention: STCA。将 target 作为唯一的 query,使每一层的计算复杂度与序列长度 key/value intermediates,同时将计算资源精准聚焦于 target–history relevance。计算量和内存开销的大幅降低,使模型能在相同的计算资源范围内,对 ultra-long histories(如 10k 级别)进行训练和推理,进而改善 scale-up:在计算量相当的情况下,STCA 能处理 much longer context,且相比只能处理短序列的 self-attention,实现了更高的预测准确性。
Input encoding:每个 historical element video, action-type, position fused),历史序列的 embedding 矩阵为 target video SwiGLUFFN block (SwiGLU + linear projection ),后续接一个 LayerNorm :
其中:
为简化表述,这里省略了 bias 项。
对于 embedding 矩阵 SwiGLUFFN block,然后进行归一化:
其中:LayerNorm ;上标的 (1) 表示第一层。
的每一行代表 sequence中的每个位置。
multi-head target-to-history cross attention:在第 h-head cross attention。令
对于每个 head
将所有 heads 的输出拼接后,经线性投影得到该层的最终输出:
在 a single target query ,每一层的计算成本为 self-attention 的计算成本为
注意:
attention之后并未接FFN。而是在SwiGLUFFN之后接入attention。如果有多个
target,那么就对应了多个query, 为 target数量。这就是Request Level Batching: RLB的思想。
STCA是DIN中target-attention的升级版,重点在target-attention的query上进行了改进。
Stacking and target-conditioned fusion:我们堆叠 cross-attention layers,并通过 target-conditioned fusion 来更新 query 。为保持维度一致性(输入维度为
其中:
注意: 第一层的
query的 input仅考虑了;而后续层的 query融合了 以及前面每一层的输出。
在 summary:(这里可以删除,后面没用到)
被用于 的计算。
Prediction head and objective:将所有层的 attention 输出与 target 向量拼接,经维度压缩得到最终的 target-aware token:
令:
其中:
user-side tokens,如 profile/context features。
target candidate-side tokens,如 content/creator modalities features。
将 RankMixer (《RankMixer: Scaling Up Ranking Models in Industrial Recommenders》):
其中:RankMixer 的参数;
模型采用二元交叉熵作为损失函数,优化目标为:
single-query cross attention 的计算优化:每层仅包含一个 query,令
该计算方式需对 tokens 进行两次投影操作。本文通过重排计算顺序,消除与长度
其中:
单个 head 的计算成本为 heads 的总计算成本为 intermediates。
原始计算方式中,对 FLOPs ,且每个 head 会生成两个 a single weighted reduction FLOPs ,且不必生成 intermediates 张量。因此,与序列长度相关的 FLOPs 缩减至原来的 FLOPs 可减少约 64 倍。
STCA 使 per-target sequence cost 与 history length long contexts 建模奠定了基础。但在实际的业务日志中,单个用户在同一 request/session 内通常会对应多个 targets 。若仍基于独立的三元组 long history CPU --> GPU)和编码,导致随着 FLOPs)成为性能瓶颈。因此,RLB 作为 STCA 在系统层面的互补策略,消除了用户侧的冗余计算,使线性复杂度的 encoder 能在 production 预算下扩展至数
核心思想与无偏性:RLB 将同一用户的 user micro-batch user/history path (所有 targets 所共享的)。当采用 RLB 策略时,仅需计算一次
无偏性(unbiasedness):将传统的优化目标表示为“用户平均下的样本平均”,可以证明,将内层的样本平均替换为对 targets 的无放回平均,其数学期望保持不变(期望的线性性)。因此,公式 empirical risk)的无偏估计量;RLB 仅改变了计算的组织形式,并未改变模型的学习目标。
系统层面的视角:RLB 将重复的用户侧计算转化为 “一次计算、IO – memory – kernel–distributed stack 中实现了切实的性能提升:
Host <--> Device I/O:将单次请求的载荷拆分为 user / history bytes per-target bytes batching 需传输 bytes,而 RLB 仅需传输 bytes,节省约 bytes 的传输量。当 87.5% ;本文的端到端实测结果(包含 non-sequence 特征)显示,带宽开销可减少77% ~ 84% 。
Peak memory and activations:history encoder 的 intermediate states (例如,从 "K/V -like" tensors)在 targets 之间共享,而非重复生成,使 per-target 的内存占用从 peak activation memory ,使模型能在相同的 GPU RAM 下处理远更长的序列长度 8 倍。
Kernel efficiency:复用 user encodings ,可将 target 侧的矩阵乘法 batch 为更大的通用矩阵乘法(GEMM),提升硬件占用率并减少 kernel 启动次数。结合不规则/压缩序列(ragged/compacted sequences)的处理方式,该策略减少了 padding 操作,提高了算术密度(arithmetic intensity),提升了样本处理速度;实测实现了单 GPU 吞吐量 2.2 倍的提升。
Distributed training:每一步训练中生成的 user encodings 的数量减少,降低了梯度聚合(gradient aggregation )和 PS/allreduce traffic 。实测表明,在保持模型准确率的前提下,Parameter-Server CPU 使用率、以及模块间的通信带宽均降低 50%。
总体而言,RLB 消除了 STCA encoder 成为主导的计算开销(且该开销被平摊至多个 targets ),让 production 规模的 long-sequence training 具备了可行性。
STCA 使 per-target sequence cost 与 RLB 将用户侧编码开销平摊至 targets,二者结合使模型能在严苛的延迟和带宽预算下实现 long-context serving。但在长度均匀的 long histories 上训练,计算量仍会随 number of tokens processed per batch 线性增长,导致随着 context length 解耦,本文提出长度外推(length–extrapolation)训练方案——trains sparsely(low average tokens per batch )、infers densely (测试阶段采用 long histories )。本节中,模型部署的推理序列长度固定为 extrapolation ratio)为:
本文在训练阶段采用随机长度(Stochastic Length: SL)训练范式,对每个 input sequence 随机截断至长度 sequence sparsity: SS 来量化该策略的计算效率,其定义为:
SS 反映了:平均计算成本相对于最大 training length 的计算成本的比值。
在 Stack Cross-Attention: STCA 架构下,该随机长度训练策略面临两大核心挑战:
Batch-Level Load Balancing:变长序列会导致 GPU 的工作负载失衡,因为 batch 的处理时间由最长的序列决定,这会抵消 FLOPs savings 带来的性能增益。
Subsequence Selection:有效的子序列选择(subsequence selection)策略需在最小化 training sequence length (即最大化 SS)的同时,不降低模型的预测准确性。
Subsequence Selection 策略:子序列选择过程包含两个步骤:
(1):随机采样一个 training length
(2):从完整的 user history 中选择对应长度的 elements。
下面解释详细步骤:
Stochastic Length Sampling:我们从 Beta 分布中采样一个 normalized length ratio
其中:Beta 分布的超参数。
然后我们计算 raw training length 为:
为适配硬件加速的要求(如 tensor core 对齐),我们将 8 的最近倍数,得到最终的 training length
给定 a target average training length
可推导出 Beta 分布的第二个形状参数:
因此,
平均长度 sequence sparsity。实验结果表明,调整形状参数 Beta 分布尽可能接近 U 型分布时,模型性能表现更优。
Element Selection Policy:给定 full history 中选择对应数量的 items (推理阶段截断至interactions (即时间维度),能持续实现最优的模型准确性。
即,保留最近的
个行为。
Batch-Level Load Balancing:为缓解因为变长序列导致的 GPU 负载失衡问题,本文提出 batch-level load-balancing operator,使每个 batch 的 total token budget 保持为 batch size),同时保留 stochastic training distribution 。该算子包含两个阶段:
Global Length Allocation:对序列进行随机截断,使 batch 内所有序列的总长度接近 GPU 的利用率均衡,且 computational graph 可基于平均序列长度(而非最大序列长度)来构建。
Sequence Compaction:对序列进行压缩,使每个序列的长度精确等于 longer sequences 的多余 tokens 重新分配至 shorter sequences ,消除 padding 操作,降低内存开销和 IO 开销(见 Figure 2 )。
为高效处理这些压缩后的变长序列,本文设计了不规则目标注意力机制(Ragged Target Attention),由高度优化的 GEMM kernel 提供支持。与标准的 cross-attention 不同,该方法通过一个 auxiliary index tensor 来标记 segments 的边界,避免了padding 操作。将 Keys(values(query (segments 。
STCA 提供了一种以 target 为中心、可堆叠的交叉注意力机制,计算复杂度与序列长度 RLB 在多个 targets 间共享用户侧计算,抑制 IO 开销和计算开销;长度外推策略在以短序列为主的数据集上训练,却在推理阶段实现长序列的性能增益。上述组件的结合,为严苛延迟预算下的端到端 long-sequence ranking 提供了一套完整的解决方案。
Setup:本文在 Douyin 的离线数据集上对 sequence encoders 进行评估,优化目标包含三个核心业务指标:完播 finish(视频完整观看)、快滑 skip(快速滑动跳过视频)、主页点击 head(点击创作者主页),评价指标为 AUC(值越高越好)和负对数似然(NLL,值越低越好)。为使对比结果更严谨,所有基线模型均融合了 TWIN (10k) (《TWIN V2: Scaling Ultra-Long User Behavior Sequence Modeling for Enhanced CTR Prediction at Kuaishou》)模块(基于 10k 长度 behavior search 的检索式模块);而本文的方法移除了 TWIN (10k) ,完全依赖端到端的 long-history modeling 。关键的是,所有对比模型均在计算量大致匹配的条件下进行评估:per-sample sequence FLOPs 和 step-time 在各方法间保持一致。对于二次方复杂度的 encoders (Transformer、HSTU),通过降低模型 depth/width,使其总计算量与 STCA 相当,确保对比的公平性。
本文将 Single-layer target attention 、DIN、Transformer (self-attention) 、HSTU 作为基线模型,与 STCA (stacked target --> history cross attention) with RLB and Train Sparsely / Infer Densely ("Ext")进行对比。表格中所有结果均为相对 production baseline 模型的变化百分比,production baseline 模型为:RankMixer + Single-layer Target Attention + TWIN(10k);其中 AUC 提升(ΔAUC 为正)、NLL下降(ΔNLL 为负)时,模型性能更优。
所有模型共享完全相同的 non-sequence features、optimizers 和 data splits,仅 sequence encoder 和是否使用TWIN(10k) 存在差异。
注意:
所有
baselines都融合了TWIN (10k),基于10k长度behavior search的检索式模块。所有
baselines都采用RankMixer来建模feature interaction。
Single-layer target attention对应的baseline就是production baseline,它是所有模型的基准。此外,
DIN与Single-layer target attention的差异是注意力得分的计算公式不同:
Single-layer target attention:简单的向量内积作为注意力得分。
DIN:更复杂的MLP-based activation unit来计算注意力得分:其中:
为历史商品, 为 target商品,表示它们的 representation,表示向量拼接, 表示逐个元素乘法。
DIN的原始论文强调:用户对不同历史商品的“兴趣”不是简单的向量内积能刻画的,而是需要local activation——即target与历史商品的交互应该通过一个可学习的网络来建模。
实验结果与分析:Table 1 的结果显示,尽管未使用 TWIN (10k) ,STCA + RLB + Ext 在所有任务上均实现了最优的性能提升:
完播任务 AUC 提升 0.49% 、NLL 下降 1.16% 。
快滑任务 AUC 提升 0.71% 、NLL 下降 1.14%。
主页点击任务 AUC 提升 0.39% 、NLL 下降 1.41%。
在计算量匹配的设置下,基线模型也实现了一定的性能提升:
DIN 的最大提升为 AUC +0.23%、NLL -0.21% 。
Transformer 的最大提升为 AUC +0.38%、NLL -0.46% 。
HSTU 的最大提升为 AUC +0.52% 、NLL -0.86% 。
但本文方法始终实现了最大的性能增益,在 NLL 指标上的提升尤为显著(如主页点击任务 NLL 下降 1.41% )。
性能增益与本文的设计逻辑高度契合:
retrieval features 会通过预筛选丢失部分信息,且破坏端到端的梯度传播。
STCA 以 per target 计算成本,对 full history 进行精确的 softmax attention 。
RLB 消除了多个 targets 间的 user encodings 冗余。
Train Sparsely / Infer Densely 策略让模型接触到 calibrated tail of long contexts,实现数 multi-thousand-token 的推理而无需 full-length training。

核心结论:在 non-sequence features 相同、计算量匹配的条件下,STCA+RLB+Ext 同时提升了 ranking 和 calibration ,且简化了模型架构(无需 TWIN (10k)),为 Douyin 实现高准确性、可落地的 long-sequence modeling 提供了实用路径。
Setup and metrics:本文对端到端的 STCA --> RankMixer with RLB (m=8) and single-query cross-attention 框架进行消融实验。除非特别说明,训练和评估的序列长度均为 AUC 提升百分比,强基线模型为 RankMixer-only baseline 模型,且与实验模型共享相同的 non-sequence features 和 optimization。
性能增益的来源:Table 2 的消融实验结果表明:
在 sequence path 中添加 a token-wise FFN ,并将 STCA 的层数从 single boost (AUC+ 0.18%)。
将 FFN 升级为 SwiGLU ,进一步实现 AUC +0.11% 的提升。
扩大 sparse ID embeddings 的 embedding 维度( AUC +0.08% )和引入时间差(time-delta )辅助信息( AUC +0.08% ),均对性能产生了显著的正向贡献。
将 attention heads 数量从 8 增加至 16 ,实现了小幅但正向的性能提升(AUC +0.05% )。
最后,query fusion 机制(即,lower-layer summaries 重新注入 higher layers ,实现 target-conditioned reasoning,为模型带来 AUC +0.06% 的提升。

Compute–quality scaling:Figure 3 展示了模型 depth/width 匹配时,计算量(FLOPs)与模型准确性(NLL)的关系,有两个核心结论值得关注:
Linear vs. quadratic in L:STCA 的 sequence-side FLOPs 与长度 Transformer 呈二次方增长。当序列长度 500 增至 10k 时,STCA 的 FLOPs 从 1.06 GFLOPs 增至 21.06 GFLOPs(约 19.9 倍),而 Transformer 从2.08 GFLOPs 增至 236.26 GFLOPs(约 113.6 倍)。
Better frontier at long L:在 NLL 相近(≈0.396 )的情况下,STCA 在 L = 10k (21.06 GFLOPs )下即可实现该准确性;而 Transformer 需要在 L = 8k (156.24 GFLOPs )下才能实现,计算量约为 STCA 的 7.4 倍。
上述结果与本文的整体研究发现一致:
STCA 移除了 history self-attention ,将计算资源聚焦于 target <--> history relevance(接近线性的 scaling )。
RLB 将用 user path 开销平摊至多个 targets(并可扩展至多个 requests/sessions )。
train sparsely / infer densely 策略在 2k 长度的序列上训练,却在推理阶段支持 10k 长度。
三者结合提供了一条实用的性能 scale-up 路径:STCA 能在计算量相当或更低的情况下,处理 longer contexts ,同时保持或提升 ranking quality。

Setup:RLB 在 request 边界实现以用户为中心的 batching :对于包含 one user history and multiple targets 的每个 request,仅传输并编码一次共享的 user/context payload,将其复用至所有 targets,在梯度同步前对 request level 的梯度进行聚合。除非特别说明,实验采用 STCA --> RankMixer 框架并启用 RLB ,与基于 point-wise baseline 模型在相同的数据集、optimizer 和 batch size 下训练。报告的带宽数据包含所有 non-sequence features ( profile/context, content, creator 等),即端到端的载荷数据。
带宽占用:RLB 通过将 user/history payload 平摊至多个 targets ,大幅降低了模块间的通信流量:实测结果显示,当 history length 77%,在 84% (均包含所有现有特征)。更长序列下的带宽节省效果更显著,这是因为避免了 per-target 对相同 user history 的重复传输。
吞吐量与 scalability:相对 point-wise baseline (记为 1x ),RLB 实现了端到端训练吞吐量 2.2 倍的提升;结合进一步的kernel optimizations ——为 reordered single-query attention 设计专用的 batched matmul 、高吞吐量的 SwiGLU、optimized LayerNorm ,吞吐量的提升幅度可达 5.1 倍。在相同的基础设施下,将 per-target activations and payload 开销平摊,还使可训练的最大序列长度提升约 8 倍(原本在长度 memory/IO 限制的工作负载,在约
参数服务器与模块间成本:在梯度同步和 feature-serving 的边界,RLB 进一步降低了开销:实测表明,训练阶段 Parameter Server: PS 的 CPU 使用率降低 50%,data <--> training 间的通信带宽降低 50% ;训练侧的 Parameter Server CPU 负载同样降低 50% 。
讨论:这些性能增益与 STCA 的架构效率形成互补:
STCA 通过 single-query cross attention,将与 history length
而 RLB 消除了同一 user/history 在多个 targets 间的冗余传输和重复编码。
二者结合实现了更高的 samples-per-second、更低的 Parameter Server 资源竞争,以及更大的可行序列长度,使模型能在固定的延迟和硬件预算下实现长上下文建模。
Setup:本文采用 STCA encoder with single-query optimization ,验证所提出的长度外推框架(extrapolation framework)。将 user token RankMixer 模型,并采用 RLB 训练(1.3.3节的策略随机采样。所有结果均为相对于固定的 2k-token 的基线模型的完播率 AUC 提升百分比。除非特别说明,推理阶段的序列长度为
最大训练长度的影响(Table 3):将最大训练长度 2k 逐步增加至 10k,模型的 AUC 提升幅度也随之相应增加,从微弱的 +0.03% 提升至显著的 +0.21% 。上述结果证实,要使模型能稳健地泛化至 long contexts,训练方案必须让模型接触到与推理阶段长度接近或相似的序列。

Sequence Sparsity Optimization:Table 4 展示了模型效率与准确性的权衡关系。
将平均训练长度 1.0k 增加至2.5k ,AUC 提升幅度从 +0.09% 增至 +0.22% ,而 sequence sparsity 从 10% 降至 25%。
当平均训练长度超过 2.0k 后,性能提升的边际效应递减。
这证实 sequence sparsity 约 20% 时,模型能实现效率与准确性的最优平衡。与 HSTU 中的随机长度策略(sequence sparsity =57.6%)相比,本文方法实现了更优的计算效率。

Subsequence Selection Strategy 验证:保留最新的 interactions(贪心策略)实现了 AUC +0.21% 的提升,而随机采样无任何性能增益。这有力证明了时间局部性(temporal locality )在用户行为建模中的重要性。
Beta Distribution Shape 分析:Table 5 验证了本文的分布设计(distribution design):U 型分布(AUC +0.21% ),显著优于 decreasing 分布(AUC +0.11% )和偏态分布(AUC +0.08%),证实双峰采样能优化 training curriculum 。

Efficiency-Accuracy 的权衡:本文方法在 10k 推理长度下实现了离线 AUC +0.23% 的提升,以三分之一的计算成本实现了 10k 全长度训练性能增益(AUC +0.30% )的约 80% 。Online A/B tests 证实了该方法在生产环境的可行性(完播率 AUC +0.17%)。
结论:实验结果全面验证了本文方法的有效性:
(1):基于 U 型 Beta 分布的随机长度训练策略,实现了高效的长度外推。
(2):最近时间的子序列选择策略,保留了用户行为的 sequential patterns 。
(3):负载均衡策略确保了训练效率。
在本文的默认设置下——HSTU 的随机长度策略(Sequence Sparsity = 57.6% )相比较,本文方法将 Sequence Sparsity 降至 20% ,同时保持模型准确性,实现了更优的计算效率。
Setup:本文将 STCA + RLB + Extrapolation 的模型在 Douyin 和 Douyin Lite 全量上线一个月,以 single-query target --> history encoder 替代 TWIN (10k)-augmented retrieval features,其余模型组件保持不变。报告了相对对照组的 30-day Activeness、App Stay Time 、Finish、Comment 、Like 的提升百分比,包含整体用户和按用户活跃度划分的细分群体结果(Table 6)。
本文方法在两款产品、所有用户群体中均实现了一致且显著的在线性能提升。整体而言:
完播率(Finish )与 App Stay Time 同步提升,互动指标(Comment 、Like )实现大幅增长。
性能增益在 low/medium 活跃度用户群体中尤为显著,表明模型在用户行为稀疏/噪声较大的场景下,实现了更优的个性化推荐效果。
同时,用户 30-day Activeness 也实现了小幅但持续的提升。
性能提升的核心原因在于:
(1):STCA 将计算资源精准聚焦于 long contexts 的 target --> history interactions。
(2):RLB 将 user encoding 开销平摊,使模型推理成本控制在预算内。
(3):Train Sparsely/Infer Densely 策略让模型在训练阶段接触到 a calibrated tail of long sequences。
上述技术的结合,使端到端的 long-history modeling 在实现高准确性的同时,具备了生产级规模的可落地性。

本文提出一套端到端的 long-sequence 推荐解决方案,同时实现了架构、系统和训练的高效性。
在架构层面,STCA 以 single-query target --> history cross-attention 替代 history self-attention ,使计算复杂度与序列长度呈线性关系(
在系统层面,RLB 在 request level 复用 user encoding,消除冗余的传输和计算。
在训练层面,"train sparsely / infer densely" 的长度外推策略,使模型能以适中的训练成本,在长序列上实现 dense inference 。
离线和在线实验均表明,随着 sequence length 和 sequence-module capacity 的提升,模型性能呈现稳定且显著的增长,且符合 scaling-law 的特性。
本文的核心发现包括:
single-query attention 足以支撑短视频排序任务,且保持
基于小 Beta 分布的随机长度采样,能以约三分之一的训练成本,实现 10k 窗口性能增益的约 80% 。
模型的参数量预算应优先分配至 sequence path ,如 SwiGLU 、cross-layer query fusion 、time-delta features —— 它们的作用会随序列长度的增加而增强。
系统层面的优化手段对模型的可落地性起决定性作用——当 RLB 使端到端带宽开销降低最高达 84% ,参数服务器CPU 使用率减半,吞吐量提升 2.2 倍,可训练的最大序列长度提升 8 倍。
在实际应用中,一套高性能的配置方案为:4-layer STCA (配备 SwiGLU 和 query fusion )+ time-delta features + RLB + stochastic-length training (小 ≈2k ),推理长度为 10k (5倍的 extrapolation ratio )。该配置使模型性能可以随 sequence length 和 sequence-module capacity 的提升实现单调增长,同时将训练成本和推理成本控制在预算内,为实现高准确性、生产级的 long-sequence 推荐建模提供了可落地的技术路径。
直接在 long contexts 上训练易导致模型不稳定(如 curriculum :
(1):在 token-level filters 和 attention patterns。
token-level filters指的是target-history attention。
(2):在 architecture iteration 阶段,为实现更快的收敛和更低的资源消耗,在
为将该模型集成至更大的 production stack ,首先将 sequence sub-network 训练至收敛,将其参数加载至 composite model,最后进行 joint finetuning 。这种分阶段的训练策略,避免了当框架其他部分已具备较强性能时,sequence path 出现梯度消失的问题。
STCA 在不同序列长度上具备良好的泛化性,原因在于每个 history token 均基于 target 进行独立处理,使模型架构天然具备长度无关性;通过堆叠多个 layers,信息聚合的效果能随序列长度 target 对 user history 进行筛选,STCA 对真实日志中常见的无关行为或噪声行为的敏感度更低,提升了模型对变长序列和 heterogeneous user patterns 的鲁棒性——这些特性对模型在工业级规模的落地至关重要。
Instance-wise (triplet) batching ,会对每个样本IO 开销为
按序列长度进行 padding/bucketing,能缓解 kernel 的计算差异,但仍会重复进行用户编码。
History truncation / retrieval-first 的方式,通过缩短序列或选择子序列降低计算成本,但会丢失信息并破坏完整序列的端到端梯度。
Embedding caching / clustering 的方式,通过压缩用户历史来降低成本,但会引入近似误差。
与之相反,Request-Level Batching: RLB 是无损且端到端的策略:保留完整的用户历史 per-target user-path 计算复杂度从 8倍,提升 GPU 利用率,同时使可处理的序列长度
GQA/MQA 通过减少 distinct K/V projections 的数量,降低内存/带宽开销,但在长度 score 计算仍为 IO 高效的 kernels (如 FlashAttention)减少了内存通信量,但仍保持二次方的计算复杂度;线性/低秩注意力变体通过近似实现
STCA 则完全移除了 history self-interactions ,以 per layer 计算成本实现精确的 single-query target --> history attention(矩阵乘法重排进一步降低了计算量),而下游的 RankMixer 仅对少量的、与长度无关的张量进行处理。RLB 作为互补策略,将用户侧计算开销平摊至 targets ,使 per target 的计算复杂度从 head sharing 和 fused kernels 兼容,但我们的主要节省源于:
(1):从架构层面消除二次复杂度。
(2) :实现 system-level 摊销。
这一切都无需借助 retrieval 或 truncation 即可完成。