小红书精读:LESSRec: Level-Specific History Modeling for Semantic ID-Based Recommendation
🎯同层历史才管用,跨层多半是干扰
各位算法同学们,如果把用户历史按语义层级切开、每次预测只让解码器看和目标同层的那一条序列,召回反而比看全部历史更高——而且只用了四分之一的 token。这篇就是在 TIGER 上把这件事做实了,顺手改了解码器的注意力结构。
📄 LESSRec: Level-Specific History Modeling for Semantic ID-Based Recommendation
🔧 先给结论找证据:作者不改参数、只改 TIGER 解码器的 cross-attention mask,让每个目标位置只看某一层的历史 token。可见 token 数不变,越多的目标位置对上自己那一层,效果越好;全部对齐后历史可见量只剩 1/4,Recall@10 仍略高于原始 TIGER。
🧩 两个配套设计:Level-Isolated Self-Attention 让编码器里每个语义 token 只和跨物品的同层 token 交互,EOS 可以看全部但不能把信息回流;Level-Aligned Cross-Attention 让预测第 r 层 token 时只看第 r 层历史,从源头断掉跨层混合。
⚙️ 只靠单层会丢物品整体语义,所以再加一条 Item-Level Semantic Sequence:把每个历史物品各层编码表示平均池化成物品级表示、按交互顺序排好,解码器用第二条 cross-attention 分支读它,再和同层上下文融合。LESSRec+ 则把编码器层按层级拆成独立分组、总参数量不变,省掉被 mask 掉的那部分计算。
📊 Games 数据集 Recall@10:全对齐比全错配高 11.59%(标准编码),在层级隔离编码下这个差距拉到 49.46%。
✅ 全部目标位置对齐时,模型只用约四分之一的历史 token,指标仍略微超过无限制访问的 TIGER。
📈 结论在三个公开数据集、三种 tokenizer 上都成立,消融也支持 LIS、LAC、ILS 各自的作用;LESSRec+ 的效率分析显示编码侧计算和中间激活都降了。
我的判断:如果你在做 semantic ID 生成式推荐、解码器现在是无差别 attend 所有层级的历史 token,这套 mask 改造几乎不动参数就能试,优先盯你自己 tokenizer 下的 Recall@10 和 NDCG@10,并且一定和同参数量的 TIGER 对齐比。坑有两个:语义层级数 L 变了,同层收益的幅度可能跟着变;ILS 用的是对各层表示做平均池化,细粒度差异会被压掉,物品级分支的权重别设太大,否则又绕回跨层混合。
原文:AlphaXiv