SetMIR: Multi-Interest Retrieval as Set Prediction
Xiaodong Liu, Congfei Zhang, Hsiang-wei Chao, Siman Wang, Xiao Bai, Tong Zhao, Jingxiao Ma, Wen Zhang, Zhe Liu, Shantanu Aggarwal, Di Huang, William Leach, Yunzhi Zhou, Yajun Wang, Jinchao Li, Yu Zhang
cs.IR
2026-08-31
SetMIR用匈牙利匹配和存在头做多兴趣检索,平均只发6.70路ANN查询。线上转化率相对Snap原混合检索提升3.11%,查询量少约33%。
工业检索常用双塔:用户一个向量,商品一个向量,近似近邻(ANN)拉回几千候选。一个向量装不下同周出现的潮牌、童装和护肤。多兴趣检索改成 K 个用户向量各查一次,但又会塌成几个重复兴趣,线上还无论用户当下有几个兴趣都发满 K 路查询,把检索配额浪费在空头上。
Snap 的 SetMIR 把多兴趣检索写成集合预测:固定 K 个可学习 query,输出个数随用户变化;训练用匈牙利算法一对一配对,推理用存在分数决定发几路 ANN。
用户历史(截到最近 40 次)先查冻结的内容向量,加上位置编码和可学习的事件类型编码。事件系数 α 从 0 起步,模型先待在纯内容空间,再慢慢把点击、加购、购买的强度加进去。2 层 Transformer 编码历史,K=10 个 query 经 6 层 decoder 交叉注意历史;每个 query 吐一个 L2 归一化检索向量和一个 sigmoid 存在分数。隐藏维 128,总参数约 3300 万。
训练时把未来 3 天窗口里的高意图商品(购买 > 加购 > 上滑)去重后最多留 15 个当目标集合。匈牙利匹配按「向量点积 + 存在 logit」把目标和 query 一对一接上;匹配上的 query 做 in-batch InfoNCE,没匹配上的只学「不存在」。再加一条边距 0.3 的互斥项,惩罚仍然太近的活跃 query。推理先按存在阈值 τ=0.3 过滤,再按 query 间余弦 0.9 做非极大抑制,活下来的 K̃ 路各查 ⌈N/K̃⌉ 个商品,按最大分数合并。
离线在 Snap 动态商品广告日志上评,测试集约 100 万用户、530 万商品目标。指标相对 SetMIR 本身归一化到 100%,基线全部发满 K=10 路。
| 方法 | 平均 ANN 路数 | R@1 | R@10 | MRR |
| MIND | 10.00 | 45.7% | 52.9% | 44.4% |
| ComiRec-SA | 10.00 | 67.4% | 89.8% | 80.0% |
| KuaiFormer | 10.00 | 43.0% | 52.0% | 42.2% |
| SetMIR (argmax) | 2.16 | 62.1% | 63.5% | 56.4% |
| SetMIR | 6.70 | 100% | 100% | 100% |
ComiRec-SA 在 R@100 已到 99.9%,排序头部仍差一截。把匈牙利换成 argmax 后有效兴趣塌到约 2 路,R@10 只剩 63.5%。去掉存在损失,平均路数升到 8.23,R@10 掉到 91.4%;去掉多样性损失,query 均余弦从 0.298 升到 0.321。K 从 1 加到 10,R@10 到单向量的 155%,K=7 已到 K=10 的 99.8%。存在门控把 10 路收到 7.73 且 R@1 略升,再加上 NMS 收到 6.70,相对全发只掉 0.8% 的 R@10。
线上作为新检索源接入 DPA,全局配额不变,转化率相对原混合检索 +3.11%,点击率 +0.21%。在处理组内与同嵌入、同索引、同配额的 item-to-item 源比,点击率高 44%,转化率高 51%。
对已经在跑多路 ANN 的推荐团队,这篇把「兴趣塌缩」从正则补丁改成了训练目标本身:一对一匹配加上显式的「这一路没有兴趣」。存在头让配额跟用户走,33% 更少的查询几乎不掉召回。架构贴近快手 KuaiFormer,差距主要来自监督方式,不是更深的 Transformer。
商品塔全程冻结,比的是兴趣抽取,不是端到端双塔。离线数字按公司政策只给相对值,跨论文不好直接对绝对召回。
没有独立的局限节。能看出的缺口:商品向量冻结,和联合训练商品塔的 MIND/DCM 不是同一赛道;DCM、KuaiFormer 按论文复现、无官方代码;A/B 约一周,流量比例未披露;监督信号是未来窗口里的曝光后行为,没匹配上只说明这个窗口没再出现,不说明用户没有该兴趣。NMS 阈值 0.9 很松,多样性主要靠训练而不是推理剪枝。