ZeroGR: Filtering-First Constrained Decoding for Generative Recommendation
做生成式推荐服务的工程团队值得读:它指出约束解码的大部分计算花在注定被丢弃的候选上,并给出先过滤的系统实现。生成式推荐逐个 token 生成物品编码,每步都要保证编码对应目录里真有的物品。
今日场景今天生成式这条线的主题是把生成式推荐真正跑在线上,并且跑得便宜。ReuseGR 让大模型按搜索词离线生成编码前缀,在线只留小模型做个性化补全;ZeroGR 把约束解码改成先过滤再打分,省掉大量白算的候选。OneTrans-GSR 往下游走了一步,用一个模型直接生成整屏的重排和混排结果,SPADE 则把本地生活的搜索词推荐做成一个兼顾位置和多样性的生成模型。另一组论文看大模型推荐 agent 的弱点:τ-Rec-Books 测出 agent 不会主动问需求,另一篇发现一条编造的安全隐患评论就能让 agent 改选攻击者的目标。 — 评分 26 篇,入选 10 篇,分数 3.55 – 4.50
做生成式检索上线的团队值得读:它给出了一种拆法,大模型的算力按搜索词复用,个性化留给在线小模型,并且有线上 A/B 验证。同一个搜索词每天被很多人搜,每次都从头生成完整的 Semantic ID 是在重复计算。
做生成式推荐服务的工程团队值得读:它指出约束解码的大部分计算花在注定被丢弃的候选上,并给出先过滤的系统实现。生成式推荐逐个 token 生成物品编码,每步都要保证编码对应目录里真有的物品。
做重排和混排的团队值得读:它把这两个长期靠规则的环节变成一个能靠加算力变好的生成问题,并且已经全量上线。决定这一屏展示什么的重排和混排,一直靠手写规则和小模型:商品卡、短视频、直播、广告卡怎么穿插,权重靠人调。
用大模型做推荐时,常给用户写一段画像,物品却没有对等的描述;用户画像只塞进重排提示词,和别的内容抢长度;画像写好后也不再修正。HARP 不训练参数,补了这三处。它让物品也有一份画像,同样分偏好、品质、场景、受众四栏,用规则从元数据和评论里填,不调用大模型。重排前,系统先挑一批相似的用户和物品当协同邻居,它们的记忆,也就是代理为每个用户和物品存的文字记录,会汇总进重排提示词。HARP 按画像相近程度给候选邻居打分,画像越不像,打折越多,越难入选。预热时,拿用户最近一条历史交互试推一次,让大模型对照对错反思,改写画像。四个公开数据集上,Hit@1 比最强的已发表基线高 6.9% 到 24.0%,消融显示给邻居加权贡献最大。
对话式推荐难在用户不会一开口就把要求说全。τ-Rec-Books 固定同一个找书请求,只改变用户什么时候说出要求:一开始全说,开头说一条、其余等问了再说,或者有些要求始终不说。不说的要求只能靠先提几本书、看用户接受还是拒绝来推断。四个 agent 的平均成功率,从全说时的 0.975 掉到要问才说时的 0.756,有隐藏要求时只剩 0.283。要问才说的任务失败,主要是 agent 根本不问,明确让它提问后成功率几乎全部恢复。隐藏要求的任务里,agent 常把从没给用户看过的书直接当成答案。评估推荐 agent,要看它会不会主动问,会不会用拒绝来排除可能的要求。
本地生活 App 首页的搜索词推荐,要从几百万个可能的搜索词里生成几条给用户:既要贴合个人偏好,又要对得上此刻的时间和位置,还要照顾长尾需求,几条之间也不能重复。以往的方法一次只解决其中一点。SPADE 用一个生成模型把这几件事一起做。比如 BPE 分词统计字词片段的出现次数时,SPADE 让每个搜索词按它的业务价值计权,价值由平台的互动和转化信号算出。这样有价值的长尾搜索词会被合并成更少的 token,更容易生成。偏好上,直接用线上的曝光和点击数据做 DPO 对齐。离线 HR@5 比最强的生成式基线高 5.6%;一周线上 A/B 里,模块点击率提高 1.88%。
基于 Flow 的协同过滤有个容易被忽视的短板:训练的起点和用户毫无关系。这类模型从一个随机起点出发,学着一步步走到用户真实的交互记录;现有方法按全局物品热度独立采样这个起点,模型拿不到个人线索。SourceFlow 改的是起点本身:把用户历史里的部分物品,换成常和它被同一批用户交互、但这个用户没碰过的物品,让训练像推理一样,从带协同信号的记录去补缺失的交互。五个数据集上,Recall@10 比最强的 Flow 方法平均相对高 15.7%。把同样的起点打乱分给别的用户,收益反而消失,说明起作用的是起点和用户的配对。
传统推荐给每个物品一个随机整数 ID,ID 本身不带任何含义,模型只能从交互里学 embedding,冷启动物品很吃亏,embedding 表也越做越大。这份动手教程梳理了从普通 ID 到 Semantic ID 的演进,以及它在多模态、冷启动和跨域推荐里的用法,还配了一套练习:构建和评估 SID,训练模型,再做跨域迁移。教程最后讨论了还没解决的问题,比如 SID 怎么随内容变化更新。想系统上手 SID 的工程师,可以直接拿这套练习当入门材料。
商家改写商品描述,希望大模型在回答里更常推荐自己,这类做法叫生成式引擎优化。可同一段描述要面对需求不同的用户:有人需求还很模糊,有人已经到了做决定的阶段。作者在四个领域、十种用户意图下重测了现有方法,发现提升幅度随意图变化很大;用模型自动优化出来的提示词,平均下来甚至不如它最初那版手写提示词。追查发现,优化过程中提示词慢慢丢掉了明确的推荐指令,变成泛泛的营销话术。作者的 AMO 把推荐指令固定成不动的核心,只学习追加在后面的策略,目标商品在大模型回答里被提到的名次,平均前移幅度比最强的学习型方法高 35%。评估这类优化,要按用户意图分开看。
操纵 AI agent 不一定要往网页里写指令。作者发现,只要在评论区发一条看起来普通的评论,编造一个安全隐患,agent 就会因为训练出的避险倾向排除正规选项,转而选攻击者想推的那个。这种攻击里没有任何命令句,现有的注入检测器会把它判为正常内容。不设过滤时,它让 agent 改选的成功率和指令注入差不多;加上检测器后,它比指令注入有效得多。生产环境里的浏览器 agent 也会中招。在 agent 的指令里加一条要求,危险信息必须有其他来源佐证才采信,攻击成功率就从 68.4% 降到 3.6%。