type
Post
status
Published
date
Mar 30, 2026
slug
summary
tags
推荐算法
category
知行合一
icon
password
这里写文章的前言:
一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
MixFormer

特征处理
非序列特征

为了让 Transformer 风格的架构能够更好地处理推荐系统中的特征,MixFormer对拼接后的非序列长向量 进行了多头切分:
- 均匀切分:模型将长向量 均匀地分割成 个连续的子向量,每个子向量的维度为 (其中 等于非序列特征总维度除以 )。
- 线性映射:每一个子向量随后会通过一个可学习的线性矩阵 ,被独立投影为一个维度为 的向量 。
- 生成多头输入:经过上述处理,非序列特征最终被转化为了 N 个独立的特征头 ,并作为查询(Query)输入到后续的 MixFormer Block 中。
为什么要进行切分?
MixFormer 采用这种切分策略主要有两个优势:
- 保留特征的语义多样性:如果将所有非序列特征压缩或坍缩成单一的向量头,会丧失特征间的异构性。将其切分为多个头,可以在不引入过高结构复杂度的情况下,完好地保留异构特征(如用户年龄、物品价格、当前时间)的独立语义空间。
- 适配下游的多头架构:这种切分方式为下游的网络块提供了一个灵活且计算高效的接口。在后续的 MixFormer Block 中,核心组件(如 Query Mixer、交叉注意力和输出融合)均是基于多头机制设计的。多头切分使得高阶特征交互能够与序列建模在后续阶段无缝集成。
序列特征
序列特征代表了用户随时间演变的历史交互行为。
- 特征构成:序列中的每一次动作(Action)都包含了多个维度的信息,例如物品标识符(Item ID)、动作类型(Action Type)、时间戳(Timestamp)以及其他附加的侧面信息(Side Attributes)。
- 嵌入与拼接:模型首先将单次动作中的这些构成特征分别通过专属的嵌入层(Embedding Layer)转化为向量,然后将它们拼接在一起,形成一个统一的单次动作表征向量 st。
- 形成序列:对于一个长度为 T 的用户行为历史,模型将其表示为序列输入
Query Mixer

Query Mixer 是 MixFormer Block 内部的第一个核心模块,专门用于替代传统 Transformer 解码器中的自注意力(Self-Attention)机制。
为什么放弃传统的 Self-Attention?
在推荐系统中,非序列特征(如用户年龄、物品类目、当前时间)来自完全不同的异构语义空间,并且通常对应着极大且稀疏的 ID 领域。在这种高度异构的情况下,依赖计算内积相似度(Inner-product similarity)来对齐不同特征空间是非常不可靠的。此外,自注意力机制还会带来不必要的巨大计算开销。因此,MixFormer 设计了 Query Mixer 这一轻量级且对硬件友好的模块,在不依赖相似度计算的前提下实现跨头信息交换。
Query Mixer 的计算过程高度精简,主要由两步构成:
- 无参数的跨头混合 (HeadMixing): 输入的 N 个特征头在进行层归一化(Layer Normalization)后,会执行 HeadMixing 操作。该操作通过将特征矩阵重塑(Reshape)为 的维度,对第一和第二维进行转置(Transpose),最后再展平(Flatten)回 的形状。这种设计不需要任何可学习参数,仅通过张量形变就高效地实现了不同特征子空间(头)之间的信息交换。此步骤结合了残差连接:
- 头专属的前馈网络 (Per-head SwiGLU FFN): 完成跨头信息混合后,为了进一步提取高阶语义,每个特征头都会通过一个独立实例化的 SwiGLU 前馈网络。为每个头分配专属 FFN 的设计,明确兼顾了特征的异构性,使得模型在保持高计算效率的同时,具备了极强的表达能力。该步骤同样带有残差连接:
通过 Query Mixer 的处理,模型生成了 N 个融合了异构特征的高阶表示头。这些高阶特征头会直接作为紧随其后的“交叉注意力(Cross Attention)”模块的 N 个独立子查询(Sub-queries)。这种设计巧妙地避免了使用额外的投影矩阵来切分查询,同时让代表用户不同偏好维度(不同特征子空间)的头,能够以解耦、专业化的方式去关注并聚合用户的历史行为序列
Cross Attention

接下来的 Cross Attention 阶段,其核心任务就是将这些已经提取出的“高阶非序列特征”作为指导,去对齐并聚合用户的“长序列行为信号”。
详细的计算流程和架构亮点如下:
1. 将高阶特征头直接转化为子查询 (Sub-queries)
在标准的 Transformer 中,通常需要通过一个投影矩阵(Projection Matrix)将输入映射为查询(Query)。但在 MixFormer 中,Query Mixer 刚刚输出了 N 个高阶特征头,模型直接将这 N 个头当作交叉注意力中的 N 个独立查询(Q)。
- 架构优势: 这意味着每一个查询头都专注于非序列特征的一个特定语义子空间(例如:头A关注用户年龄偏好,头B关注当前时间上下文)。这种设计让模型能够以解耦的、专业化的方式去关注用户的历史行为,同时也避免了引入额外的投影矩阵,降低了“注意力头坍缩(head collapse)”的风险。
2. 序列特征的逐层细化与 KV 生成
在处理作为键(Key)和值(Value)的用户长序列 时,MixFormer 引入了一个非常关键的创新设计:
- 层专属的前馈网络 (Per-layer SwiGLU FFN): 对于序列中的每一个历史动作 ,MixFormer 没有使用全局共享的投影,而是在每一个 MixFormer Block 层中,采用了一个该层独立参数化的 SwiGLU 前馈网络将其转化为潜在向量 。
- 为什么这么做? 这种层独立的参数化设计,允许模型随着网络深度的增加,逐步、动态地细化对序列表示的理解(progressive refinement),而不是在所有层中使用固定不变的序列特征提取方式。
- 随后,这个潜在向量 ht 会被切分并投影为供各个头使用的 Key 和 Value。
3. 特征条件下的序列聚合
准备好 Query(来自非序列特征)和 Key/Value(来自序列特征)之后,模型执行标准的交叉注意力计算:
- 每一个非序列查询头 qi 会去计算自己与序列中每一次历史行为的相关性权重(通过内积相似度与 Softmax 计算),并据此对序列的 Value 进行加权求和。
- 计算完成后,模型同样会加上一个残差连接(Residual Connection),将原始的查询头 qi 加回到聚合结果中。
4. 阶段性输出
经过 Cross Attention 模块的处理,模型输出了一组全新的高阶特征表示 。此时的每一个特征头,不仅保留了非序列空间的高阶语义,还融合了以该语义为条件(feature-conditioned)提取出的用户历史序列摘要。
这组特征随后会被送入 MixFormer Block 的最后一个环节——输出融合(Output Fusion),在那里它们将经历最后一次独立的非线性深度融合,以输出给下一层网络或最终的预测任务
Output Fusion

1. Output Fusion:深度的非线性融合
在 Cross Attention 阶段结束后,模型得到了 N 个输出头(z1,...,zN)。此时,每一个头都同时包含了该头对应的高阶非序列特征信息,以及以此为条件聚合而来的用户序列信息。Output Fusion 的任务就是将这两种信号进行深度的非线性整合。
- 头专属的 SwiGLU 前馈网络 (Per-head SwiGLUFFN): 通常的 Transformer 架构在这里会使用一个全局共享的前馈网络(FFN),但在 MixFormer 中这是不够的。因为之前我们好不容易通过多头切分保留了异构特征的独立语义(比如头A管年龄,头B管上下文),并且 Cross Attention 中加入了残差连接,如果这里用共享 FFN,会造成严重的特征串味和互相干扰。 因此,MixFormer 在输出融合层再次为每一个头独立实例化了一个 SwiGLU 前馈网络。其计算公式为: oi=SwiGLUFFNi(Norm(zi))+zi
- 架构收益: 这种独立转换的设计完好地保留了头部级别(head-level)的专业性,避免了不同异构特征子空间在非线性映射时发生表征干扰(representational interference),从而输出更具表达力且稳定的联合特征,直接送入下一层 MixFormer Block。值得注意的是,这种在 Query Mixer 和 Output Fusion 中统一使用头专属 FFN 的设计,完美解决了非序列特征与序列特征在参数分配上的冲突,实现了统一的参数化范式。
工业级效率优化:用户-物品解耦 (UI-MixFormer)
为了在真实的工业生产环境中大规模部署,MixFormer 还提出了一种用户-物品解耦策略(User-Item Decoupling):
- 特征解耦与掩码机制: 模型将非序列特征划分为独立的用户侧和物品侧子集。同时,在 HeadMixing 模块中引入了一个单向掩码矩阵(Mask),防止用户侧的头部混入物品侧的信号。
- 请求级批处理 (Request Level Batching, RLB): 经过解耦后,用户侧的计算(包括用户侧的头部与序列的交叉注意力计算)在一个请求的多个候选物品之间是纯净且通用的。这使得模型可以跨候选物品复用计算,极大地减少了冗余的算力开销。
4. 性能与收益
- 卓越的 Scaling Law: 离线实验表明,MixFormer 在同等参数和 FLOPs 预算下不仅精度超越了强大的分离式架构(如 RankMixer、LONGER),并且在扩展密集参数和序列长度时,均表现出了更加陡峭(优越)的联合扩展曲线。
- 极低的延迟: 借助 UI-MixFormer 的解耦与 RLB 技术,其在线推理速度实现了 超过 30% 的提升。
- 在线业务收益: 在抖音和抖音极速版的大规模在线 A/B 测试中,MixFormer 显著提升了核心的业务指标,包括用户活跃天数(Active Days)、应用使用时长(Duration)以及完播、点赞率等。
- Author:YelloooBlue
- URL:https://tangly1024.com/article/333e32f0-1b7f-80a6-adea-e370366f3a7d
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!


