LLM-Based User Personas for Recommendations at Scale — 深度解读
1. 问题与动机
现有 LLM 推荐方法多依赖结构化 ID 或离线/近线处理,牺牲了语义丰富度、实时适应性与对用户的可解释性。论文给出具体证据:此前工业界工作(Wang et al. 2024–2025)仅用用户「最近两个观看视频」的聚类标签,无法捕捉长期兴趣;现有方法几乎只在离线/近线运行,对即时意图响应迟钝;还把 LLM 输出限制在「几百个预定义聚类」的小词表里。这些限制让推荐既无法表达细粒度语义,也无法向用户解释「为什么推这个」。在十亿用户视频平台上,作者希望用自然语言 persona 一次性解决三件事:长期兴趣建模、实时性、可解释性,并且全程要在严格延迟/成本预算内服务。
2. 方法详解
核心是「单次 LLM 推理完成双目标任务」:(a) Summarized Interests —— 把用户观看历史综合成简洁可读的兴趣标签;(b) Exploration Interests —— 对每个 summarized interest 生成语义相关但新颖的主题,从而在一次推理内完成 exploitation-exploration 平衡。
用户表征三个关键发现:① 视频标题比描述/salient terms 信噪比更高,效果最好;② 先用「Infinite Concept Personalized Clustering」算法(按 salient term 相似度,salient term 是带 salience 权重的 unigram/bigram)把视频聚成语义簇再拼 prompt,显著提升语义丰富度,并剔除观看极少的簇;③ 模型越大越好,但到 Gemini Pro 与 Ultra 之间出现饱和。
知识蒸馏:teacher 用 Gemini 1.5 Pro(配 Chain-of-Thought 多步推理)生成高质量训练数据,随机采样「数万」合格用户,只保留兴趣数量符合指令的回复,按 80%/20% 切分;student 是 Gemini Flash 与 Gemini Nano,并对 student 做量化。
异步推理架构:在线请求先查缓存里是否有「最新的 persona」,若过期/缺失则触发异步后台 job 重算,当前请求不等待生成完成;生产中选用 Nano(而非 Flash)以满足严格延迟/成本。
召回侧两种方案:传统双塔(cosine 相似度)或 sequential transformer 上做「constrained nearest neighbor search」,把检索限制在语义相关 item。线上策略:每次请求随机采样一个 summarized + 一个 exploration interest,强制统一探索策略、保证 session 内发现多样性,缓解生产系统严重的 recency bias。输出端加安全分类器,命中敏感兴趣则回退到此前安全 persona。
3. 核心技术贡献
① 首个在十亿用户规模、serving 阶段实时生成自然语言 LLM persona 且满足延迟约束的系统——把「用户长期兴趣」从离线 ID 升级为在线可读文本。② 用统一 prompt 在一次推理内同时产出「已有兴趣」与「新颖探索主题」,把 exploitation-exploration 内化进生成,而非靠额外探索模块。③ 工业级低成本架构:异步后台生成 + student 量化 + 语义聚类输入压缩,三者叠加把在线 LLM 推理成本压到可服务范围。④ 语义聚类输入(标题 + 语义簇)相比 sequential ID 序列显著提升 persona 质量,BLEURT 上语义簇优于 embedding 簇。蒸馏证据尤其有力:Nano/Flash 的指令遵循率(IFR)从 epoch 0 的 0.07%/1.82% 提升到 epoch 26.2 的 99.08%/99.68%,说明若要服务小模型,蒸馏是必需的。
4. 实验结果分析
离线(用户表征):BLEURT 上「标题 + 语义簇」显著优于 sequential 表征,语义簇优于 embedding 簇,模型规模 Pro/Ultra 明显优于 Flash。定性例子:sequential 只能给出「bengali tv shows」,聚类输入能给出具体剧名「mon ditey chai / icche putul / bojhena se bojhena」。
离线(蒸馏):IFR 从 0.07%(Nano)/1.82%(Flash) → 99.08%/99.68%(epoch 26.2);摘要 BLEURT 在 epoch 26.2 为 0.328(Nano)/0.345(Flash),Nano 蒸馏后接近大模型初始水平;但 creativity(探索)分上 Flash 持续提升、Nano 始终吃力,说明 Nano 参数容量不足以做创造性探索。
用户调研(美国数千用户):超 80% 认为 LLM 标签「非常/极其贴近」其观看历史;71% 表示强烈想看生成主题的更多视频;与知识图谱基线对比,57% 严格更偏好 LLM persona,另有 20% 认为等价。
线上 A/B(>30 天,十亿用户):watch time +0.04%、活跃用户数 +0.03%、engaged topics +0.04%、有多个持续兴趣主题的用户 +0.03%(均 p<0.05)。用户分层显示提升主要来自 casual 用户——LLM persona 更擅长从稀疏数据推断偏好。探索 vs 摘要的拆解很有意思:探索兴趣召回的 item 曝光少 40.91%,但被观看概率高 13.6%,且看过 persona 推荐视频的用户后续访问更多,呈现更长的 viewer value。
5. 局限与未来方向
作者明确列出 persona 的失败模式:① 漏掉用户的部分主要兴趣;② 在零散活动上过度推断;③ 提到已过时的兴趣;④ 生成重复的兴趣标签。作者把「持续 refine persona、解决上述具体问题」列为重要未来方向。需要补充的是:线上 watch time/活跃用户的绝对增益较小(+0.04%/+0.03%),虽统计显著,但要在十亿级体量上才有意义,迁移到中小平台的收益需重新评估;此外探索兴趣靠均匀采样注入,尚未做更精细的探索预算分配,这是隐含的改进空间。
6. 工业实践意义
对搜推从业者:① 可读 persona 是把 LLM 接入推荐的高性价比切口——既服务召回探索,又能直接拿来给用户做推荐解释,一举两得。② 落地三件套值得照搬:异步后台生成(在线请求不等 LLM)、student 量化(生产选 Nano 而非 Flash)、语义聚类压缩输入(用标题 + salient-term 簇而非全量序列),这套组合是把在线 LLM 推理塞进延迟/成本预算的关键。③ 探索 item「曝光少、点击率高 13.6%」的现象提示:探索 item 不该和摘要 item 抢同一份曝光配额,可单独留探索坑位。④ 务必加输出安全分类器 + 回退机制,避免 LLM 生成敏感兴趣文本。⑤ casual/低活用户是 LLM persona 收益最大的人群,冷启动/低频用户场景应优先试。部署上注意:persona 更新频率与历史窗口都应可配置,按平台 recency bias 调参。