1. 问题与动机
HiSAC 解决的是工业推荐里非常具体的问题:高活跃用户的历史行为可以超过 1 万次交互,但直接把全量序列送进 attention ranker 会让在线延迟和显存成本失控。论文指出,多头注意力在长序列上的计算复杂度随历史长度急剧上升,生产系统难以承受;同时,大量无关或噪声行为会稀释注意力权重,导致模型不能有效捕捉真正有用的长期偏好。
已有长序列压缩方法主要有两类。第一类用固定数量的全局兴趣中心,例如 ELASTIC、PolyEncoder 风格的 learnable prototype;问题是每个用户的兴趣数量和粒度不同,固定 prototype 容易把个性化偏好压成平均模板。第二类使用 K-Means、LSH 或时间分片做 hard assignment;问题是时间相近不等于语义相近,哈希/聚类也会把语义相近但 code 不完全匹配的长尾行为丢掉。论文把这种损失称为 quantization error,并强调它对稀疏长尾兴趣尤其致命。
HiSAC 的动机因此很清晰:需要一种在线可服务的压缩表示,既能用完整历史,又能按用户自适应地选择兴趣中心,还要避免硬分配带来的长尾偏好损失。它把多模态语义离散化、层次投票、soft routing attention 组合起来,在淘宝首页“猜你喜欢”场景中验证。
2. 方法详解
HiSAC 的输入是用户按时间排序的历史行为序列,长度可以超过 10,000。目标不是选一个候选相关的子序列,而是构造若干 interest-level summaries,每个 summary 表示用户某个兴趣簇。整体流程有三步:行为 tokenization、hierarchical voting、soft-routing attention。
第一步是多模态语义 tokenization。每个 item 收集标题、类目等文本元数据和商品图像,用冻结的 CLIP ViT-B/32 加 Q-Former 融合成多模态 embedding。这个 embedding 不参与推荐任务端到端训练,目的是保留相对去偏的内容语义,减少曝光频率和交互数据对路由空间的扭曲。随后用 RQ-VAE 做多级残差量化:第一级量化原始 embedding,后续级别量化残差,得到一个多层 semantic identifier,也就是穿过层级 codebook 的路径。RQ-VAE 用重构损失和 commitment loss 训练,codebook 使用 EMA 更新,decay 为 0.99。
第二步是层次投票。所有 item 的 SID 构成全局层级语义树,root 到 leaf 的路径对应完整 SID。对某个用户,把历史 item 投影到 leaf 节点,先自底向上传播 vote count,再自顶向下按每层预算保留 top-k 子节点。保留下来的 leaf 节点就是该用户的 personalized interest-agents,数量由每层预算控制。这个设计比固定全局兴趣中心更灵活:兴趣集中用户会激活少量强节点,兴趣分散用户会保留更多语义分支。
第三步是 Soft-Routing Attention。hard routing 只把行为分给完全匹配的 interest-agent,容易丢掉 SID 不匹配但语义相近的长尾 item。HiSAC 为此解耦两个 embedding 空间:semantic embedding 来自冻结多模态编码器与 RQ-VAE,只用于计算 item 与 agent 的相似度;ranking embedding 则由 CTR 目标端到端训练,包含交互驱动信号和类目、品牌、时间衰减等特征,用作被聚合的 value。每个 agent 先通过其 SID codeword 重构语义 prototype,再对全历史 item 计算负距离 softmax 权重,并乘以 agent 本身的兴趣强度,最终得到压缩序列。生产部署中,HiSAC 做离线 agent 构建、request-level compression 和 cache-enhanced MHA:用户序列每个请求压缩一次,候选 query 离线预计算并每 2 小时刷新,user key/value 每请求复用。
3. 核心技术贡献
第一,HiSAC 将“长序列压缩”从固定 prototype 转成用户自适应的层级兴趣激活。全局语义树提供共享索引,但每个用户通过投票选择自己的 interest-agents,解决了不同用户兴趣数量和粒度不同的问题。
第二,论文把语义路由空间和排序聚合空间彻底解耦。很多推荐模型把 item embedding 同时用于相似度分组和 CTR 排序,结果 popularity bias 会污染路由;HiSAC 用冻结语义 embedding 决定“应该归到哪个兴趣附近”,用训练 embedding 决定“这个行为对排序有什么价值”,两者分工明确。
第三,soft routing 不是简单平滑,而是为长尾兴趣保留梯度和信息。论文的案例中,一个“棉袜”行为没有精确匹配的 agent,hard routing 会丢弃或错分;soft routing 可以把它分配给语义相近的“鞋类/足部穿戴”agent。线上结果显示,top 10% 之外长尾 item 的 CTR 提升 12.6%,说明这个机制确实改善了头部曝光挤压。
第四,论文提供了可部署优化。离线构建 agent、按请求压缩、缓存候选 Q 和用户 K/V,使得模型不是停留在离线 AUC 论文,而是在 10k 历史、2,000 候选的淘宝首页在线链路中满足服务约束。
4. 实验结果分析
论文使用三个数据集:淘宝工业数据、Taobao-MM、KuaiRec。工业数据包含 14 天日志、2 亿用户、10 亿 item、300 亿交互,最大序列长度截到 10,000;前 13 天训练,最后 1 天验证。Taobao-MM 有 879 万用户、3540 万 item,最大序列 1,000;KuaiRec 有 7,176 用户、10,728 item。离线指标是 AUC 与 GAUC,线上指标包括 IPV、CTR、CTCVR 和订单。
主要离线结果显示,HiSAC 在工业数据不同长度上稳定领先。以 10k 序列为例:
| 方法 | AUC | GAUC |
|---|---|---|
| MHA | 0.6419 | 0.5503 |
| Patching | 0.6420 | 0.5508 |
| K-Means | 0.6426 | 0.5515 |
| Aggregator | 0.6438 | 0.5518 |
| HiSAC | 0.6444 | 0.5525 |
把 HiSAC 接入已有长序列模型也有效。例如 HiSAC + ELASTIC 在 10k 工业数据上达到 AUC 0.6449、GAUC 0.5531;HiSAC + Longer 达到 AUC 0.6455、GAUC 0.5537。这说明它不是只能搭配单一 ranker,而是可以替换多种模型内部的压缩模块。
消融实验更关键。去掉多模态编码器,AUC 从 0.6444 降到 0.6424,下降 0.20 个百分点;只去掉文本或图像分别降到 0.6429 和 0.6431,说明文本语义在电商场景中更重要。用 RQ-KMeans 替代 RQ-VAE,AUC 降到 0.6438;论文还报告 RQ-VAE 的 Silhouette Coefficient 为 0.42、重构误差 0.018,而 RQ-KMeans 分别是 0.28 和 0.027。压缩机制方面,去掉 soft routing 改成 hard routing,AUC 降到 0.6429;去掉长尾兴趣保留是 0.6438;去掉层级投票 AUC 几乎不降但 agent 数量增加 3 倍,在线成本不可接受。最强的反例是把 semantic 和 ranking embedding 合并,AUC 直接掉到 0.6253、GAUC 0.5392,证明解耦空间是核心。
线上两周 A/B 测试结果也很完整:HiSAC 在淘宝“猜你喜欢”首页相对最强生产压缩基线带来 IPV +1.93%、CTR +1.65%、CTCVR +2.24%、订单 +2.56%。生产优化后,论文称端到端推理延迟降低超过 40%;缓存增强 MHA 中,Q/K/V projection 占超过 70% serving FLOPs,预计算候选 Q、复用用户 K/V 后 projection FLOPs 降低 72%,cache hit rate 99%。
5. 局限与未来方向
论文没有显式 limitations 章节,但从实验设置可以看到一些限制。第一,最强证据来自淘宝电商首页,item 具有丰富文本、图片、类目、品牌等多模态信息;在纯短文本 UGC 或稀疏元数据平台,RQ-VAE 语义树质量可能下降。第二,HiSAC 依赖每日离线 item SID 分配与用户 agent 构建,新内容极速增长或实时兴趣突变场景需要补充增量更新策略。
第三,虽然 soft routing 减少长尾损失,但它仍以冻结多模态语义距离作为路由基础。如果文本/图片 embedding 无法表达社区语境、梗、时效话题或地域语言,长尾兴趣可能被路由到错误 agent。第四,论文的部分数学符号在 HTML 中缺失,学习率等训练超参也没有完整披露,外部复现会依赖作者代码或内部工程细节。
未来方向上,可以研究实时 agent 更新,而不是每日离线更新;可以引入搜索 query、评论文本、社交关系等 UGC 特有信号来增强 semantic tree;也可以把 soft routing 的温度和层级预算做成用户自适应,而不是固定全局超参。对于搜索推荐统一系统,还可以尝试让 query、item、作者、topic 进入同一层级语义树,用同一套压缩表示服务召回和排序。
6. 工业实践意义
HiSAC 对工业推荐团队的最大价值是给“全量长历史建模”提供了可落地方案。很多平台为了时延只截断最近 N 条行为,或者按候选检索一小段相关历史,这会损失长期兴趣和长尾偏好。HiSAC 表明,可以先离线把完整历史压成个性化 interest-agents,再在线让候选和压缩后的兴趣摘要交互,从而兼顾历史覆盖和服务成本。
对社区 UGC 场景,方法可这样迁移:把帖子标题、正文摘要、图片/视频封面、作者、话题标签编码为多模态 embedding;用 RQ-VAE 构建层级语义树;按用户历史浏览、点击、收藏、评论、关注做层级投票,形成用户兴趣 agents;排序时用 soft routing 聚合完整历史,而不是只看最近点击。对于短文本搜索,用户近期 query 与长期内容消费也可以共同投票,形成 query-aware interest-agents。
落地时有几个工程注意点。首先,路由 embedding 要尽量去偏,不能直接用 CTR embedding,否则热门内容会统治语义树。其次,agent 构建要有增量机制,新帖子、新作者、新话题需要快速进入 codebook 或临时节点。第三,线上监控不能只看 CTR,还要看长尾曝光、类目多样性、冷启动内容点击和 per-user latency。论文里长尾 item CTR +12.6%、每用户 distinct categories +5.7% 是很好的监控模板。
总体来说,HiSAC 不是单纯提高一点 AUC 的压缩技巧,而是一个“语义离散索引 + 个性化兴趣压缩 + 在线高效交互”的系统设计。对于需要在千万到亿级用户上保留长期行为的推荐系统,它比固定兴趣中心、时间分片和候选相关截断更稳健,也更容易解释每个兴趣 agent 对应的语义分支。