真实面经题目 · 原创解析

SIM 在推荐系统长序列兴趣建模中改进了什么问题?

这题考推荐系统长序列兴趣建模的核心矛盾。SIM 改进的问题不是多任务学习本身,而是传统 DIN/DIEN 等模型通常只能使用较短历史行为,直接建模超长序列又计算重、噪声多、目标相关性弱。

出现于:快手 · 算法

60 秒回答模板

SIM 主要改进的是推荐系统里长行为序列用不起来的问题。用户历史可能有几千甚至更长的点击、观看、购买或互动行为,里面包含长期兴趣和周期性兴趣,但传统排序模型为了计算成本和延迟,往往只截取最近几十个行为。这样会丢掉长期偏好;如果直接把全部历史都送进 attention,又会带来计算量、存储、噪声和延迟问题。SIM 的思路是 search-based interest modeling:先用 General Search Unit 在长历史中根据目标 item 或目标类目快速检索出高相关的一小段候选行为,相当于从海量历史里做目标感知的粗筛;再用 Exact Search Unit 对这些候选行为做更精细的 target attention 或序列建模,学习目标 item 与历史行为之间的兴趣匹配。它改善了短序列截断、长序列噪声、计算不可承受和兴趣漂移问题。需要注意的是,SIM 常用于排序或精排阶段增强用户兴趣表达,不等同于召回系统本身;MMoE、PLE、ESMM 是多任务或样本偏差建模方法,和 SIM 是正交关系,SIM 产生的兴趣表示可以作为多任务预测网络的输入。

考点 核心问题
难度 真实面经题
回答目标 准确解释 SIM 改进的长序列兴趣建模痛点,并把 GSU、ESU、推荐链路位置和 MMoE 等相关模型的边界讲清楚。

深入解析

01

长序列的业务价值

推荐系统中的用户历史行为包含短期意图、长期偏好、周期性兴趣和多兴趣结构。短视频、广告和电商场景里,用户最近几次行为只能表达当前兴趣,较早历史可能表达稳定偏好。长序列建模的价值就是把这些历史信息用于当前候选 item 的点击或转化预估。

02

传统截断会丢信息

DIN、DIEN 等目标感知模型通常会对用户历史做长度截断,保留最近几十个或几百个行为。这样工程上简单,但会丢失长期兴趣,也可能被最近的偶然行为误导。对低频兴趣、季节性兴趣和高价值但低频行为,截断损失尤其明显。

03

直接建模太重

如果把全部历史行为直接送入 attention 或序列模型,计算、显存、特征读取和线上延迟都会变重。更麻烦的是,超长历史中大部分行为和当前目标 item 无关,直接建模会引入噪声,让模型在大量无关行为里学习目标兴趣。

04

GSU 做目标感知搜索

SIM 的 General Search Unit 先在长历史中做快速检索,根据目标 item、类目、属性或向量相似度找出最相关的 top 行为。它的作用是从长序列中筛出候选兴趣,把问题从建模全部历史变成建模与目标相关的历史片段。

05

ESU 做精细兴趣建模

Exact Search Unit 在 GSU 选出的候选行为上做更精细的建模,例如 target attention、序列特征交互或更复杂的行为关系建模。因为候选规模已经变小,ESU 可以更充分地刻画目标 item 和历史行为之间的相关性,而不被全量长序列拖垮。

06

效率和抗噪声同时改进

SIM 的关键收益来自先搜索再建模。搜索阶段降低序列长度和线上延迟,精排阶段提升兴趣匹配精度。相比只取最近行为,它能覆盖更长历史;相比直接全量 attention,它减少计算和无关噪声,更适合工业推荐系统。

07

和多任务模型正交

MMoE、PLE 解决多任务学习中不同任务共享和冲突的问题,ESMM 更关注曝光点击转化链路中的样本选择偏差和 CVR 建模。SIM 解决的是长序列兴趣抽取问题,实际系统中可以把 SIM 的兴趣向量输入到 MMoE 或 ESMM 结构里做多目标预估。

易错点

  • 把 SIM 说成普通召回算法,忽略它主要是在排序模型中做长序列兴趣建模。
  • 只说能处理长序列,没有解释短序列截断、全量建模成本和无关噪声这些原始问题。
  • 把 SIM 和 MMoE、PLE、ESMM 混为一谈,没有区分长序列建模和多任务学习。
  • 只讲模型结构,不讲线上延迟、特征读取和 top 行为检索的工程约束。
  • 认为越长历史越好,忽略历史行为的时效性、相关性和噪声。
  • 没有说明目标 item 在搜索和 attention 中的作用,导致回答失去 target-aware 的关键点。

面试官追问

SIM 和 DIN 的主要区别是什么?

DIN 对较短历史行为做 target attention,重点是目标 item 与历史行为的相关性。SIM 在此基础上面向更长历史,先搜索出与目标相关的候选行为,再做精细建模,因此能利用更长序列并控制计算成本。

为什么不能直接把所有历史行为送进 Transformer?

线上排序要满足严格延迟和成本约束,全量历史会带来序列长度、显存、特征读取和计算压力。同时长历史里大量行为与当前目标无关,直接建模会增加噪声,不一定提升效果。

GSU 搜索依据可以是什么?

可以使用目标 item 的类目、标签、属性、行为类型、embedding 相似度或多路召回式规则来检索历史行为。关键是搜索要足够快,并且与当前目标 item 相关。

SIM 更适合召回还是排序?

SIM 的 search 是在用户历史内部搜索相关行为,通常用于排序或精排模型中的兴趣表达增强,不等同于从全库召回 item。当然,它产生的长序列兴趣表示也可能反哺召回特征。

SIM 和 MMoE 可以一起用吗?

可以。SIM 负责从长行为序列抽取目标相关兴趣向量,MMoE 负责在 CTR、CVR、停留、互动等多任务之间学习共享和差异。两者解决的问题不同,可以串联使用。