HyTRec:面向长行为序列推荐的混合时间感知注意力架构 HyTRec: A Hybrid Temporal-Aware Attention Architecture for Long Behavior Sequential Recommendation
混合线性与softmax注意力,兼顾长序列推荐的效率与精度
前置知识
Softmax Attention
标准的缩放点积注意力机制,是Transformer的核心操作。给定查询矩阵Q、键矩阵K和值矩阵V,其计算公式为 $O = \text{Softmax}(QK^T / \sqrt{d})V$。该机制通过计算所有位置对之间的相似度来建模全局依赖关系,具有极强的表达能力,但时间和空间复杂度均为 $O(n^2)$,其中 $n$ 为序列长度。在推荐系统中,当用户行为序列长度达到数万级别时,这种二次复杂度会成为严重的性能瓶颈。
理解softmax attention的优势(高精度)和劣势(高复杂度)是理解本文动机的关键。HyTRec的核心思想就是在需要高精度的位置保留softmax attention,在其他位置用更高效的替代方案。
Linear Attention
线性注意力通过核函数近似避免显式计算 $n \times n$ 的注意力矩阵,将复杂度从 $O(n^2d)$ 降低到 $O(nd^2)$。典型形式为 $O = \text{Norm}(Q(K^TV))$。在因果设置下,线性注意力可以用循环状态更新实现。然而,纯线性变体存在语义混淆问题——多个不同的输入序列可能映射到相同的隐藏状态,导致检索精度下降。代表模型包括GLA(Gated Linear Attention)、DeltaNet等。
线性注意力是HyTRec处理长历史序列分支的基础。理解其效率优势和精度缺陷,才能理解为什么本文需要设计TADN(Temporal-Aware Delta Network)来增强线性注意力的时间感知能力。
序列推荐(Sequential Recommendation)
序列推荐旨在根据用户的历史交互序列预测其下一个可能交互的商品。与传统协同过滤不同,序列推荐将用户行为建模为时间序列,通过捕获交互间的动态依赖关系来推断用户偏好。经典模型包括SASRec(基于自注意力)、GRU4Rec(基于RNN)、DIN(基于注意力的兴趣激活)。近年来,生成式推荐范式兴起,如P5、TALLRec等将推荐任务统一为序列生成问题。
本文解决的核心问题就是如何在超长行为序列(万级交互)场景下高效且精确地进行序列推荐。理解序列推荐的基本范式和挑战是理解本文贡献的前提。
State Space Models(SSM)与Mamba
状态空间模型(如S4)和选择性状态空间模型(如Mamba)是线性序列建模的重要范式。它们通过将序列映射到固定维度的状态空间中,实现严格的 $O(n)$ 线性复杂度。Mamba引入了选择性机制,允许模型根据输入动态调整状态更新策略。DeltaNet是线性注意力的一个变体,通过delta规则进行状态更新。这些模型在长序列建模中展现了优秀的效率,但在推荐场景中面临语义注入性不足的问题。
HyTRec的TADN模块受DeltaNet启发,但在其基础上加入了时间感知门控机制。理解SSM和DeltaNet的设计思想是理解TADN技术新颖性的基础。
序列分解策略(Sequence Decomposition)
将用户的长行为序列分解为短期子序列和长期子序列两个部分分别处理的策略。短期子序列 $S^u_{short} = [x_{n-K+1}, \ldots, x_n]$ 固定长度为K,聚焦用户近期行为以捕捉短期兴趣漂移;长期子序列 $S^u_{long} = [x_1, \ldots, x_{n-K}]$ 包含历史交互的其余部分,覆盖长期稳定的消费偏好。这种分解使得模型可以对不同性质的序列段采用不同的处理策略。
序列分解是HyTRec框架的第一步,直接决定了后续双分支架构的设计。理解这种分解的合理性有助于理解整个模型的工作流程。
研究动机
在工业级推荐系统中,用户行为序列的长度已从传统的数百级增长到数万级,这为模型提供了丰富的交互信号来预测下一个购买行为。然而,现有方法在处理这类超长序列时面临一个根本性的效率-精度困境:基于softmax注意力的模型(如SASRec、HSTU)具有 $O(n^2)$ 的二次复杂度,当序列长度超过1000时效率急剧下降——实验表明HSTU在序列长度从100增长到12k时,吞吐量从85.2 K token/sec暴跌至8.9 K token/sec,仅为HyTRec的19%。而线性注意力模型(如GLA、DeltaNet)虽然实现了 $O(n)$ 的线性复杂度,但由于固定维度状态的信息覆盖问题,在压缩海量历史信息时会损失检索精度,产生语义混淆。此外,线性模型在捕捉用户兴趣快速漂移方面存在滞后性——它们将所有信息压缩到固定状态中,无法区分即时高价值信号和大量历史噪声。
本文的目标是本文的具体目标是设计一种能够兼顾效率和精度的推荐框架,在工业级万级交互序列场景下实现高效且准确的下一个商品预测。具体而言,框架需要满足三个要求:(1)保持接近线性的推理复杂度,避免softmax注意力的二次开销;(2)恢复线性注意力损失的检索精度,确保对细粒度依赖关系的捕获能力;(3)具备对用户兴趣快速漂移的敏感性,能够在闪光销售等场景下及时响应用户意图变化。实验目标是在Amazon Beauty、Electronics、Movies&TV三个公开数据集上超越现有强基线方法,同时在万级序列长度下维持高效的训练和推理速度。
与已有工作不同的是,本文的独特切入角度是明确解耦长期稳定偏好和短期意图突变的建模过程。与现有混合架构(如Jamba在语言模型中交替堆叠SSM层和注意力层)不同,HyTRec从推荐领域的先验知识出发,在序列层面和架构层面同时实现解耦:在序列层面,将用户行为序列分解为短期子序列和长期子序列;在架构层面,对短期分支使用标准softmax注意力保证精度,对长期分支使用混合注意力架构(主要由TADN线性层构成,稀疏插入softmax层)保证效率。这种设计的关键洞察是:用户行为序列中,近期交互(如最近K次行为)与远期交互在信息价值和时效性上有本质区别,应该用不同的机制分别处理。此外,通过引入时间感知的delta网络(TADN),在线性注意力层中加入指数衰减门控,解决了纯线性模型无法区分时间远近信号的问题。
核心方法
HyTRec的整体思路可以从直觉和技术路线两个层面理解。直觉上,用户在做购买决策时,既有长期积累的品牌偏好、品类兴趣等稳定因素,也有近期浏览、促销活动等引发的短期意图突变。这两种信息的时间特征截然不同:长期偏好跨越数月甚至数年,而短期意图可能在数小时内快速变化。因此,用同一套机制处理整个行为序列是不合理的。技术路线上,HyTRec首先将用户长序列 $S^u = [x_1, x_2, \ldots, x_n]$ 分解为短期子序列 $S^u_{short} = [x_{n-K+1}, \ldots, x_n]$(长度固定为K)和长期子序列 $S^u_{long} = [x_1, \ldots, x_{n-K}]$(长度为 $n-K$)。短期分支使用标准多头自注意力(MHSA)处理,确保对近期行为的最大精度;长期分支使用混合注意力架构处理,该架构由N个编码层组成,主要使用TADN作为线性复杂度的基础单元,并以7:1的比例稀疏插入标准注意力层。两个分支的输出随后融合生成最终预测。这种双分支设计使得模型在整体上保持近线性复杂度,同时恢复了线性模型通常会损失的检索能力。
HyTRec的核心创新点是Temporal-Aware Delta Network(TADN),它与已有方法的本质区别在于在线性注意力的状态更新中引入了时间感知的门控机制。标准的Gated DeltaNet使用纯语义相关的衰减来更新隐藏状态,而TADN通过指数时间衰减因子 $\tau_t = \exp(-(t_{current} - t_{behavior})/T)$ 直接量化历史行为与当前决策的时间相关性。这个衰减因子与特征相似度融合后生成动态门控权重 $g_t$,使得模型能够对近期行为赋予更高的权重(因为 $\tau_t$ 接近1),同时通过静态门控组件 $g_{static}$ 保留长期偏好。具体而言,信息融合机制 $\tilde{h}_t = g_t \odot \Delta h_t + (1 - g_t) \odot h_t$ 中,$\Delta h_t = h_t - \bar{h}$ 表示短期偏好特征(当前行为与长期平均的偏差),当 $g_t$ 较大时(即行为时间较近),短期偏差特征主导输出,使模型能快速响应即时购买意图;当 $g_t$ 较小时,长期偏好通过 $g_{static}$ 组件得到保留。这种设计解决了纯线性模型的核心痛点——无法区分时间远近信号导致的语义稀释问题。
方法步骤详情
HyTRec的方法可分为四个关键步骤。第一步是序列分解:将用户的长交互序列 $S^u = [x_1, x_2, \ldots, x_n]$ 分解为两个不相交的子序列——短期行为序列 $S^u_{short} = [x_{n-K+1}, \ldots, x_n]$(长度固定为K)和长期历史行为序列 $S^u_{long} = [x_1, \ldots, x_{n-K}]$(长度为 $n-K$)。第二步是双分支数据流处理:短期分支对 $S^u_{short}$ 应用标准多头自注意力(MHSA)以确保对近期行为的最大精度;长期分支对 $S^u_{long}$ 应用混合注意力架构,该架构由N个编码层组成,以7:1的比例交替使用TADN层和标准注意力层。第三步是TADN的计算:首先计算时间衰减因子 $\tau_t = \exp(-(t_{current} - t_{behavior})/T)$,然后生成时间感知门控 $g_t = \alpha \cdot [\sigma(W_g \cdot \text{Concat}(h_t, \Delta h_t) + b) \odot \tau_t] + (1-\alpha) \cdot g_{static}$,其中 $\Delta h_t = h_t - \bar{h}$ 是短期偏好特征,$g_{static} = \text{softmax}(h_t^T \bar{h} / \sqrt{d})$ 是长期偏好的静态门控。接着进行信息融合 $\tilde{h}_t = g_t \odot \Delta h_t + (1 - g_t) \odot h_t$。第四步是状态更新与输出:将融合特征集成到DeltaNet框架中,状态更新规则为 $S_t = S_{t-1}(I - g_t \beta_t k_t k_t^T) + \beta_t v_t k_t^T$,最终输出 $o_t = S_t q_t$ 可以表示为带时间感知衰减掩码的线性注意力操作。两个分支的输出融合后用于最终的下一个商品预测。
技术新颖性
HyTRec的技术新颖性体现在三个层面。第一,在架构层面,它是推荐领域首个基于混合注意力实现效率-精度平衡的工作。与Jamba等语言模型中的混合架构不同,HyTRec在序列层面(而非仅在层层面)实现了长期和短期信号的解耦,并引入了推荐领域的先验知识来指导混合设计。第二,在模块层面,TADN是对DeltaNet的创新扩展。标准DeltaNet的衰减是纯语义的,而TADN通过指数门控机制显式引入时间衰减因子 $\tau_t$,使得注意力机制在数学上优先关注近期交互($\tau \approx 1$),同时通过 $g_t$ 的静态组件保留长期偏好。状态更新中 $g_t$ 的引入使得模型能够丢弃不相关的远距离历史,聚焦于近期高意图信号。第三,在工程层面,HyTRec通过请求级别批处理(RLB)和稀疏训练-密集推理策略实现了工业级部署的可行性。3:1的混合比例(线性层:softmax层)经过实验验证为最优平衡点,在H@500、NDCG@500和AUC三个指标上均取得高效增益,同时将延迟控制在1.1092。
实验结果
实验结果全面验证了HyTRec的有效性。在三个Amazon公开数据集上,HyTRec展现了显著优势:在Beauty数据集上,H@500达到0.6643,远超所有三类基线方法(GRU4Rec的0.5263、SASRec的0.5776、HSTU的0.5838),AUC达到0.8655排名第一;在Electronics数据集上,H@500为0.3272(仅次于同类混合模型Qwen-next的0.3686),AUC为0.8760超越所有基线;在Movies&TV数据集上,H@500为0.7070和NDCG@500为0.6268,接近Transformer类模型的最优水平。训练效率方面,在序列长度从100到12k的全范围内,HyTRec的吞吐量保持稳定下降趋势,在5k长度下仍维持65.3 K token/sec的高吞吐量,而HSTU在相同长度下已损失近60%的处理效率。消融实验证明了各组件的贡献:基础模型(无TADN和短期注意力)的H@500仅为0.6043,加入短期注意力分支后提升至0.6343,加入TADN分支后进一步提升至0.6493,完整模型达到最优的0.6643。混合注意力比例实验表明3:1为最优配置,4:1时首个指标的效率增益降至零,6:1时延迟飙升至2.5296。在跨域迁移实验中,HyTRec在华为广告挑战赛数据集上的Recall@10(0.0317)、GAUC(0.8758)和AUC(0.9327)均显著超越SASRec。冷启动和沉默老用户的案例研究表明,HyTRec在这些挑战性场景下仍能取得优异表现(H@500分别为0.6622和0.6340)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Amazon Beauty 下一个商品预测 | H@500 | 0.6643 | HSTU 0.5838 | +13.8% |
| Amazon Beauty 下一个商品预测 | AUC | 0.8655 | HSTU 0.8602 | +0.6% |
| Amazon Electronics 下一个商品预测 | AUC | 0.8760 | Qwen-next 0.8797 | 次优(-0.4%) |
| Amazon Movies&TV 下一个商品预测 | H@500 | 0.7070 | DIN 0.7155 | 接近最优(-1.2%) |
| 跨域迁移(华为广告数据集) | Recall@10 | 0.0317 | SASRec 0.0235 | +34.9% |
| 超长序列训练效率(12k长度) | Throughput (K token/sec) | ~47 | HSTU ~8.9 | +428% |
局限与改进
HyTRec存在以下几个值得关注的局限性。首先,长期分支和短期分支的边界K是固定的经验值,缺乏对不同用户群体的自适应能力——对于兴趣频繁变化的用户可能需要更大的K值,而对于偏好稳定的用户则可能浪费计算资源。作者在讨论部分也明确承认了这一限制,并提出了基于用户特定特征动态调整边界的未来方向。其次,线性注意力模块在处理极长序列(如10k+ tokens)时仍面临固定维度状态的信息覆盖问题,即所谓的“记忆容量墙”——当历史信息总量超过状态空间的承载能力时,早期信息会被覆盖丢失。第三,实验仅在Amazon电商数据集上验证,未涉及内容推荐(如文章、视频)或社交推荐等其他场景,泛化能力有待验证。第四,尽管HyTRec在NDCG@500指标上表现优异,但在某些数据集上(如Electronics的NDCG@500仅为0.1192,低于Qwen-next等基线),整体排名稳定性仍有提升空间。此外,论文未提供模型参数量和显存占用的详细对比,这在工业部署评估中是重要指标。
独立分析的弱点
从独立分析的角度,HyTRec存在以下几个可改进的弱点。第一,序列分解策略采用了简单的固定长度截断,而非基于用户行为模式的自适应分割。对于行为频率差异极大的用户群体(如日活跃用户vs周活跃用户),固定的K值无法最优地划分长短期信息。改进方向可以是设计一个学习型的分割模块,根据用户的历史交互频率和意图稳定性动态确定边界位置。第二,TADN中的时间衰减因子 $\tau_t$ 使用单一的衰减周期T,假设所有品类的行为具有相同的时效性。但在实际电商场景中,不同品类(如快消品vs耐用品)的行为衰减速度差异很大。可以引入品类感知的衰减参数,使时间建模更加精细。第三,短期分支使用标准MHSA处理固定长度K的序列,当K较大时仍存在效率问题。可以考虑对短期分支也引入稀疏注意力机制,进一步降低整体延迟。第四,论文中的混合比例3:1是通过网格搜索确定的全局最优值,但在不同层中,线性注意力和softmax注意力的最优比例可能不同——浅层可能需要更多softmax注意力来捕获精确的局部模式,而深层可以更多依赖线性注意力进行全局压缩。
未来方向
作者在讨论部分提出了四个未来研究方向。第一,设计自适应混合注意力边界调整机制,利用用户特定特征(如交互频率、意图稳定性)动态分配线性注意力和softmax注意力的比例,而非使用固定阈值。第二,将HyTRec与扩展记忆架构集成,以解决线性注意力模块在处理极长序列时的记忆覆盖问题,允许混合注意力模块在保持线性效率的同时保留更多有价值的历史信息。第三,将框架扩展到多场景推荐,包括内容推荐(如文章、视频)和社交推荐,这些场景中用户交互的特征(如交互频率、语义复杂度)与电商场景有显著差异,需要调整混合注意力设计和TADN以适应特定场景需求。基于现有成果还可以延伸以下方向:探索TADN在其他序列建模任务(如点击率预测、广告排序)中的应用;研究更细粒度的时间建模方法,例如引入周期性衰减因子来捕获用户行为的周期性模式;设计轻量级的模型压缩和蒸馏技术,使HyTRec能够在资源受限的边缘设备上部署。
复现评估
从复现角度来看,论文的实验设置相对清晰:使用Amazon Beauty、Electronics和Movies&TV三个公开数据集,基于交互频率和商品复购次数进行数据过滤,在V100 GPU上进行所有实验。评估指标(H@500、NDCG@500、AUC)和基线方法(GRU4Rec、SASRec、DIN、HSTU、GLA、Qwen-next)均为该领域的标准配置。然而,论文未明确说明是否开源代码和模型权重,这会影响复现的难易程度。关键超参数包括:短期序列长度K、混合注意力比例(实验验证3:1最优)、时间衰减周期T、注意力头数(实验验证4最优)、专家数量(实验验证4最优)。数据预处理方面,论文提到对数据进行了交互频率过滤和产品复购次数过滤,但未给出具体的过滤阈值,这部分可能需要自行调优。总体而言,复现难度中等——核心算法描述清晰,但工程细节(如请求级别批处理RLB的实现、稀疏训练-密集推理策略的具体配置)需要一定的工程经验来实现。
论文图表
该图展示了注意力机制的演进历程,从标准softmax注意力到线性注意力,再到混合注意力架构的发展脉络。图中清晰标注了各阶段代表模型的计算复杂度和精度特征,说明了为什么需要混合架构来平衡效率和精度。
这张图为理解HyTRec的动机提供了宏观背景,展示了当前技术在效率-精度权衡上的困境,以及HyTRec在这一演进中的定位。