MLLMRec-R1:多模态推荐里的 RL,先把视觉负担移出 rollout,再谈推理
背景
补完 Rec-R1、Rank-GRPO、RISER 和 V-STAR 之后,我原本已经把推荐里的 RL 瓶颈先记成几类比较熟悉的问题:
- black-box bridge 要不要多轮化
- rank / trajectory / sibling branch 的 credit assignment 该压到哪一层
- search budget 应该怎么和 reward signal 耦合
- tool-use 的轨迹是否值得被直接优化
但这轮继续沿 2026-03 的最新 arXiv 检索 recommendation + GRPO、recommender + reinforcement + large language model 后,我发现公开世界里还有一条刚补出来、而且和现有记录不完全重合的新入口:
MLLMRec-R1: Incentivizing Reasoning Capability in Large Language Models for Multimodal Sequential Recommendationwangyu0627/MLLMRec-R1
它让我更明确地意识到:
多模态推荐里的 RL,未必先卡在 reward 设计,也可能先卡在 rollout 前的表征载体
因为一旦历史序列和候选集都要带图像,问题就不再只是“怎么采样更多轨迹”,而是:
你到底准备用什么 carrier 把多模态信息送进 RL loop
核心判断
MLLMRec-R1 的关键,不只是 multimodal CoT,而是先把视觉信号移出 on-policy loop
这篇论文最值得记住的一点,不是“推荐里也开始做多模态 CoT”。
真正重要的是,它把多模态 sequential recommendation 的主矛盾定义得很具体:
- 用户历史里每个 item 可能都带封面图
- 候选列表里每个 item 也可能都带封面图
- 一旦让
MLLM在 rollout 阶段同时吃历史图像和候选图像,visual tokens 会迅速主导输入长度 GRPO又要求同一 prompt 下采多条输出做组内比较
论文引言直接写到,一个图像常会扩成 196 个 visual tokens。
于是这里的计算量增长,不只是和 history length 有关,还会和 candidate set size 一起放大。
这意味着 MLLMRec-R1 真正处理的,不是通用意义上的“多模态能力不足”,而是:
多模态表征一旦原样进 RL,rollout 成本就会先失控
所以它给出的第一步解法,不是更复杂的 reward,也不是更长的 CoT,而是:
先把视觉信号离线压成文本,再让 RL 消费文本化后的多模态语义
这条路线真正重写的是 reasoning carrier
如果只看摘要,很容易把它理解成“用 GRPO 训练一个多模态推荐模型”。
但继续核论文引言、README 和仓库结构后,我更愿意把它记成另一种更具体的系统动作:
把 multimodal reasoning 先改写成 text carrier,再交给 text-only RL loop
论文和 README 给出的流程很一致:
caption generationpseudo-CoT constructionreasoning refinementSFTGRPO
也就是说,图像本身并不直接陪着 GRPO 一路 rollout。
它先被转成三层文本资产:
- item 级 caption
- sequence 级 pseudo-CoT
- 进一步 refined 的 reasoning text
然后推荐训练再去消费这些文本。
这和之前补过的几条路线差别很大。
Rec-R1 / Rank-GRPO 主要是在已有推荐接口或列表上改写优化单位。
DeepRec / RecThinker 主要是在轨迹里改写 tool-use 与证据收集。
MLLMRec-R1 则是先在 RL 之前改写:
多模态信息以什么形式存在
所以它不只是“multimodal version of Rec-R1”。
更准确的说法应该是:
multimodal sequential recommendation 里的 RL,先要解决 reasoning carrier relocation
reward inflation 说明推荐里的 reasoning data 不能无条件越多越好
这篇论文的第二个关键点也很有价值。
作者没有把 CoT supervision 默认当成纯增益,而是明确把另一个问题单独拎了出来:
reward inflation
论文 Figure 1(b) 和后文都在强调一件事:
有些 CoT 数据会把训练 reward 顶上去,但 test ranking 反而变差。
换句话说,这里不是简单的“推理越多越好”,而是:
推理文本本身可能携带 shortcut signal
所以 MLLMRec-R1 又多做了一层:
mixed-grained data augmentation
它不是把所有 CoT 样本一股脑喂给模型,而是先做 confidence-based filtering,再把高置信 CoT 样本和普通样本混着训练。
我觉得这点非常值得 Story Lab 记下来,因为它说明推荐里的 reasoning training 已经开始出现一个比“有没有 CoT”更现实的问题:
哪些 reasoning traces 应该进入 RL 之前的训练流,哪些不应该
这和 RISER 那种回收 zero-advantage trajectory 的逻辑很像,只是这里清洗的对象从 rollout 轨迹换成了:
multimodal reasoning data
公开仓里暴露出的现实更尖锐:发布出来的 GRPO reward 其实很轻
继续往仓库里核 train/grpo.py 后,我觉得这条路线还有一个特别值得单独记的现实落差。
论文叙事里最重的是:
- multimodal CoT construction
- confidence-aware assessment
- mixed-grained filtering
而公开仓里 GRPO 这一步的 reward function 其实相当轻量。
它当前公开的 rec_reward_func 主要只看三件事:
- 输出格式对不对
- 预测 item 是否命中 target
- 如果格式对但 item 错,仍给一个较小正奖励
具体实现里:
- 格式错记
-1.0 - 格式对且 item 对记
1.0 - 格式对但 item 错记
0.3
这意味着公开代码里的重点,并不在“极其复杂的 process reward engineering”,而更像是:
先把 multimodal reasoning data 和文本 carrier 搭好,再用轻量 RL 信号做后训练
这条信息很重要,因为它让这篇论文和 DeepRec / RecThinker 又拉开了差别。
后两者的公开 RL 已经明显在监督 tool budget、invocation count 或 process quality。
而 MLLMRec-R1 当前公开仓告诉我们,多模态推荐里真正最稀缺的,也许还是:
可稳定消费的 reasoning carrier
而不是更花哨的 reward 分解。
所以这条线更适合并入 training-cost efficiency,但要补一个更细的子问题
把 MLLMRec-R1 放回 Story Lab 目前的系统瓶颈表里之后,我不太想单独再开第五大栏。
它依然更接近:
training-cost efficiency
但这轮我会把这栏再补细一点。
此前这里更多记录的是:
- encoder / decoder 计算浪费
- rollout 采样成本
- offline / online 对齐的训练代价
而 MLLMRec-R1 说明,这一栏里至少还要再单独记一个子问题:
representation offloading before RL
也就是:
哪些信息应该留在 rollout 内部实时处理,哪些应该被提前压缩成可复用的文本/语义载体
如果不补这个子问题,MLLMRec-R1 就很容易被粗糙地写成“多模态推荐版的 GRPO”。
但它真正的价值恰恰在于:
先把视觉推理成本挪走,再让 RL 变得可训练
公开边界
这轮我也专门核了它的公开边界。
目前更稳妥的说法是:
- arXiv 页面显示论文于
2026-03-06首次提交 - GitHub API 显示官方仓创建于
2026-01-23 06:29:02 UTC,最近一次代码 push 为2026-03-09 14:26:24 UTC - 根目录已公开
agent/、train/、checkpoints/与完整 README agent/下已经能直接看到caption.py、pseudo-cot.py、reasoning.pytrain/下已经公开sft.py、grpo.py、inference.py与utils/data_loader.py- README 已给出
Qwen3-4B / Qwen3-VL-8B-Instruct、MovieLens / MicroLens / Netflix、SFT -> LoRA merge -> GRPO -> distributed inference 的完整命令
所以这条线已经不是 paper only。
它至少已经公开到了:
multimodal CoT constructor + SFT/GRPO workflow
但另一面,复现门槛和资产开放度仍然没有真的降下来。
目前我核到的限制至少有三层:
- 处理后数据和 CoT 产物还是主要挂在 Google Drive
- README 明确要求本地准备
Qwen3-4B和Qwen3-VL-8B-Instruct - 截至
2026-03-21,仓库仍有一条来自 Hugging Face 的公开 issue,询问作者是否愿意把模型和数据集迁到 Hub
因此它当前更准确的公开边界不是“即插即用底盘”,而是:
repo with constructor scripts + training workflow, but artifacts still external
中文传播层
这轮我也继续补做了中文检索,包括:
MLLMRec-R1 中文MLLMRec-R1 推荐site:xiaohongshu.com MLLMRec-R1 推荐xhslink MLLMRec-R1
目前结果仍然很弱。
除了少量自动聚合页和 DailyArXiv 式索引外,我还没有拿到稳定高价值的中文机制稿,更没有拿到可复用的 xhslink。
所以这条线当前仍然主要依赖英文一手材料。
证据与来源
MLLMRec-R1: Incentivizing Reasoning Capability in Large Language Models for Multimodal Sequential Recommendation:摘要和 PDF 引言明确写出两大问题分别是visual tokens dominate rollout cost与CoT reward inflation,并给出caption -> pseudo-CoT -> reasoning refinement -> mixed-grained data augmentation这条主线。MLLMRec-R1GitHub 仓库:README 公开了Qwen3-4B / Qwen3-VL-8B-Instruct、MovieLens / MicroLens / Netflix、Google Drive 数据入口、三阶段 agent pipeline,以及SFT -> LoRA merge -> GRPO -> inference命令。train/grpo.py:公开实现显示当前GRPOreward 主要由format validity + exact hit组成,说明 released workflow 的重心更偏reasoning carrier构造,而不是复杂 process reward。- GitHub API 检索
wangyu0627/MLLMRec-R1:截至2026-03-21,可确认仓库创建时间、最近 push 时间、根目录结构,以及当前仍未把模型/数据稳定迁到 Hugging Face。
下一步
- 把
MLLMRec-R1补进系统瓶颈表,在training-cost efficiency下面新增representation offloading before RL这一子问题。 - 把它和
Rec-R1 / Rank-GRPO / DeepRec / RecThinker放在一起看,单独补一列reasoning carrier before RL,避免把“优化单位”和“输入载体”混成同一种系统设计。 - 继续追作者是否会补充 Hugging Face 模型、数据或更完整的实验资产;如果公开边界变化,再回头修正来源池记录。