QARM:多模态语义对齐与量化在推荐系统中的实践路径
在短视频、电商、广告等多模态内容密集的业务中,如何让推荐系统真正理解"内容语义"成为关键挑战。传统的推荐系统依赖 ID-based 特征(如用户 ID、物品 ID、场景 ID),而多模态信息(如图像、文本、音频)通常以固定向量的形式加入模型输入,用以补充语义信息。
但在工业实践中,这种方式并不能充分发挥多模态特征的潜力。本文将介绍快手提出的 QARM(Quantitative Alignment Multi-modal Recommendation) 框架,它通过"语义对齐 + 表征量化"两步,解决了多模态特征在推荐系统中长期存在的两个核心问题:表征不匹配(Representation Unmatching)和表征不学习(Representation Unlearning)。
一、传统多模态推荐的痛点
1.1 预训练 + 特征拼接:通行但有限的方案
业界通常采用两步式方案。首先使用多模态模型(如 CLIP、T5、BEiT 等)对文本、图像、音频特征进行预训练,生成固定向量表示。然后将该向量与推荐模型的 ID embedding 拼接,作为输入特征。
这种方式的优点是简单易部署,但在大规模业务场景下存在明显缺陷。
1.2 两大核心问题
表征不匹配(Representation Unmatching) 源于多模态模型的训练目标与推荐目标不一致。多模态模型优化的是语义相似性(如图文匹配、视觉分类),而推荐模型优化的是行为相关性(如点击、购买、观看)。结果是即使两个视频在语义上相似,它们在用户行为层面可能毫无关联。预训练模型的语义空间与推荐系统的行为空间出现了"语义错位"。
表征不学习(Representation Unlearning) 则是因为工业系统通常将多模态向量存入缓存库,作为固定输入。由于这些向量不参与梯度更新,下游推荐模型无法反向调整其语义表征,使得模型收敛缓慢,泛化能力不足。
这两点正是 QARM 提出要解决的问题。
二、QARM 的总体思路:对齐 + 量化
QARM 的核心思想是让多模态语义与用户行为语义对齐,并将其转化为可端到端学习的离散语义 ID。
整个流程分为两步。第一步是 Item Alignment(语义对齐),利用用户行为数据微调多模态表示,使语义空间与推荐行为空间一致。第二步是 Quantitative Code(量化编码),将对齐后的连续表示离散化为语义 ID,使其可在推荐模型中参与训练。
三、Item Alignment:解决表征不匹配
3.1 核心思想与问题建模
Item Alignment 的核心目标是让多模态模型(MLLM)学习到"用户认为相似"的物品关系,而非仅仅"语义上相似"的内容。这一步骤通过引入真实的用户行为数据来微调预训练的多模态模型,从而让模型的表征空间能够反映具体业务场景下的用户偏好模式。
为什么不直接使用对比学习将 item ID embedding 与多模态表征对齐?论文指出,这种做法存在明显的局限性。每个物品的 ID embedding 只是一个单一的监督信号,缺乏足够的多样性,容易导致过拟合。相比之下,通过构造 item-item 行为样本对,可以提供更丰富、更可靠的监督信号,因为这些样本对直接反映了用户的真实行为模式。
3.2 构造高质量 item-item 行为样本
为了将行为信号注入 MLLM 表征空间,QARM 构建了一个高质量的 item-item 训练集 D。这个数据集的构造方式体现了对用户行为规律的深刻理解,来源包括两个互补的渠道。
基于 User2Item 召回模型的样本构造。对于每个用户最近点击的目标 item(target),系统从该用户最近 50 条历史点击记录中寻找与之最相似的物品(trigger)。这里的相似性是在现有召回模型的 ID embedding 空间中计算得出的。这种构造方式的优势在于,target 代表用户的最新兴趣点,而 trigger 则代表可能影响该兴趣形成的历史内容。两者之间的关联性直接来源于用户的真实行为序列,因此具有很强的个性化特征和时序因果关系。
基于 Item2Item 召回模型的样本构造。系统还利用已有的 Item2Item 召回模型(如 Swing 算法)导出高置信度的物品相似对。这类样本反映的是全局层面的物品关联性,不依赖于单个用户的行为,因此能够补充更多的结构化知识和跨用户的共性模式。
两种来源结合,使得数据集 D 同时具备局部(个性化)与全局(内容相关)信息,为对齐训练提供了丰富且可靠的监督信号。
3.3 对齐训练的详细过程
对齐训练采用批次对比学习(Batch Contrastive Learning)的方式进行。对于每个采样的批次 B ∈ D,训练过程如下。
首先,使用多模态大模型(MLLM)分别编码 trigger item 和 target item 的文本、音频、图像特征。MLLM 接收三种模态的原始输入 token(文本 token、音频 token、图像 token),经过模型内部的多模态融合机制(通常是基于 Transformer 的跨模态注意力机制),输出一个统一的多模态表征向量。这个过程可以表示为:
M_trigger = MLLM(T^text_trigger, T^audio_trigger, T^image_trigger)
M_target = MLLM(T^text_target, T^audio_target, T^image_target)
其中,M_trigger 和 M_target 分别是批次内所有 trigger item 和 target item 的表征矩阵,维度为 |B| × d,d 是表征向量的维度。
接下来,在批次内使用对比学习损失函数。具体而言,对于批次中的每一对正样本 (trigger, target),对比损失的目标是最小化它们之间的余弦距离或欧氏距离,同时最大化该 trigger 与批次内其他所有 target(负样本)之间的距离。这种批次级的对比学习机制能够充分利用同一批次内的负样本,提高训练效率。损失函数通常采用 InfoNCE 形式:
L_align = -log( exp(sim(M_trigger_i, M_target_i) / τ) / Σ_j exp(sim(M_trigger_i, M_target_j) / τ) )
其中,sim 表示相似度计算函数(如余弦相似度),τ 是温度超参数,用于控制分布的平滑程度。
通过这种方式,对比损失鼓励模型学习到这样的表征空间:在该空间中,具有用户行为关联性的物品对(如用户先后点击的物品)距离更近,而无关的物品对距离更远。这一过程本质上是在用真实的用户行为数据重塑多模态模型的语义空间,使其从"视觉-文本语义空间"转变为"用户行为语义空间"。
3.4 对齐结果与语义空间转换
训练完成后,系统冻结微调后的 MLLM 模型参数,使用该模型批量生成所有物品的对齐表示矩阵 M_aligned ∈ R^(|I| × d),其中 |I| 表示物品总数。这个对齐后的表征矩阵具有重要特性:在这个新的语义空间中,物品之间的距离不再仅仅反映视觉或文本的相似性,而是综合反映了用户行为模式下的关联性。
论文通过 t-SNE 可视化展示了对齐前后的效果差异。在对齐前,仅使用图像特征的 MLLM 表征虽然能够区分鞋子和衣服,但无法准确识别两件背心的相似性,因为它们的图像风格差异较大。而对齐后的表征能够将这两件背心映射到相近的位置,因为它们在用户的购买行为中表现出相似的模式(例如都属于背心类目,用户购买一件后可能会浏览另一件)。这一结果充分验证了对齐训练的有效性。
这一步实现了语义空间与推荐行为空间的统一,为后续的量化编码和下游应用奠定了基础。
四、Quantitative Code:解决表征不学习
4.1 动机与问题分析
对齐后的多模态向量虽然语义准确,但仍是连续的高维表示。在工业推荐系统中,这种连续表示存在两个实际问题。
第一个问题是存储与检索效率。对于拥有数十亿物品的平台(如快手),存储每个物品的高维连续向量(通常是 512 或 1024 维)需要巨大的存储空间和内存占用。同时,在线推理时需要频繁读取这些向量,对系统的吞吐量和延迟都构成挑战。
第二个问题是端到端优化的困难。如果直接将连续向量作为推荐模型的输入特征,这些向量通常是固定的(stop-gradient),无法通过推荐任务的梯度进行更新。这意味着多模态表征无法根据实际的点击、购买等反馈信号进行调整,限制了模型的学习能力和泛化性能。
因此,QARM 采用量化编码的方式,将这些连续向量离散化为"语义 ID"。这种做法受到计算机视觉领域的向量量化(Vector Quantization, VQ)和残差量化(Residual Quantization, RQ)技术的启发。量化后的语义 ID 可以像传统的物品 ID 一样,通过 embedding lookup 机制获取可学习的 embedding,从而支持端到端训练。
4.2 Vector Quantization (VQ) 的设计与实现
传统的向量量化方法通常需要训练一个独立的码本(codebook),然后将每个向量映射到码本中最相似的若干个码字。然而,QARM 采用了一种更简单直接的策略:将所有对齐后的物品表征矩阵 M 本身作为码本 V。
这种设计的合理性在于,对齐后的多模态表征已经充分反映了物品之间的复杂关系,每个物品的表征本身就是一个高质量的语义锚点。因此,无需额外训练码本,直接使用物品表征作为码本既简化了流程,又保留了最大的语义信息。形式化表示为:
V = M
对于任意物品 i 的对齐表征 m_i ∈ M,VQ 编码的过程是在码本 V 中检索与 m_i 最相似的 Top-K 个向量,并记录它们的索引。具体而言,系统计算 m_i 与码本中所有向量的余弦相似度(或欧氏距离),然后选取相似度最高的 K 个向量的索引作为该物品的 VQ code。这个过程可以表示为:
v_1, v_2, ..., v_K\] = TopKCode(V, m_i, K) 其中,K 是一个超参数,论文中设置为 25。这意味着每个物品会被编码为 25 个相似物品的索引序列。这种编码方式的优势在于,它显式地捕捉了物品的局部邻域结构。如果两个物品在语义上相似,它们的 VQ code 会有较高的重合度,这为下游模型提供了丰富的关联信息。 在实现层面,TopKCode 操作可以通过高效的近似最近邻搜索库(如 Faiss)实现,支持在亿级规模的物品库中快速检索。 ### 4.3 Residual Quantization (RQ) 的层级量化机制 与 VQ 不同,RQ 采用层级量化的策略,通过多层码本递归地逼近原始向量。这种方法的核心思想是在每一层量化当前的残差,从而在有限的码本规模下实现更高的重构精度。 QARM 使用 KMeans 聚类算法构建每一层的码本。具体过程如下。 **第一层量化**。首先,对所有物品的对齐表征矩阵 M 进行 KMeans 聚类,聚类中心数量为 N(论文中设置为 256)。聚类完成后,得到第一层码本 R_1,其中包含 256 个聚类中心。然后,对于每个物品的表征 m_i,计算其与 R_1 中所有聚类中心的距离,选取最近的聚类中心,并记录该中心的索引作为第一层编码 r_1\^i。接着,计算残差: m_1\^i = m_i - R_1\[r_1\^i
这个残差表示原始向量与其第一层量化值之间的差异。
第二层量化。对所有物品的第一层残差 {m_1^i} 再次进行 KMeans 聚类,得到第二层码本 R_2。同样,计算每个残差 m_1^i 与 R_2 中聚类中心的距离,选取最近的中心并记录索引 r_2^i,然后计算第二层残差:
m_2^i = m_1^i - R_2[r_2^i]
后续层级。重复上述过程,直到完成 L 层量化(论文中设置为 6 层)。每一层都在前一层的残差基础上进行聚类,逐步逼近原始向量。最终,每个物品的 RQ code 是一个长度为 L 的索引序列 [r_1^i, r_2^i, ..., r_L^i]。
这种层级量化的好处在于,即使每层的码本规模有限(256),通过多层递归也能够在总体上提供 256^L 种可能的编码组合,大大增强了表征能力。同时,由于每层只需一次 KMeans 聚类,计算成本相对可控。论文通过 Faiss 库实现 KMeans 聚类,并在每层聚类后冻结码本参数,确保编码的一致性。
4.4 VQ 与 RQ 的互补性
VQ 和 RQ 两种量化方式在设计上具有互补性。VQ code 通过记录 Top-K 相似物品的方式,显式地建模了物品之间的横向关联关系。例如,如果两个短视频的 VQ code 有多个重合的索引,说明它们在语义上非常接近,可能属于同一类别或风格。
而 RQ code 则通过层级残差编码的方式,将物品的语义信息分解为从粗粒度到细粒度的多个层次。第一层 RQ code 捕捉的是物品的粗略类别(如"服装"还是"电子产品"),后续层次逐渐细化到具体的风格、颜色、款式等细节特征。这种层级结构为下游模型提供了丰富的多尺度信息。
论文的实验结果也验证了这一点。单独使用 VQ code 或 RQ code 都能带来显著的性能提升,而同时使用两者则能够进一步提升模型效果。在快手的广告业务中,联合使用 VQ 和 RQ code 使 CTR 的 AUC 提升了 0.18%,CVR 的 AUC 提升了 0.17%;在电商业务中,联合编码使 CTR 的 GAUC 提升了 0.50%,CTCVR 的 GAUC 提升了 0.92%。
4.5 量化编码的存储与离线生成
量化编码的生成是离线完成的。在 Item Alignment 训练完成后,系统使用微调后的 MLLM 模型批量生成所有物品的对齐表征 M。然后,按照上述 VQ 和RQ 的流程,为每个物品生成对应的语义 ID。
每个物品的最终语义 ID 由两部分组成:VQ code(长度为 K=25)和 RQ code(长度为 L=6)。这些 ID 被存储在缓存系统中(如 Redis 或分布式 KV 存储),供下游推荐模型在线查询使用。相比于存储高维连续向量,存储这些离散 ID 的空间开销大幅降低,同时检索速度也显著提升。
五、下游推荐模型的详细使用方式
5.1 推荐系统的架构背景
在深入探讨 QARM 的下游使用方式之前,需要先理解工业推荐系统的基本架构。快手的推荐系统采用典型的两阶段级联架构:召回阶段(Retrieval)和排序阶段(Ranking)。
召回阶段负责从数十亿规模的物品池中快速筛选出数百个候选物品。这一阶段通常使用轻量级模型,主要包括两类架构:User2Item 召回模型(根据用户画像直接检索物品)和 Item2Item 召回模型(根据用户历史行为中的物品检索相似物品)。
排序阶段则对召回的候选物品进行精细化打分。排序模型通常是复杂的深度神经网络,采用多任务学习框架同时预测多个目标(如点击率 CTR、转化率 CVR、观看时长等),并综合这些预测结果对候选物品进行排序,最终选出十几个物品推荐给用户。
QARM 的量化语义 ID 可以被灵活地集成到这两个阶段的不同特征类型中。
5.2 三类特征的构造与使用
物品侧特征(Item-side Feature)
这是最直接的使用方式。对于每个候选物品,系统根据其物品 ID 从缓存中读取对应的 VQ code 和 RQ code,将这些 code 作为该物品的额外 ID 特征。
具体而言,假设物品 i 的 VQ code 为 [v_1^i, v_2^i, ..., v_25^i],RQ code 为 [r_1^i, r_2^i, ..., r_6^i],那么在推荐模型中,这 31 个 code 会被分别输入到 embedding lookup 层。每个 code 对应一个独立的 embedding 矩阵。例如,VQ code 的第一个维度 v_1 对应一个大小为 |I| × d_emb 的 embedding 矩阵(其中 |I| 是物品总数,d_emb 是 embedding 维度),从该矩阵中查找索引 v_1^i 对应的行向量,即可得到该 code 的 embedding 表示。
所有 31 个 code 的 embedding 被拼接或求和,形成物品的多模态语义表征 ItemCodeRep。这个表征随后与物品的其他特征(如物品 ID embedding、类目特征、统计特征等)一起输入到模型的深层网络中。
关键在于,这些 code embedding 是可学习的参数,会随着推荐模型的训练不断更新。当模型发现某个 VQ code 与点击行为高度相关时,该 code 对应的 embedding 会被调整,使其更有利于预测用户的点击意愿。这就实现了多模态信息的端到端学习。
用户侧特征(User-side Feature)
用户侧特征用于刻画用户的历史兴趣。传统的做法是使用用户最近交互的物品 ID 序列(如最近点击的 50 个短视频 ID)作为用户兴趣表示。QARM 在此基础上,进一步引入了这些物品的量化语义 ID。
具体实现时,对于用户最近交互的每个物品,系统读取其 VQ code 和 RQ code,形成用户的多模态历史序列。例如,用户最近点击了物品 [i_1, i_2, ..., i_n],那么可以构造 VQ code 序列 [VQ(i_1), VQ(i_2), ..., VQ(i_n)] 和 RQ code 序列 [RQ(i_1), RQ(i_2), ..., RQ(i_n)]。
这些序列通过序列建模模块(如 Transformer、DIN、TWIN 等)进行编码,得到用户的多模态兴趣表征 UserCodeRep。与物品侧特征类似,这些 code embedding 同样是可学习的,能够捕捉用户在多模态语义空间中的兴趣分布。
在召回阶段,UserCodeRep 可以与候选物品的 ItemCodeRep 计算相似度,用于快速筛选候选集。在排序阶段,UserCodeRep 作为用户侧特征输入到深度模型中,与目标物品特征进行交互,用于预测用户对该物品的兴趣程度。
目标物品感知的交叉特征(Target Item-aware Cross Feature)
这是 QARM 在排序阶段的一个巧妙设计。除了直接使用目标物品的 code 作为特征,系统还利用这些 code 来检索与目标物品相关的其他物品序列,构造更丰富的交叉特征。
具体来说,对于排序阶段的候选物品 i_target,系统根据其 RQ code 的层级结构进行多粒度匹配。例如,可以检索出用户历史中所有与 i_target 的第一层 RQ code 相同的物品序列(这些物品与目标物品在粗粒度类别上相似),也可以检索出前两层 RQ code 都相同的物品序列(相似度更高),依此类推。
这种多粒度匹配策略充分利用了 RQ code 的层级特性。不同粒度的匹配序列反映了用户与目标物品在不同语义层次上的历史关联。例如,第一层匹配可能表示"用户曾经浏览过同类商品",而第三层匹配则表示"用户曾经浏览过风格非常相似的商品"。
这些匹配到的物品序列经过序列编码模块(如注意力机制)处理后,生成目标物品感知的交叉表征 CrossCodeRep。这个表征捕捉了目标物品与用户历史行为在多模态语义空间中的细粒度交互模式,为模型提供了更强的个性化信号。
5.3 端到端训练的完整流程
在推荐模型的训练过程中,上述三类特征的 embedding 都会通过梯度下降进行更新。具体流程如下。
首先,对于一个训练样本(用户 u,候选物品 i_target,标签 y),系统根据物品 ID 和用户历史行为 ID 查询对应的 VQ code 和 RQ code,然后通过 embedding lookup 获取初始的 embedding 表示。
这些 embedding 输入到推荐模型的深层网络中。在排序模型中,通常采用深度交叉网络(Deep & Cross Network, DCN)或多专家混合模型(Mixture of Experts, MoE)对特征进行高阶交叉和融合。模型的输出是多个目标的预测概率,如点击率 ŷ_ctr、转化率 ŷ_cvr 等。
损失函数是各个任务的交叉熵损失的加权和:
L = -Σ_task [ y_task log(ŷ_task) + (1 - y_task) log(1 - ŷ_task) ]
在反向传播过程中,损失梯度会沿着网络层层回传,最终传递到各个 code embedding 矩阵上。优化器(如 Adam)根据梯度更新这些 embedding 参数。
关键的区别在于,传统的固定多模态表征无法被更新,而 QARM 的量化 code embedding 则可以根据真实的用户行为反馈进行动态调整。例如,如果模型发现某个 VQ code 与用户的购买行为高度相关,那么该 code 对应的 embedding 会被优化得更加有利于预测购买意愿。这种端到端的优化机制显著提升了模型的学习能力和泛化性能。
5.4 在召回和排序中的差异化应用
在召回阶段,由于需要处理数十亿级的物品库,模型结构通常较为简单,主要采用双塔结构(用户塔和物品塔)。QARM 的 code embedding 主要用于增强双塔的表示能力。
对于 User2Item 召回,用户塔的输入包括用户的历史行为 code 序列,通过序列编码得到用户向量;物品塔的输入包括目标物品的 VQ 和 RQ code,得到物品向量。两个向量通过内积计算相似度,用于召回候选集。
对于 Item2Item 召回,两个物品塔共享参数,分别编码触发物品和候选物品的 code,同样通过内积计算相似度。
在排序阶段,模型结构更加复杂,可以充分利用 QARM 提供的三类特征。除了物品侧和用户侧特征,目标物品感知的交叉特征在排序中尤为重要,因为它能够捕捉目标物品与用户历史的细粒度交互模式。
六、QARM 的优势与适用场景
6.1 核心优势
QARM 在多个维度上展现出显著优势。首先,语义对齐机制确保了多模态表征真正反映用户行为模式,而非仅仅停留在视觉或文本的表面相似性。通过使用真实的 item-item 行为样本进行微调,QARM 将多模态模型的语义空间从"内容理解空间"转换为"用户决策空间",使得相似的用户行为对应更相近的表征。
其次,端到端学习能力是 QARM 的关键突破。量化后的语义 ID 可以像传统 ID 特征一样参与梯度更新,使得多模态信息能够根据实际的业务目标(点击、购买、观看时长等)进行动态优化。这种能力在工业推荐系统中极为重要,因为它打破了多模态特征作为"固定附加信息"的传统模式,让多模态语义成为模型学习的有机组成部分。
第三,工程实施的可行性高。对齐阶段和量化阶段都是离线完成的,可以独立部署和迭代,不影响在线推荐服务。量化编码使用简单的 KMeans 算法,无需复杂的深度生成模型(如 VQ-VAE),降低了实施门槛。同时,离散化的语义 ID 大幅减少了存储和检索开销,使得系统能够在亿级物品规模下高效运行。
第四,对长尾内容的友好性尤为突出。论文通过详细的分组实验展示了这一点。在快手的电商业务中,物品按购买频次分为 L1 到 L6 六个组别,L1 代表最不常购买的长尾商品。实验结果显示,L1 组的 GMV 提升高达 8.035%,远超整体平均的 1.568%。同时,L1 和 L2 组的曝光量显著增加,而热门的 L4、L5、L6 组的曝光量略有下降。这说明 QARM 有效缓解了推荐系统的"马太效应",为新上传和长尾内容提供了更公平的曝光机会,因为多模态语义信息不依赖于历史交互数据的积累。
6.2 业务效果与实际部署
QARM 在快手的多个业务场景中取得了显著的在线效果。在广告业务中,针对冷启动物品,Revenue 提升高达 9.704%;在整体广告场景中,Revenue 也提升了 3.147%。在电商业务中,GMV 提升 2.296%,订单数提升 1.396%。
这些提升的背后是 QARM 对推荐系统核心能力的增强。对于广告业务,多模态语义帮助系统更好地理解广告内容的吸引力和用户的潜在需求,尤其是对于新上线的广告主,系统能够快速建立其内容与目标用户群体的关联。对于电商业务,多模态信息帮助系统捕捉商品的细粒度特征(如款式、颜色、材质),从而更精准地匹配用户的个性化偏好。
从部署规模来看,QARM 自 2024 年 3 月起已在快手的多个服务中全面上线,每日服务超过 4 亿活跃用户。系统架构包括三个核心模块:离线的特征工程模块(负责生成和更新量化 code)、离线的模型训练系统(每天处理数千亿级别的用户-物品交互样本)、以及在线的推理服务系统(实时响应用户请求并同步更新模型参数)。
6.3 局限性与适用场景分析
尽管 QARM 展现出强大的能力,但其也存在一些局限性,需要在实际应用中加以考虑。
首先,对齐效果高度依赖于 item-item 样本的质量和覆盖度。如果业务场景中的用户行为数据稀疏,或者现有的召回模型质量较差,那么构造出的 item-item 样本对可能无法充分反映真实的用户偏好模式,导致对齐训练的效果受限。这在新业务或冷启动场景中尤为明显。因此,QARM 更适合应用于已经积累了一定规模用户行为数据、且具备成熟召回模型的业务场景。
其次,量化过程中存在不可避免的信息压缩损失。尽管 RQ 的层级结构和 VQ 的 Top-K 编码机制尽可能保留了原始表征的信息,但从高维连续空间到低维离散空间的映射必然伴随着信息丢失。论文中并未详细分析这种损失的量级和影响范围。在实际应用中,需要通过调整 VQ 的 K 值和 RQ 的层数 L 来平衡信息保留与计算效率。
第三,QARM 更适用于多模态内容密集型的推荐任务,如短视频、直播、电商商品推荐,而不适合纯结构化数据场景(如金融推荐、新闻推荐等仅依赖文本的场景)。在后者中,传统的 ID-based 特征和文本 embedding 可能已经足够,引入复杂的多模态对齐和量化机制可能带来边际收益递减。
此外,对齐训练和量化编码的计算成本虽然相对可控,但仍需要一定的 GPU 资源和时间。在快速迭代的业务场景中,需要建立自动化的流水线来定期更新 MLLM 模型和量化 code,以适应物品库的动态变化和用户偏好的演进。
6.4 与相关工作的对比
QARM 与现有的多模态推荐方法相比具有明显的差异化优势。
与 VBPR、LATTICE 等早期方法相比,这些方法直接使用预训练的视觉或文本特征作为固定输入,缺乏对推荐任务的针对性优化。QARM 通过对齐训练显式地将推荐任务的监督信号引入多模态模型,使得语义表征更贴近实际业务需求。
与 AlignRec 等对比学习方法相比,AlignRec 试图通过对比损失将多模态表征与 ID embedding 对齐,但监督信号单一(每个物品只有一个 ID 作为正样本),容易过拟合。QARM 通过构造丰富的 item-item 样本对,提供了更多样化和更可靠的监督信号,显著提升了对齐效果。
与 TIGER、Semantic ID 等量化方法相比,这些方法通常使用 VQ-VAE 或自回归模型生成语义 ID,模型复杂度高且依赖大规模预训练。QARM 采用简单的 KMeans 聚类和 Top-K 检索,既保证了编码质量,又大幅降低了实施难度,更适合工业部署。
更重要的是,QARM 是少数在超大规模工业系统中得到验证的方法之一。论文公开了在快手真实业务中的详细效果数据,包括多个业务场景、不同物品分组的细粒度指标,以及长达数月的在线 A/B 测试结果,这为学术界和工业界提供了宝贵的实践经验。
七、实验设计与关键发现
7.1 实验设置与评估指标
论文在快手的广告和电商两大业务场景中进行了详尽的离线和在线实验。离线实验使用三个主要指标:AUC(整体排序能力)、UAUC(用户级平均 AUC,反映模型在不同用户上的稳定性)、GAUC(加权 UAUC,考虑用户交互量的差异)。在线实验则关注业务核心指标,如广告的 Revenue(收入)、电商的 GMV(成交总额)、订单数、CTR、CVR 等。
7.2 消融实验的关键发现
消融实验系统地验证了 QARM 各组件的贡献。基线模型已经包含了传统的固定多模态表征(如论文图 1 所示的缓存表征),因此所有对比都是在这个强基线之上进行的。
仅添加对齐表征(+ IA Rep):直接将对齐后的多模态连续向量作为额外特征输入模型。结果显示,在广告业务中略有提升(CTR AUC +0.02%),但在电商业务中甚至出现轻微下降(CTR AUC -0.03%)。这说明仅仅进行对齐训练,如果不解决表征不学习的问题,效果提升有限甚至可能因为特征维度增加而引入噪声。
添加 VQ code(+ VQ Code):使用 VQ 量化后的语义 ID 替代连续表征。结果显示显著提升,广告业务 CTR AUC +0.11%,电商业务 CTR AUC +0.09%。这验证了端到端学习的重要性------可学习的离散 ID 比固定的连续向量更有利于模型优化。
添加 RQ code(+ RQ Code):效果与 VQ code 相近,广告业务 CTR AUC +0.10%,电商业务 CTR AUC +0.12%。这说明层级量化同样能够有效捕捉多模态语义。
联合使用 VQ 和 RQ code(+ VQ & RQ Code):效果进一步提升,广告业务 CTR AUC +0.18%,电商业务 CTR AUC +0.23%,CVR GAUC +0.77%,CTCVR GAUC +0.92%。这验证了两种编码方式的互补性------VQ 捕捉横向的物品关联,RQ 捕捉层级的语义结构,两者结合能够提供更丰富的信息。
7.3 超参数分析
论文对 VQ code 长度 K 和 code embedding 维度 d 进行了敏感性分析。
对于 VQ code 长度 K,实验在电商场景中测试了 K=5、10、15、20、25 五个设置。结果显示,随着 K 增加,模型性能单调提升(CTR GAUC 从 +0.08% 提升到 +0.21%)。这说明更多的邻域信息有助于捕捉物品的细粒度关联。但 K 的增加也会带来计算和存储开销的增加,因此需要在效果和成本之间权衡。
对于 code embedding 维度 d,实验在广告场景中测试了 d=16、32、64 三个设置。结果同样显示维度增加带来性能提升(CTR GAUC 从 +0.11% 提升到 +0.25%)。更高的维度为 embedding 提供了更强的表达能力,但也增加了模型参数量和过拟合风险。
这些结果说明 QARM 对超参数具有一定的鲁棒性,在合理范围内调整超参数都能保持稳定的性能提升。
7.4 可视化分析
论文通过 t-SNE 可视化了对齐前后的物品表征空间。在对齐前,使用纯图像特征的 MLLM 虽然能够区分大类(鞋子 vs 衣服),但无法识别细粒度的语义相似性(两件不同风格的背心被分散在空间中)。而对齐后,这两件背心在表征空间中距离很近,因为它们在用户的购买行为中展现出相似的模式(同属背心类目,用户在购买一件后可能会浏览另一件)。
这一可视化直观地展示了对齐训练的核心价值:将"视觉相似"转变为"行为相关"。这种转变正是 QARM 能够显著提升推荐效果的根本原因。
八、总结与展望
QARM 为工业推荐系统中的多模态信息融合提供了一个清晰、实用、可复现的解决方案。通过"先对齐、后量化"的两步策略,QARM 成功解决了传统多模态推荐中的两大痛点:表征不匹配和表征不学习。
Item Alignment 机制通过利用真实的用户行为数据微调多模态模型,将语义空间与推荐行为空间统一,确保多模态表征真正反映用户的决策模式而非仅仅内容的表面相似性。这一步骤的关键在于构造高质量的 item-item 样本对,结合 User2Item 和 Item2Item 两种来源,既保留了个性化特征又兼顾了全局结构。
Quantitative Code 机制将对齐后的连续表征离散化为可学习的语义 ID,通过 VQ 和 RQ 两种互补的编码方式,既保留了丰富的语义信息,又支持端到端训练。VQ code 通过 Top-K 检索捕捉物品的横向关联,RQ code 通过层级量化捕捉多尺度的语义结构,两者结合为下游模型提供了全面而灵活的多模态特征。
在下游应用中,QARM 的语义 ID 可以灵活地用于构造物品侧特征、用户侧特征和目标物品感知的交叉特征,无缝集成到现有的召回和排序模型中。端到端的训练机制使得这些特征能够根据实际的业务目标动态优化,显著提升了模型的学习能力和泛化性能。
从工程实践角度,QARM 的设计充分考虑了工业部署的可行性。对齐和量化都是离线完成的,不影响在线服务;量化编码使用简单的 KMeans 算法,降低了实施门槛;离散化的语义 ID 大幅减少了存储和检索开销,使系统能够在亿级规模下高效运行。
在快手的实际业务中,QARM 已经取得了显著的效果提升和规模化部署。这一成功为多模态推荐系统提供了一个可借鉴的范式,也为未来的研究指明了方向:如何更好地将大模型的语义理解能力与推荐系统的行为建模能力相结合,如何在保证效果的同时降低计算成本,如何让多模态信息更好地服务于长尾内容和冷启动场景。
随着多模态大模型技术的不断发展,QARM 的框架也具有良好的扩展性。未来可以探索更强大的多模态预训练模型(如 GPT-4V、Gemini 等)作为基础,或者在对齐阶段引入更复杂的监督信号(如用户的观看时长、互动行为等),进一步提升多模态表征的质量。同时,也可以研究更高效的量化方法,在降低信息损失的同时保持计算效率。
QARM 的成功实践证明,多模态信息在推荐系统中具有巨大的潜力,关键在于找到合适的方式将其与推荐任务的特点相结合。对齐与量化的思想为这一问题提供了一个有效的答案,值得在更多的业务场景和技术方向上进一步探索。