想象一下,老陈是一位藏书万卷的超级书迷,他读过的每一本书,都记录在一本厚厚的借阅册里。今天,老陈想找一本关于“如何养猫”的书。作为图书推荐员,你要判断他到底对“养猫”这类书有多大的兴趣。如果你把一万本书从头到尾全部翻一遍再下结论,老陈早就等得不耐烦了;如果你只翻他最近读的十本,又很可能错过五年前那本被他翻烂的《猫咪家庭医学》。真正聪明的推荐员会怎么做?他会先借助书架分类和内容简介,快速筛出几十本可能与“养猫”相关的书,再对这几十本书精读,掂量每一本与“养猫”的关联程度,最后得出一个可靠的判断。这样既不用翻阅万卷,又不会遗漏遥远的兴趣线索。 这就是SIM(Search-based Interest Model)模型的完整直觉:面对超长用户行为序列,靠“先粗筛、再精读”的两级检索机制,在计算量可控的前提下,精准捕捉用户对当前候选的兴趣。本文就用“藏书家找书”这条故事线,带你拆解SIM的GSU与ESU两阶段设计。
长行为序列是推荐系统尚未充分挖掘的金矿,而SIM是最实用的挖掘工具。掌握它,你就能在工业级推荐场景下,从海量用户行为中高效提取真实兴趣,这是推荐算法工程师的硬核能力。
目录
可视化演示
展示SIM模型的GSU+ESU两阶段检索架构、GSU硬检索过程、以及与传统方法的序列长度和性能对比。
本节配有交互动效(进入视口后自动加载,约 3KB)。
SIM两阶段架构 GSU从万级序列中快速检索Top-K相关行为 ESU对K个行为做精确Attention得到兴趣表征 GSU: 10k → TopK | ESU: Attention(K) 两阶段设计平衡效率与精度
长序列挑战:万卷书里的完整兴趣
回到老陈的书房。如果只看他最近读的三本书,你可能会以为他只爱畅销小说;但翻开借阅册的完整记录,你会发现十年来他读过养殖、烹饪、园艺、旅行等各种领域的书,甚至还有二十年前的《动物行为学》。一份完整而悠长的阅读历史,才能还原一个人真实的兴趣版图。用户的行为序列也是一样,用户在淘宝上每一次点击、收藏、下单,都像一页页读书笔记。序列越长,记录越全,模型越能看清这个用户到底喜欢什么。可问题也来了:当序列长度达到上万条时,直接把它们全部交给深度学习模型,计算量会像滚雪球一样爆炸。
具体来说,推荐系统中常用的注意力机制,需要对序列里任意两个行为之间都做一次相关性计算。如果序列长度是 L,那么需要计算的关系对数大约是 L 的平方。一万条行为,就是一亿对关系,再强的服务器也扛不住。这就像图书推荐员要把一万本书两两对比相似度,哪怕不吃不喝也要算上几天几夜。
1. 序列长度 L:L 指的是用户行为序列中包含的行为个数。比如用户近一年的点击记录是 12000 条,那么 L 就等于 12000。这个数字越大,模型能看到的信息越全,但负担也越重。
2. 平方的含义:注意力要刻画序列内部任意两个行为之间的关系,形成 L×L 的注意力矩阵,所以计算量按 L² 增长。10000 条行为需要计算约 1 亿个关系分数。
3. 工业界的旧妥协:为了把平方级复杂度降下来,早期做法是随机采样或截断序列,比如只保留最近 200 条。这相当于图书推荐员只翻老陈最近半年读过的书,五年前那本《猫咪家庭医学》就永远沉在书架底层,相关的长期兴趣就被丢掉了。
随机采样和截断看似省了算力,实则丢掉了长序列最珍贵的价值——那些低频但强烈的长期兴趣。老陈的养猫念头可能正是被动物园一游重新点燃的,可模型只看到他最近读的十本书,根本无法理解这份兴趣从何而来。SIM 的第一步,就是直面这个矛盾:序列要长,但计算不能炸。
GSU粗筛:图书检索员的第一刀
既然不能把一万本书都精读一遍,那就先派一位经验丰富的图书检索员出场。这位检索员不做深度分析,只看书架标签和书名,几十毫秒内就能从一万本书里抽出几十本与“养猫”有关的候选书。这就是 SIM 的 GSU(General Search Unit,通用检索单元)阶段:先用轻量级方法对超长序列做一次“粗筛”,把上万条行为压缩到几百条甚至几十条,为后续的精读缩小战场。
GSU 的设计围绕一个核心思想:与当前候选相关的子序列,才有资格进入精读环节。在推荐场景中,“当前候选”就是用户此刻正在浏览的那个商品,比如一支猫粮或一本养猫手册。GSU 以候选为参照,从用户的全量行为序列中挑选出和它同类的行为。这就像检索员根据“养猫”这个主题去书架上抽书,而不必关心老陈还读过多少本经济学著作——因为那些书对判断“养猫兴趣”几乎帮不上忙。
1. 全量行为集合:S 代表用户全部历史行为的集合,比如近三年点击过的 12000 个商品。每个商品都是集合中的一个元素,类似借阅册上的每一行记录。
2. 类目属性:C_i 表示行为 i 所属的类目,例如“宠物用品”“图书”“食品”。这是商品自带的结构化标签,类似书架上贴的“文学”“科普”分类签。
3. 候选的类目:C_x 是当前候选商品 x 的类目。比如候选是一袋猫粮,它的类目是“宠物食品”。
4. 集合筛选:整个集合定义式表示“从 S 中挑出所有类目等于候选类目的行为”。这一步 O(L) 遍历即可完成,非常快,一万本书只需扫一遍分类标签。
GSU 的价值在于“以退为进”:它不需要理解行为之间的深层语义关系,只需要一层快速的分类筛选,就把计算规模从万级降到了百级。图书检索员不会去品味每本书的文笔,他只关心“这本书是不是讲养猫的”。这一刀下去,后续的所有计算都变得从容。
硬软检索:分类标签与内容神似
图书检索员有两种找书办法。第一种是看分类标签,直奔“宠物饲养”书架——这就是硬检索,靠类目这类离散属性精确匹配,速度快、可解释,但缺点也很明显:如果一本书讲的是“动物心理学”,虽然内容与养猫高度相关,却被归在“心理学”架子上,会被硬检索漏掉。第二种是凭内容简介判断“这本书的风格和感觉跟养猫很像”——这就是软检索,把每本书的简介转化为一串数字向量,再计算它们与“养猫主题向量”的相似度,取最像的前几十本。
SIM 的 GSU 正是这两种检索的融合体。硬检索保证精度:类目一致的子序列必然与候选高度相关,一个不漏。软检索保证召回:内容神似的书,即使分类不同,也能被捞回来。两者取并集,就形成了进入精读阶段的完整候选子序列。在实现中,软检索不需要暴力计算一万个内积,而是借助向量检索技术(如 ANN、MIPS),在近似索引上快速取 TopK,把时间压缩到毫秒级。
1. 行为向量:p_i 是历史行为 i 经过嵌入层得到的向量表示。你可以把向量理解成“用一串数字描述一本书的内容气质”,数字越接近,书的内容越相似。
2. 候选向量:p_x 是当前候选商品 x 的嵌入向量,代表“养猫主题”在向量空间中的位置。向量是模型从海量数据里自动学出来的,不需要人工定义。
3. 点积相似度:p_i·p_x 是两个向量的点积,数值越大表示两者在向量空间中越接近,即行为与候选越相关。这就像比较两本书的简介用词的吻合程度。
4. TopK 截断:把所有行为按相似度从高到低排序,取前 K 个。K 是超参数,比如 100。这一步不需要逐一遍历全部向量,可以用 ANN 索引快速逼近结果。
有了硬检索和软检索这两条通路,GSU 就像一位既有精准书架索引、又懂内容品味的资深图书管理员。硬检索兜底,软检索扩展,两条通路取并集后,进入精读阶段的子序列既不会漏掉明显的同领域行为,又能捕获那些“分类不同但神韵相似”的潜在兴趣。
ESU精读:目标感知的注意力加权
粗筛之后,图书推荐员手头剩下几十本与“养猫”相关的书。接下来不是每本平均用力地读,而是先看一眼老陈的问题——“如何养猫”,再回头掂量每一本书对回答这个问题的分量。那本《猫咪家庭医学》分量最重,多花时间细读;那本封面上恰好有猫的科幻小说,只是沾边,略读即可。ESU(Exact Search Unit,精确检索单元)做的就是这件事:以候选商品为“问题导向”,对被粗筛出来的子序列做一层精细的目标感知注意力,为每个行为分配一个权重,最后加权求和成一个代表用户当前兴趣的向量。
与早期模型对整条序列直接池化不同,ESU 的注意力是“目标感知”的。它的 Query 来自候选商品(而非用户历史),Key 和 Value 来自粗筛后的行为子序列。这样一来,注意力权重衡量的就是“这条历史行为对当前候选的兴趣贡献度”。曾经买过猫粮的权重就高,只看过猫图片但没买过的权重就低。同时,ESU 还引入多头注意力机制,让模型从多个维度并行捕捉兴趣侧面:有的头看类目贴合度,有的头看价格段偏好,有的头看购买时机规律。
1. 候选作为问题:q_x 是候选商品 x 映射成的 Query 向量,代表“用户在多大程度上对这个商品感兴趣”这样一个待回答的问题。注意,这个问题来自候选,而不是来自用户历史序列。
2. 行为作为键值:粗筛后的每个行为 i 被映射成键向量 k_i 和值向量 v_i。键用于和问题匹配,值携带该行为的具体信息。这就像一本书既有“分类索引”(键),又有“正文内容”(值)。
3. 缩放点积打分:q_x 与每个 k_i 做点积并除以根号 d(d 是向量维度),得到行为与候选的相关性分数。除以根号 d 是为了防止分数过大导致 softmax 梯度消失,类似把打分标准校准到合适刻度。
4. Softmax 归一化:把相关性分数转化为权重,所有行为权重之和为 1。权重越大的行为,说明它越能代表用户对候选的兴趣。
5. 加权求和:用权重对值向量加权求和,得到一个 d 维的兴趣向量 I_u(x)。这个向量浓缩了“用户对候选 x 的整体兴趣”,作为核心特征送入后续的点击率预估层。
ESU 的加权聚合像一位专注的读书人,在几十本候选书中快速翻看,心中不停给每本书打分,最后在脑海里形成一个综合印象。这个印象不是简单的平均,而是有的放矢的加权——候选是猫粮,印象就偏向“养宠经验丰富”;候选是旅行背包,印象就偏向“户外爱好广泛”。动态的兴趣表征,才是真正驱动推荐准确率的引擎。
端上注意力:把书桌搬到手边
粗筛和精读的流程已经清晰,但还有一个工程难题:老陈逛书店时,可等不了推荐员来回跑书房、翻书架、逐本细读再跑回来汇报。线上推荐对延迟的容忍度极低,通常要求几十毫秒内给出结果。如果每次请求都把用户的一万条行为全部传送到计算服务器,网络传输和算力开销都是灾难。SIM 的应对之道是把整个流程切分成两个物理环节:GSU 的服务端检索与 ESU 的端上注意力。
GSU 的检索环节可以在离线或近线阶段完成。硬检索依靠类目索引,软检索依靠向量索引,这些索引都提前建好存放在服务端。线上请求到来时,服务端只需几十毫秒就能定位到与候选相关的百级子序列。真正需要深度注意力的 ESU 环节,则只对这个百级子序列进行计算。换句话说,端上注意力并不是把整个模型塞进手机,而是把“已经缩小了 100 倍的子序列”送到最近的算力单元上做精读。这就像推荐员把书房里抽出的几十本书装进小推车,推到老陈身边的书桌上慢慢品读,而不是把整座书房搬过来。
1. GSU 压缩:全量行为序列 S 与候选 x 同时输入 GSU,输出是缩小子序列。S 的长度从万级降为百级,这是降低计算量的关键一步。
2. ESU 精算:子序列与候选 x 的 Query 共同输入 ESU,输出精确的兴趣向量。注意 ESU 不再触碰全量序列,所有计算量只与子序列大小有关。
3. 总复杂度:整体复杂度由之前的 O(L²) 降为 O(K²),其中 K 远小于 L。一万本藏书只需精读一百本,每本之间的两两对比从“一亿对”降到“一万对”,计算量缩为原来的万分之一。
端上注意力的精髓在于“算力跟着数据规模走”:大而轻的检索留在服务端,小而重的精读搬到端上。这种分工既保住了长序列的信息优势,又满足了线上实时推荐的延迟约束。想象一下,老陈在书店随手拿起一本猫粮,推荐员却能在一秒钟内完成“从万卷藏书中召回相关书籍并给出兴趣判断”的全过程,这就是工程设计的魔力。
工业落地:从论文到推荐系统
最后一步,是把这套“藏书家找书”的方法装进真实的推荐系统。在电商场景中,当用户浏览商品流时,系统要为每个候选商品计算一个点击概率。传统方法的输入往往是用户的统计特征(如购买过的类目分布)和最近几十条行为,而 SIM 的落地方式是把兴趣向量 I_u(x) 作为核心特征接入预估模型。具体来说,离线阶段训练好嵌入层与注意力参数,在线阶段实时计算兴趣向量,再把用户画像特征、候选特征与兴趣向量拼接,送入多层感知机(MLP)输出点击率。
1. 用户画像特征:e_u 是用户层面的基础特征向量,如性别、年龄段、常驻城市、账户等级等,刻画“这个人是谁”。
2. 候选特征:e_x 是候选商品 x 的特征向量,包括商品 id 嵌入、价格档位、店铺信誉等,刻画“候选是什么”。
3. 兴趣向量拼接:将三者拼接成一个长向量,作为 MLP 的输入。兴趣向量来自 ESU,是“用户对当前候选的即时兴趣浓度”。
4. MLP 与 S 形函数:MLP 负责在高维空间中组合特征之间的非线性关系,Sigmoid 函数 σ 将输出压缩到 0 到 1 之间,即为点击率预估值。
从工程视角看,SIM 两个阶段各有分工:GSU 适合部署在召回和粗排阶段快速过滤候选,ESU 适合在精排阶段为每个候选生成精细兴趣特征。在业界实践中,引入 SIM 后往往能带来离线 AUC 数个百分点提升,在线 CTR 也有可观增益。万卷藏书的真正价值,不在于它的规模本身,而在于你是否有一把足够快的钥匙,在需要时准确打开那本“此刻最相关”的书。
AI 应用场景
电商平台的召回与粗排
阶段:召回 + 粗排
解决的问题:电商用户动辄上万条历史行为,传统方法要么截断到最近几百条导致长期兴趣丢失,要么全量计算导致线上延迟不可控。SIM 的 GSU 用两级检索先把万级序列压缩到百级,再让 ESU 精准打分,既保住了长期兴趣,又满足了毫秒级响应要求。
具体案例:在淘宝商品流中,用户 A 三个月前浏览过高端猫粮,今天系统推了一款自动猫砂盆。GSU 通过类目“宠物用品”和向量相似度,从 A 的两万条历史行为中捞回两百条与宠物相关的记录,ESU 计算出“养宠消费力强”的兴趣向量,最终推荐成功命中,用户点击并下单。
信息流与短视频的兴趣扩展
阶段:精排特征建模
解决的问题:短视频场景的用户行为序列极长,一天能产生上千次观看行为。SIM 把“用户过去三个月看过的所有视频”作为长序列,通过 GSU 检索出与当前候选视频风格相近的子序列,再用 ESU 的注意力权重判断用户对这类内容的沉浸度,让模型捕捉到跨越数周的稳定内容偏好。
具体案例:抖音用户 B 两周前完整看过三期《动物世界》纪录片,今天系统候选是一条熊猫幼崽的萌宠视频。SIM 检索出历史中所有“动物类长视频”行为,ESU 对它们加权后发现该用户对“纪实类动物内容”的停留时长远高于平均,于是提高这条视频的排序分,用户完播率显著提升。
Python 演示
import numpy as np class SimModel: def __init__(self, dim=16, k=30): self.dim = dim self.k = k self.item_emb = {} self.item_cat = {} def fit(self, items): for item, (emb, cat) in items.items(): self.item_emb[item] = np.array(emb, dtype=np.float32) self.item_cat[item] = cat def gsu_hard(self, hist, cand): c = self.item_cat[cand] return [i for i in hist if self.item_cat[i] == c] def gsu_soft(self, hist, cand): e = self.item_emb[cand] scored = sorted(hist, key=lambda i: float(self.item_emb[i] @ e), reverse=True) return scored[: self.k] def esu(self, hist, cand): q = self.item_emb[cand] hard = self.gsu_hard(hist, cand) soft = self.gsu_soft(hist, cand) sub = list(dict.fromkeys(hard + soft)) keys = np.stack([self.item_emb[i] for i in sub]) dot = keys @ q w = np.exp(dot - dot.max()) / np.sum(np.exp(dot - dot.max())) return np.sum(keys * w.reshape(-1, 1), axis=0) def predict(self, hist, cand): interest = self.esu(hist, cand) return float(interest @ self.item_emb[cand]) if __name__ == "__main__": rng = np.random.default_rng(42) items = {} for i in range(200): items[i] = (rng.normal(size=16), i % 8) model = SimModel() model.fit(items) hist = list(range(200)) cand = 15 score = model.predict(hist, cand) print(score)
self.item_emb = {}存储每个商品的嵌入向量,相当于给每本书建立“内容简介向量”。gsu_hard硬检索:按类目精确匹配,类似直奔“宠物饲养”书架。gsu_soft软检索:按向量内积排序取 TopK,类似用内容简介判断神似程度。dict.fromkeys(hard + soft)硬检索与软检索取并集并去重,保证精读候选不重不漏。dot = keys @ q每个行为向量与候选向量做点积,度量行为与候选的相关性。w = np.exp(dot - dot.max()) / ...Softmax 数值稳定实现,让所有权重和为 1。np.sum(keys * w.reshape(-1, 1), axis=0)加权求和得到兴趣向量,是 ESU 的核心输出。interest @ self.item_emb[cand]兴趣向量与候选向量再点积,得到最终匹配分数。
常见误区
误区用户最近的行为就是最真实的兴趣,把行为序列截断到最近几百条就够了,又省算力又准确,SIM 的意义不大。
正解长序列的价值恰恰在于“长”——用户的兴趣会跨月甚至跨年复现。一个用户可能三个月前研究过猫粮,今天看到猫砂盆时,那条遥远的“猫粮点击”就是关键信号。截断等同于图书推荐员只看老陈最近读的十本书,五年前的《猫咪家庭医学》被永久埋没。SIM 的 GSU 不是为了炫技,而是为了在保留完整序列的前提下把计算量降下来。
为何常见:早期行为建模的惯性思维是“数据越新鲜越好”,且截断操作实现简单、视觉上合理,让人忽略了低频长期兴趣的存在。
误区GSU 不就是对序列做个相似度排序取前 K 个吗?用暴力遍历加排序也能实现,不需要什么复杂的索引结构。
正解线上序列长达万级,每个候选都要实时检索,如果每个请求都做万次向量内积和全量排序,延迟根本扛不住。GSU 的工业实现依赖离线建好的类目索引和 ANN/最大内积检索索引,才能在毫秒级完成软检索。硬检索看类目、软检索靠索引,两者融合才是完整的 GSU。
为何常见:看论文时容易被公式中的 TopK 迷惑,忽略了工程上“如何快速拿到 TopK”才是真正的难点,而论文的亮点恰恰在这套两段式检索的工程落地。
误区ESU 就是对子序列做一层自注意力,让序列内部的行为互相打分,权重高说明行为重要。
正解ESU 的注意力是目标感知的,Query 来自候选商品而非历史序列。它的本质是回答“用户对当前这个候选有多感兴趣”,而不是“序列内部哪些行为更突出”。如果换成自注意力,模型学到的只是行为之间的关联,失去了对具体候选的响应能力,就像推荐员只顾评价书的好坏,却忘了老陈的问题是什么。
为何常见:注意力机制在 NLP 中普遍以自注意力形式出现,容易让人惯性套用,忽略了推荐场景中“候选导向”的特殊设计。
误区端上注意力就是把完整的 SIM 模型裁剪后塞进手机或浏览器端运行,模型压缩和量化是它的主要内容。
正解端上注意力强调的是计算阶段的拆分——GSU 检索利用服务端的大索引完成,ESU 只对压缩后的百级子序列进行计算。这里的“端上”不是指用户手机,而是指离线上请求最近的算力单元。整个模型并没有被塞进终端设备,传输和计算的开销都已经通过 GSU 缩小了两个数量级。
为何常见:名称里的“端上”一词容易产生字面联想,与移动端、边缘计算等流行概念混淆,忽视了它在论文中的工程切分本质。
误区SIM 是一个精排模型,只在最后算点击概率时使用,召回和其他环节用不上。
正解SIM 的两级结构天然适配不同阶段。GSU 的快速检索可以嵌入召回链路,从“用户行为”维度向候选池扩展;ESU 的兴趣向量则可以作为精排阶段的特征,提升 CTR 预估精度。工业界通常把它用在召回、粗排和精排三个环节的衔接处,而非单独作为某一个模型。
为何常见:论文的实验部分主要在精排场景下验证点击率,容易让读者误以为它只能做精排,忽略了其架构本身的通用性。
面试题
Q1. SIM 模型主要解决什么问题?
- A.图像识别精度不足
- B.超长行为序列计算爆炸← 正确答案
- C.推荐系统冷启动缺失
- D.文本摘要信息冗余
答案:B。SIM 的出现背景是用户行为序列越来越长,直接建模会产生平方级计算量。它用两级检索把万级序列压缩到百级再精读,本质上解决的是长序列的计算爆炸问题。冷启动、图像识别、文本摘要都不是 SIM 的目标场景。
Q2. SIM 中 GSU 模块的核心功能是什么?
- A.对子序列做精细注意力
- B.从长序列中检索相关子序列← 正确答案
- C.直接输出点击概率
- D.对商品做视觉特征提取
答案:B。GSU(通用检索单元)是从原始长行为序列中快速检索出与候选相关的子序列,把万级降为百级。精细注意力是 ESU 的职责,点击概率是下游 MLP 的职责,视觉提取与 SIM 无关。这就像图书检索员先粗筛,精读是后续的事。
Q3. SIM 的硬检索通常依据什么进行匹配?
- A.用户 ID 与商品 ID 相同
- B.商品类目等离散属性← 正确答案
- C.注意力分数的阈值
- D.随机采样的均匀分布
答案:B。硬检索利用类目这类结构化离散属性做精确匹配,比如候选是“宠物用品”类,就从长序列里挑出所有“宠物用品”类行为。它快速、可解释,但可能漏掉分类不同但语义相近的行为,因此还需要软检索补充。
Q4. 关于软检索的实现,下列哪些说法正确?
- A.用嵌入向量内积度量相似度← 正确答案
- B.可用 ANN 索引做近似 TopK← 正确答案
- C.只能用全局全表扫描保证精确
- D.用人工规则精确匹配行为
答案:AB。软检索的核心是把行为与候选映射为向量,通过内积算相似度,并用 ANN(近似最近邻)或最大内积检索加速 TopK。全表扫描在万级序列上延迟太高,人工规则匹配属于硬匹配思路,所以 C、D 错误。
Q5. ESU 中注意力机制的 Query 来自哪里?
- A.用户历史行为序列
- B.当前候选商品← 正确答案
- C.随机初始化的向量
- D.全局平均池化结果
答案:B。ESU 是目标感知的注意力,Query 由当前候选商品映射得到,用来衡量“用户对这个候选的兴趣”。历史行为作为 Key 和 Value。随机初始化或平均池化都无法体现“针对当前候选”这一核心设计。
Q6. 对长度 L 的行为序列直接做自注意力,算法复杂度约为多少?
- A.O(L)
- B.O(L²)← 正确答案
- C.O(log L)
- D.O(L³)
答案:B。自注意力需要计算序列中任意两个行为之间的关系,形成 L×L 的注意力矩阵,因此复杂度和 L² 成正比。一万条行为约对应一亿对关系,这就是长序列计算爆炸的根源,也是 SIM 用 GSU 先压缩的原因。
Q7. SIM 将行为序列从万级降到百级后,ESU 注意力的复杂度变化是?
- A.从 O(L²) 降为 O(K²),K 远小于 L← 正确答案
- B.从 O(L²) 升为 O(K²)
- C.仍然保持 O(L²) 不变
- D.与序列长度无关,恒为 O(1)
答案:A。GSU 压缩后,ESU 只对 K 条子序列做注意力,复杂度为 O(K²)。由于 K(百级)远小于 L(万级),计算量缩为原来的约万分之一。复杂度不会升高,也不是常数,因为仍与子序列长度平方相关。
Q8. 为什么直接截断到最近 N 条行为替代长序列不够好?
- A.截断后计算量反而更大
- B.会丢失低频但长期的兴趣← 正确答案
- C.截断后无法做嵌入
- D.模型无法在线更新
答案:B。截断省了算力,但把早期出现的、低频却重要的兴趣信号丢掉了。用户可能几周前研究过某类商品,今天才被重新触发兴趣,截断后模型完全看不到这条行为。SIM 的两级检索正是为了既保留长序列信息,又控制计算量。
Q9. 下列哪些是 SIM 中 GSU 的检索通路?
- A.基于类目的硬检索← 正确答案
- B.基于向量的软检索← 正确答案
- C.基于规则统计的随机检索
- D.基于人工特征的精确匹配
答案:AB。GSU 融合了硬检索和软检索两条通路。硬检索靠类目离散属性精确匹配,软检索靠嵌入向量内积做近似 TopK。随机检索会引入噪声,人工特征精确匹配在万级序列上开销过高,都不是 GSU 的设计。
Q10. SIM 在工业推荐系统中可以用于哪些环节?
- A.召回阶段的长序列匹配← 正确答案
- B.粗排与精排的特征建模← 正确答案
- C.图像数据的离线增强
- D.文本关键词的自动抽取
答案:AB。GSU 的快速检索能力适合在召回阶段从行为维度扩充候选,ESU 的兴趣向量可作为粗排和精排的核心特征,提升 CTR 预估准确性。图像增强和文本抽取属于其他模态任务,与 SIM 的行为序列建模无直接关系。