RecLM:推荐里的 RL,也可以先修 profile constructor
背景
前几轮 Story Lab 里,我已经把推荐里的 LLM-RL 公开路线先粗分成三类集成层:
OneRec / OpenOneRec这类端到端生成器Rec-R1这类黑盒推荐桥接Rank-GRPO这类对话式列表对齐
这张图已经比只看 DPO / PPO / GRPO 更有解释力,但还少了一类很容易被忽略的形态:
不是让 LLM 直接产出推荐列表,也不是让它围着既有 ranker 做闭环优化,而是先把 LLM 放到 user/item profile 构造层,再把生成的 profile 接给传统推荐器。
这一轮我用本地 search-layer 做定向检索,再回到 ACL、arXiv HTML、官方 GitHub README 与 GitHub API 核一手材料,补到一个很适合填这个空位的入口:
它名字上很容易和微软 RecAI 里的 RecLM-gen 混淆,但系统位置其实完全不同。
核心判断
RecLM 更像 representer / profile constructor,不是 policy 主线
RecLM 最重要的点,不是“又一个推荐大模型”,而是它把 LLM 安放在了 collaborative-aware 的 profile constructor 上。
论文和 README 写得都很清楚:它不是替换下游推荐器,而是先生成 user profile / item profile,再把这些 profile 作为辅助特征接到 BiasMF / NCF / LightGCN / SGL / SimGCL 这类传统推荐器里。
换句话说,真正负责下游匹配和打分的 backbone 还在协同过滤一侧,LLM 负责的是把相似用户、交互历史和 item 文本压成更可泛化的 profile 表征。
这和目前 Story Lab 里几条更常被提到的公开路线有本质差别:
| 入口 | LLM 主角色 | RL 闭环主要压在哪一层 | 下游 consumer | | --- | --- | --- | --- | | OpenOneRec / OneRec-Think | policy (+ reasoner) | 生成器 / post-training policy | 端到端生成式推荐器 | | Rec-R1 | policy + representer | LLM 与黑盒推荐器的闭环桥接 | 固定黑盒推荐 / 检索系统 | | Rank-GRPO | policy | 对话式列表排序对齐 | conversational recommender | | RecLM | representer / profile constructor | profile 生成质量 | 传统 CF recommenders |
因此,如果统一方法表里仍只有“端到端生成器 / 黑盒桥接 / 对话式列表对齐”三类集成层,就会把 RecLM 这种系统写扁。
更准确的做法,是把第四类单独补出来:
profile constructor / representer adapter
RecLM 里的 RL 不是在学列表动作,而是在修 profile 本身
这篇 paper 更值得记的一点,是它让人看到:
推荐里的 RL 不一定直接拿来优化列表、token 或 rank,它也可以先用来优化“给推荐器喂什么 profile”。
从论文 2.4 和附录 6.6 看,这条 RL 链路至少有三个明确特征:
- 训练对象是用户 profile 的生成质量,而不是推荐列表本身。
- 训练入口是显式的 reward model +
PPO。 - reward model 的负样本并不只是随机劣质文本,还专门包含
similar user profiles,目的是压制 collaborative filtering 里常见的 over-smoothing。
这一点很关键。
因为它说明 RecLM 不是把 RLHF 套到推荐器外壳上,而是在试图解决一个更中间层的问题:
当 LLM 根据相似用户和 item 文本生成 profile 时,怎样避免 profile 被太多邻居“抹平”,或者被噪声 side information 带偏。
论文里的 case study 也正对应这个判断。作者拿 MIND 里的一个用户例子展示:只做 instruction tuning 时,profile 里会混入一些受相似用户影响过强的无关关键词;加上 RL 之后,profile 会更贴近目标用户自己的交互偏好,同时只保留真正有用的隐式协同信号。
所以如果只把 RecLM 简单写成“冷启动推荐 + LLM + RL”,仍然太粗。
对 Story Lab 更有用的结构化写法应该是:
LLM角色:representer / profile constructorfeedback source:reward model 训练数据来自 profile 质量构造reward consumption mode:reward model +PPO优化单位:profile text / profile response集成层:profile constructor / representer adapterdownstream consumer:BiasMF / NCF / LightGCN / SGL / SimGCL
这也让 RecLM-gen、RecLM-emb 和 RecLM 之间的边界更清楚
这轮还有一个顺手补清的点:
RecLM 这个名字现在很容易误导人。
微软 RecAI 里的 RecLM-gen,本质上更接近 controllable recommendation 的 policy 对齐线;RecLM-emb 更像 retrieval representation;而 HKUDS 这篇 RecLM: Recommendation Instruction Tuning,则把主战场放在 profile constructor。
也就是说,中文世界里如果只写“RecLM 在做推荐对齐”,很容易把三条不同路线混成一条:
policy对齐- retrieval
representer - profile constructor
这一轮补录之后,Story Lab 至少可以把这三者明确拆开。
中文传播层这轮仍然偏弱
这一轮我也继续补做了 RecLM Recommendation Instruction Tuning 中文、site:xiaohongshu.com RecLM 推荐 与 xhslink RecLM 推荐 检索。
结果仍然比较弱:
- 稳定的一手中文机制稿几乎没有。
- 能看到的中文页面以 AI 摘要页和泛论文转述为主,不适合单独裁定事实。
- 截至
2026-03-21,没有拿到足够稳定、可复用的高价值xhslink。
所以这条线目前仍应以 ACL 论文、arXiv HTML、官方仓库与 GitHub API 为主。
证据与来源
RecLM: Recommendation Instruction Tuning:ACL 2025 论文主入口,确认它是 model-agnostic 的 recommendation instruction tuning 框架,而不是另一个端到端生成式推荐器。arXiv:2412.19302:确认论文提交时间为2024-12-26,最终版本更新时间为2025-06-01,摘要明确写出reinforcement learning reward function、plug-and-play compatibility 与 collaborative filtering integration。arXiv HTML:2.4与附录6.6明确给出 reward model +PPO、similar user profiles与low-quality responses两类负样本构造,以及 RL 用来修正噪声和 over-smoothing。HKUDS/RecLM:README 直接公开reward_modeling.py、rl_training.py、inference_base_mask.py与base_models/集成入口,确认这条路线已经开放到代码层,而不是只停在 paper-level。- GitHub API
HKUDS/RecLM:我在本轮核到仓库创建时间为2024-12-24 14:57:19 UTC,最近一次代码 push 为2025-06-02 09:45:53 UTC,说明公开仓的时间线与论文最终版本基本对齐。 - 本地
search-layer深搜RecLM Recommendation Instruction Tuning 中文、公开网页检索site:xiaohongshu.com RecLM 推荐与xhslink RecLM 推荐:截至2026-03-21,仍未找到稳定高价值中文机制稿或可复用xhslink。
下一步
- 把统一方法表里的
集成层从三类扩到四类,显式补出profile constructor / representer adapter。 - 在
LLM 角色 × 集成层两维上,把RecLM、RecLM-gen、RecLM-emb和Rec-R1放在同一张对照表里,避免再把representer、policy和profile constructor混写。 - 后续继续追这条线是否出现更完整的权重卡、工业复现笔记或稳定中文高价值讨论,尤其是可复用的
xhslink。