在 CIKM 2024 上,小红书中台算法团队提出了一种创新的联合训练框架 AlignRec,用于对齐多模态表征学习模型和个性化推荐模型。本文指出,由于多模态模型与推荐模型在训练过程中存在步调不一致问题,导致联合训练被推荐信号主导,从而丢失大量多模态信息。AlignRec 通过分阶段对齐的方式,设计了三种针对性的优化损失函数,使得联合训练能够同时兼顾多模态信息和推荐信息。实验结果表明,AlignRec 在多个数据集上的性能超过了现有的 SOTA(state-of-the-art)模型。此外,AlignRec 还提供了在当前广泛使用的公开数据集亚马逊上的预处理特征,这些特征的效果显著优于现有的开源特征。
01背景
最近多模态是个非常热门的话题,尤其是在大模型以及 AIGC 领域,多模态基建和技术是走向未来商业化的奠基石。在过去的多模态大模型研究方向上,模态的“对齐”已经被验证非常重要,分布的不一致损害不同模态的理解,我们此次要讨论的核心问题是多模态在推荐中的对齐问题;
在具体介绍论文工作之前,我们先来介绍下我们过去在推荐和电商中的实践工作:
推荐实践
上述方法是我们对 BM3论文进行改进 上线的方案,该方案实际上做的是通过损失函数来实现“对齐”工作。我们的对模型的期望也是保留个性化的同时,能够对齐行为和多模态的空间,进一步增加长尾的个性化分发能力。先说效果:
该模型实验在推荐发现页取得时长、曝光、点击等核心指标收益,除此之外,在长尾分发上,0 粉作者笔记点击和曝光获得大幅增长,整个召回路增加了全局可分发笔记数 6%,分发笔记集中在 1k-5k 的笔记曝光集合;同时,我们的方法也被复用在了电商场景,分发长尾同时,获得 DGMV 等核心指标收益。
很显然,从上述可以看出,“对齐”的效果立竿见影,在业界应用上我们已经取得实质性进展,但本质上这样的设计方案依然并没有完全解决多模态推荐问题,因为我们的多模态模型和推荐模型是相对割裂的,等同于直接拿表征来使用,这样的设计打通了应用范式,却无法判断多模态模型本身能力对效果的上限,对于选择合适多模态表征存在一定的难度。但如果我们引入文本/图等 Encoder(Transformer)等进行联合训练,会引入如下的问题:
- 在大规模的数据下,分布式训练引入图文 Encoder 会造成资源和性能问题,尤其是注重高时效性的 Streaming Data;
- 训练步调不一致,往往多模态模型需要大量数据甚至多个 Epoch 才能收敛,但推荐模型通常采取单轮训练,这也导致多模态模型训练不充分;
所以我们设计联合训练模型,通过设计分阶段对齐的方式和中间指标评估,解决上述联合训练问题,并且引入了三种针对性的优化损失函数,使得联合训练能够同时兼顾多模态信息和推荐信息,解决联合训练中的“对齐”问题,提升效果上限。
下面我们从相关工作,核心挑战,模型设计介绍整体工作。
02相关工作
我们在这里通过 (a), (b), (c) 描述了在过往的学术界目前多模态推荐方向的相关工作,总结主要的发展路径:
- 图(a),直接利用,比如把 embedding,多模态特征作为信号输入网络;
- 图(b),利用图等方式聚合,希望能得到更丰富的多模态信息表达,这本质上也是增加多模态侧信息的召回率;
- 图(c),联合优化,把模态损失和行为损失共同优化,但这忽略了本身笔记侧的多模态学习。
在工业界,现阶段推荐系统主要还是依赖于 ID 特征的学习, 大多数多模态推荐把多模态信息作为 sideinfo 去辅助 ID 特征的学习。但是, 多模态之间以及 ID 模型与多模态之间都存在着语义鸿沟, 直接使用甚至可能适得其反。
核心挑战
为了贴合业界实际,设计一款有效的多模态与推荐联合训练模型会遇到如下的挑战:
- 挑战1: 如何对齐多模态表征。包括内容模态之间(如图文)的对齐,以及内容模态与 ID 模态之间的对齐;
- 挑战2: 如何平衡好内容模态和 ID 模态之间的学习速度问题。内容模态可能需要超大规模的数据和时间去训练, 而 ID 模态的学习更新可能只需要几个 epoch。
- 挑战3: 如何评估多模态特征对推荐系统的影响。引入不合适的多模态信息可能需要更多的精力去做纠正, 甚至可能影响推荐系统的性能。
03设计方案
我们所提出的方法命名为 AlignRec,整体框架如下图所示, 主要包含3个模块: Multimodal Encoder Module, Aggregation Module, 以及 Fusion Module, 下面分别进行介绍。
Multimodal Encoder Module
𝑀𝑀𝐸𝑛𝑐是一个预训练的模块, 它以物品的多个内容模态为输入,实现物品侧视觉模态 和文本模态 的对齐, 最后统一输出多模态表征 :
具体地, 我们使用 BEiT3 作为骨干网络, 通过 mask-then-predict 策略进行训练, 包括 mask-image-modeling (MIM) 和 mask-language-modeling (MLM), 分别 mask 掉一定比例的图/文 token, 再尝试训练恢复还原出正确的 token, 这两个任务分别对应着不同的 Loss
再将两者的 Loss 进行相加得到预训练阶段的 Loss
在应用时, 取 CLS token 作为物品侧统一的多模态表征。
对于 Open DataSource 我们并不会加入显式的行为信息,确保多模态模型的能力和合理性,但在业界实际使用时,我们通常会加入协同信号;
Aggregation Module
这个模块以 ID 模态和前面统一的内容模态为输入,构建异构图,基于 GCN(作者使用 LightGCN)做多层聚合,从而输出 User 和 Item 的 ID 模态,User 的多模态表征,Item 的多模态表征。
流程上总计分为三个步骤:
- User 侧和 Item 侧的 ID 模态,通过图聚合的方式,得到 User 和 Item 的表征,分别表示为 和 ;
- 物品侧的多模态表征,内容模态表征经过一个 MLP 进行映射,再做 Element-wise 乘积与 ID Embed 进行融合, 得到融合了内容先验知识的内容表征,之后基于统一的内容模态表征, 构造物品侧的相似矩阵,每个物品取与它最相似的 10 个 Item 做聚合, 得到物品侧的多模态表征输出,表示为 ;
- 用户侧的多模态表征,对于 User 侧,通过聚合用户历史交互过的 Item 得到用户侧的多模态表征,表示为 ;
训练细节上,我们使用 InfoNCE 对齐内容模态表征和 ID 模态表征,让同 Item 的内容模态表征与 ID 模态表征更接近,不同 Item 的内容模态表征及 ID 模态表征的距离更疏远。但如果不加任何约束, 可能会盲目地趋近于表征 ,引起模态表征坍塌。为了规避这个问题,我们增加了正则项约束:
Fusion Module
这个模块的作用在于融合 ID 模态表征和多模态表征, 从而得到 User 侧表征和 Item 侧表征, 用于召回的 topK 向量检索
将相应的表征进行相加:
在得到 User 侧和 Item 侧的表征之后,我们增加了个 User 侧和 Item 侧的对齐,具体地,我们对用户表征 以及交互 Item 对应的表征 作了相似度约束。
统一训练
推荐任务会使用 BPR 计算损失:
前面挑战 2 提到, 内容模态和 ID 模态的学习速度有很大差异, 因此, 会先在预训练阶段对齐不同内容模态, 得到统一的内容模态表征输出。而在后续的 End2End 训练阶段, 则加权融合推荐任务的损失, 正则化损失, 以及前面多个对齐目标损失, 得到最终的训练损失。
中间评估指标
为了更准确评估多模态特征在推荐系统中的适用性及应用效果, 我们提出了 3 种中间评估方案:
Zero-Shot推荐
用于评估基于用户历史交互行为, 多模态特征能否反映出用户兴趣, 包括 3 个步骤:
- 按时间顺序对用户历史交互行为排序, 取最后一个行为作为Target Item,其余作为用户历史行为交互
- 基于用户历史行为交互,计算用户的多模态表征:
计算 与 Target Item 的相似度, 判断是否在TopK中出现
Item-CF推荐
用于评估只使用多模态特征, 基于协同过滤的方法进行物品推荐的能力
- 计算每对 Item 的I tem-CF 分数;
- 为每个 Item j , 选择最高 Item-CF 分数所对应的Item i 作为 Target Item;
- 使用多模态表征计算 Item j 与候选集里其它 Item 的相似度得分, 判断 Item i 是否在 TopK 里。
Mask Modality推荐
按一定比例 mask 视觉模态或文本模态, 衡量最终推荐效果差异, 从而评估不同内容模态的重要度。
04实验结论
在不同数据集上与各 baseline 模型做对比,在目前的多模态公开数据集表现上达到 SOTA:
Pretraining 的模型在论文所提各中间评估指标上均超越 CLIP 的表现:
在开源数据集上生产的多模态特征与开源多模态特征对比效果上,AlignRec 的性能明显提升:
下面的表格也展示了不同模块的消融效果:
我们也列出了各个超参数对效果影响:
最后,我们也对比了长尾的效果:
05总结
我们的贡献可以被总结为三点:
- 我们一直在探索对齐问题,并且通过小红书推荐实践,设计了可复用的多模态召回范式,已经拿到了线上AB收益;
- 提出AlignRec联合训练方式,深入解决对齐问题,提出分阶段对齐的模式和中间指标评估方式;
- 最后,我们对Amazon的数据集整体的多模态数据源进行升级,为后续研究打下基础。
06作者简介
- 幻翎
小红书算法工程师,主要研究方向:通用推荐模型算法,多模态算法研究和应用。 - 图森
小红书算法工程师,主要研究方向:通用多模态算法,大模型算法研究。 - 特图
小红书基础模型团队负责人,主要研究方向:多模态大模型 x 内容分发技术。 - 大辅
小红书应用模型团队负责人,主要研究方向:通用推广搜模型算法,多模态和大模型技术的研究和应用。