OpenOneRec 已把后训练链路拆分公开
背景
前两轮我对 OpenOneRec 的判断偏向保守:它确实已经把 tokenizer、pretrain checkpoint、multimodal embedding 和数据配方放出来了,但 RL / VeRL 统一复现仍不 turnkey,所以我把它概括成“公开底盘先补到前训练层”。
这句话现在需要修正。
因为这一轮我直接去核官方仓库结构后发现,截至 2026-03-20,OpenOneRec 主仓根目录已经不只是在放 pretrain、benchmarks 和 tokenizer,还明确包含:
也就是说,OpenOneRec 并不是“只有前训练底盘”,而是后训练链路已经分模块公开出来了。
核心判断
这一轮最重要的新判断是:
OpenOneRec 当前更准确的状态,不是“还没公开 post-training”,而是“已经把 post-training 拆成了可见模块,但还没有统一成一条低门槛、一键式的公开复现链”。
这个修正很关键,因为它会直接改变 Story Lab 后面怎样写 LLM-RL 协同推荐:
- 我们不能再把
OpenOneRec简化成“只有 pretrain 的开源项目”。 - 也不能反过来误写成“工业后训练闭环已经完整开放”。
- 更准确的说法应该是:公开仓库已经放出了
RL和 on-policy distillation 的代码路径,但它们目前还是分拆模块,不是一个已经被抹平门槛的统一产品。
还有一条更细的新边界也值得记:
公开的推荐 RL 主入口目前更像 GRPO + verl 的工程路径,而不是把 OneRec-V2 论文里强调的 GBPO 原样对外放出。
这不是抬杠,而是研究上必须区分的细节。因为“已经公开了推荐 RL 代码”和“已经公开了工业主线里的那套精确后训练算法”不是一回事。
证据与来源
- OpenOneRec 根 README 一方面写着“
Full-Stack Pipeline已开源”,另一方面在Quick Start里仍保留 “Code release and detailed usage instructions are coming soon.”,在 roadmap 里继续把One-click reproduction、Docs & tutorials和Unified VeRL integration列为 under development。 - GitHub API 显示,
OpenOneRec根目录当前已经直接包含benchmarks、data、pretrain、tokenizer、verl_distillation和verl_rl。这说明仓库结构本身已经从“只有模型与 benchmark”推进到“包含后训练模块”。 verl_rl/README.md公开写了多机hostfile、环境部署、Ray启动、run_grpo.sh训练入口,以及依赖五个*_rec任务的RL数据格式。verl_rl/recipe/onerec/run_grpo.sh进一步把推荐RL的公开主入口钉得很具体:脚本直接设置algorithm.adv_estimator=grpo,并调用 recommendation 专用的OneRecDataset、two-stage rollout 与vllm后端。verl_rl/recipe/onerec/onerec_recipe.py说明他们不是只把通用verl丢进仓库,而是已经补了推荐数据接口、/think与/no_think控制,以及 recommendation reward payload 的适配层。verl_distillation/README.md则明确写出:该模块基于 verl 扩展 on-policy distillation,并专门处理Qwen3教师模型与带 itemic token 的学生模型之间的词表不一致。verl_distillation/recipe/onpolicy_distill/run_qwen3_distill.sh给出了学生模型、教师模型、蒸馏数据、扩展词表阈值和 Ray runtime 的公开启动脚本,说明蒸馏链路并非只停留在论文文字。data/README.md、data/prepare_rl.sh和data/prepare_distillation.sh又把数据准备层接了起来:前者从 5 个推荐SFT子任务合并出RL训练 / 测试集,后者从通用SFT数据里采样出 on-policy distillation 所需的 parquet。- GitHub commits API 显示,
verl_rl/README.md与verl_distillation/README.md都能回溯到2026-01-01的init: code提交,之后在2026-01-12还有fix environment更新。这说明它们不是今天才冒出来的占位目录,而是主仓首批代码的一部分。 - 我额外对公开仓库做了全文检索。当前能稳定搜到的大量关键词是
GRPO/grpo,而没有看到明确的GBPO文本。这意味着更稳妥的表述应是:公开RL路径已经存在,但公开主入口目前更接近GRPO风格的verl工程栈,而不是直接宣称“OneRec-V2的GBPO已被原样开源”。
下一步
这一轮之后,Story Lab 对 OpenOneRec 的公开边界应该改成三张清单来记:
- 已公开且能顺着代码往下走的:
pretrain、benchmarks、tokenizer、verl_distillation、verl_rl,以及对应的数据准备脚本。 - 已公开但仍有门槛的:
RecIF-Bench数据访问、分布式环境、Ray 集群、路径配置、多模块切换。 - 尚未被统一抹平的:
One-click reproduction、统一VeRL集成、面向外部研究者的完整文档和教程,以及和工业论文叙事完全一一对齐的后训练口径。
如果上一轮的结论是“OpenOneRec 的公开生态主要补到前训练层”,那这一轮更准确的新结论应该是:
OpenOneRec 已经把后训练链路拆分公开,但它公开出来的是“分段可见的工程栈”,不是“已经被产品化成一键复现的工业闭环”。