从自注意力到 HSTU:解构下一代推荐系统引擎
摘要: 长期以来,深度学习推荐模型 (DLRMs) 一直是业界的主流。然而,随着数据和算力的爆炸式增长,这些模型逐渐暴露出扩展性的瓶颈——即性能提升饱和的问题。为了突破这一天花板,学术界和工业界开始将目光投向了在自然语言处理领域大放异彩的生成式范式。本文将首先深入剖析现代序列模型的基石——自注意力机制 (Self-Attention) 的核心原理,随后详细拆解 Meta AI 在其论文《Actions Speak Louder than Words》中提出的 HSTU 架构,看它如何对自注意力进行精巧的改造,并最终成为驱动万亿参数级别生成式推荐系统 (GRs) 的核心引擎。
第一部分:理解基石——深入自注意力机制 (Self-Attention)
核心思想
在处理序列数据时,一个核心的挑战是如何理解每个元素在特定上下文中的确切含义。自注意力机制的提出,正是为了解决这个问题。它允许模型在处理序列中的每一个元素时,都能够动态地、无视距离地去关注序列中所有其他元素,并根据相关性计算出一个加权的上下文表示。简单来说,它的目标是回答:“为了更好地理解当前这个词,我应该在多大程度上关注句子里的其他词?”
QKV 三元组的直观理解
要理解自注意力的内部工作原理,我们必须先理解它的三个核心组件:Query (查询), Key (键), 和 Value (值)。我们可以构建一个技术化的比喻来理解:
- Query (Q): 代表当前元素为了更好地理解自身而提出的“查询请求”。它源于当前元素,表达了“我想寻找与我相关的上下文信息”的意图。
- Key (K): 代表序列中所有元素(包括自身)用来“被查询”的标识。每个元素都会生成一个 Key,用来响应来自其他元素的 Query,表明“我这里有这样的信息”。
- Value (V): 代表序列中所有元素实际携带的“信息内容”。一旦 Query 和 Key 匹配成功,Value 就是最终要被提取的信息。
数学原理与公式
这三者之间的交互,通过经典的缩放点积注意力 (Scaled Dot-Product Attention) 公式来定义:
\[\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V\]
我们可以这样简洁地拆解这个公式:
- \(QK^T\): 计算 Query 和所有 Key 的点积,得到每个元素对于当前元素的原始“相关性”或“注意力”分数。
- \(\frac{...}{\sqrt{d_k}}\): 除以一个缩放因子(Key 向量维度的平方根),目的是为了在训练时保持梯度的稳定。
- \(\text{softmax}(...)\): 将原始分数进行归一化,转换成总和为 1 的权重系数。这使得模型可以像一个概率分布一样,清晰地知道应该将多少注意力“分配”给每个元素。
- \(...V\): 将上一步得到的权重系数与每个元素对应的 Value 相乘再求和,得到一个加权汇总后的输出。这个输出就是融合了全局上下文信息的新表示。
第二部分:革新之路——HSTU 如何为推荐系统重塑注意力
有了对标准自注意力的理解,我们就能更好地欣赏 HSTU 的设计有多么精妙。它并非简单地应用自注意力,而是针对推荐场景的独特挑战进行了的改造。
面临的挑战
推荐系统的数据流具有几个棘手的特性:
- 高基数词汇 (High Cardinality): 用户和物品的 ID 数量可达数十亿,远超语言模型的词汇表。
- 非平稳数据 (Non-stationary): 新的用户和物品不断涌现,数据分布持续变化。
- 兴趣强度 (Intensity of Preference): 用户与某个主题的交互次数本身是一个极强的信号,而标准 Softmax 容易将其“抹平”。
HSTU 的三步核心改造
HSTU 的每一层都通过一个统一的模块,对输入序列进行高效的处理。这个模块可以被分解为三个步骤:
步骤一:逐点映射 (Pointwise Projection)
与标准注意力类似,HSTU 首先通过一个线性层将输入 \(X\) 映射成 Q, K, V。但关键在于,它还额外生成了一个门控权重 U (Gating Weights),为后续的精巧操作埋下伏笔。
\[U(X), V(X), Q(X), K(X) = \text{Split}(\phi_1(f_1(X)))\]
步骤二:空间聚合 (Spatial Aggregation) - 关键创新
这是 HSTU 与标准自注意力分道扬镳的地方。它计算完 \(QK^T\) 之后,毅然放弃了 Softmax 归一化。取而代之的是直接将点积结果加上相对位置偏置(rab),然后与 V 结合。
\[A(X)V(X) = \phi_2(Q(X)K(X)^T + \text{rab}^{p,t})V(X)\]
这个看似微小的改动,其背后的动机却至关重要:通过放弃归一化,模型得以保留用户兴趣的原始“强度”信号。例如,用户与“户外运动”交互 50 次和交互 5 次所产生的 \(QK^T\) 原始分值会有巨大差异,HSTU 能够捕捉并利用这种差异,而 Softmax 则会大大削弱它。
步骤三:逐点变换 (Pointwise Transformation) - 精巧的门控机制
在聚合了上下文信息之后,步骤一中生成的门控权重 U 终于登场。HSTU 将聚合后的结果与 U 进行逐元素相乘(Hadamard 积 ⊙)。
\[Y(X) = f_2(\text{Norm}(A(X)V(X)) \odot U(X))\]
这个门控机制像一个智能的、可学习的滤波器。它能够根据输入动态地决定哪些融合后的信息应该被放大,哪些应该被抑制。这个简单的操作,却高效地替代了传统 DLRMs 中如 DCN、FM 等为实现特征交叉而设计的复杂网络结构。
第三部分:HSTU 的核心应用场景与计算方式
HSTU 作为生成式推荐器 (Generative Recommenders, GRs) 的核心引擎,其应用场景主要是在工业级推荐系统中的两大环节:排序 (Ranking) 和检索 (Retrieval)。这张图精确定义了在这两个任务中,模型如何读取输入序列 (xᵢs) 并计算/预测目标输出 (yᵢs)。
1. Ranking (排序) - 预测用户对“特定内容”的反应
排序任务的目标是,对于一个给定的候选内容 Φᵢ,精准预测用户的反应 aᵢ (例如点击、喜欢、跳过等)。HSTU 通过一种巧妙的序列构建方式来实现这一点。
- 输入 (xᵢs):
[cite_start]模型的输入是一条将内容 (Φ) 和用户行为 (a) 交错排列的序列 Φ₀, a₀, Φ₁, a₁, ..., Φₙ₋₁, aₙ₋₁。 [cite: 168] [cite_start]这种设计的核心在于,当模型需要做预测时,候选内容(即“target”)已经被包含在了历史序列中。这是一种在自回归设定下实现“目标感知 (target-aware)”的精妙方法。 [cite: 176, 178]
- 计算与预测 (yᵢs):
[cite_start]这是一个典型的自回归预测任务。当模型按顺序处理完输入序列 Φ₀, a₀, ..., Φᵢ 后,它的计算目标是预测下一个词元 (token),也就是用户的行为 aᵢ。 [cite: 178] [cite_start]因此,监督信号 (label) yᵢ 在内容 Φᵢ 的位置上是 aᵢ。而在行为 aᵢ 的位置上,我们不需要预测下一个内容,所以输出被定义为空 (∅),在训练时会被忽略。 [cite: 168]
- 简单来说: 模型学的函数是 P(aᵢ | 历史序列, Φᵢ),即在看到所有历史记录和当前候选内容 Φᵢ 的条件下,用户采取行动 aᵢ 的概率。
2. Retrieval (检索) - 生成用户“下一个会喜欢”的内容
检索(或称召回)任务的目标是,从海量的物品库中,高效地找出一小部分用户最可能产生积极互动的内容。
- 输入 (xᵢs):
[cite_start]模型的输入是一系列(内容, 行为)对 (Φ₀, a₀), (Φ₁, a₁), ...。 [cite: 168] 这代表了用户的完整历史互动记录。
- 计算与预测 (yᵢs):
[cite_start]模型的计算目标是预测用户下一个会产生积极行为的内容 Φ'ᵢ。 [cite: 168, 171]
- 如图中定义,如果用户对 Φᵢ 的行为 aᵢ 是积极的(例如喜欢、观看超过阈值),那么训练的目标 yᵢ 就是这个内容 Φᵢ 本身。
- [cite_start]如果行为 aᵢ 是消极的,那么这个目标就被视为空 (∅),模型不会被训练去生成这个内容。 [cite: 168]
- 简单来说: 模型在学习一个生成函数 P(Φ_{i+1} | 历史序列),但这个函数被训练得只去生成那些曾带来“好结果”的内容,从而实现高效的相关物品召回。
核心总结
这张图表的核心思想是“万物皆序列”。通过对输入 (xᵢs) 和输出 (yᵢs) 进行精心设计,HSTU 能够将传统的、依赖复杂多模块架构的排序和检索任务,统一转化为一个自回归的序列生成问题。它不再是计算一个静态的分数,而是在“续写”用户的行为历史,无论是续写一个“行为”,还是续写一个“物品”,都体现了生成式模型的本质。
第四部分:总结与展望
自注意力机制无疑是深度学习领域一项革命性的发明,但直接将其应用于所有领域并非最优解。HSTU 的成功在于,它深刻洞察了推荐场景的本质,并对自注意力进行了精准的手术刀式改造:
- 放弃 Softmax,以保留对推荐至关重要的“强度”信息。
- 引入门控 U,以一种极为高效的方式实现了复杂的特征交互。
这种设计上的化繁为简,使得 HSTU 能够以更低的内存占用、更快的训练和推理速度,支撑起比传统 DLRMs 复杂数百倍的生成式推荐模型,并取得了显著的效果提升。可以说,HSTU 对 DLRMs 实现了一次“降维打击”。
更重要的是,HSTU 的出现及其展现出的强大扩展性(Scaling Law),证明了为推荐系统构建领域“基础模型”的可行性,为我们描绘了一个更加统一、智能和强大的生成式推荐新范式的未来。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |