Do SID Alignments Help Generative Recommendation? A Research and Practice Note on OpenOneRec Diagnostics
Tsinghua University
把「SID 对齐」拆成两个层面来问:表征层面模型是否真的理解 SID token,任务层面对齐初始化能否提升推荐。表征探针显示 OpenOneRec 的 SID 形成与文本分离的干净子空间、且随规模和 pro 训练越发「协同化」(8B-pro 的 SID-a 范数达文本 2.08 倍),SID→文本解释对模板敏感;在工业短视频日志上固定架构/数据/预算只换 SID embedding 初始化,SID-only 输入下 Xavier 初始化在 HR@20/50/100 明显优于对齐初始化,结论是对齐是有条件的,取决于输入里是否有语义侧信息。
核心思路
SID 生成式推荐里一个常被默认的做法是把 SID token 与自然语言对齐(如 LC-Rec),期望共享 LLM 知识。本文问的是:这种对齐到底有没有用?作者把问题拆成两层:
- 表征层(RQ1):对齐过的生成式推荐模型(OpenOneRec 系列)是否真的「理解」SID token?
- 任务层(RQ2):固定 SID2SID 架构和训练预算,只换 SID embedding 初始化(对齐预训练 vs Xavier),在 SID-only 序列推荐上对齐是帮还是害?
结论:SID 在模型内部形成与文本分离、越训越「协同化」的子空间;SID-only 输入下 Xavier 初始化在 HR@10 以上全面占优,对齐只在 HR@1 领先。SID 对齐应视为接口设计问题,取决于输入里是否有语义侧信息。
整体实现思路
- 对 OneRec-1.7B / 1.7B-pro / 8B / 8B-pro 做四类探针:SID→文本一致性、近邻检索、文本/SID embedding 范数、t-SNE。
- 在中国某大型短视频平台的采样离线日志上训练两个 600M SID2SID 模型,backbone、tokenizer、训练日程完全一致,只有 SID embedding 初始化不同。
- 用 SASRec 与 Decoder-only Tiger(40M)作规模参照(非预算对齐)。
- 10% 流量线上 A/B 验证。
- 汇总成按输入设定划分的「对齐边界条件」表。
子模块实现(可复现细节)
SID→文本一致性探针
- 1,000 个有效 SID,每个用 20 个模板解码。
- 模板池三轴:输出粒度(标题 / 类目 / 属性标签 / 自由描述)、提示措辞(直接 / few-shot / 指令式)、语体(简洁 / 冗长)。
- 语义一致性:BGE 余弦;词汇一致性:对称 BLEU-4。
近邻与范数探针
- 近邻在全词表和「去掉所有 SID 的纯文本词表」上各做一次,仅作定性案例。
- 比较 SID 与普通文本 token 的 embedding 范数,并做 t-SNE。
序列推荐数据
| 项 | 值 |
|---|---|
| 用户数 | 100K |
| SID 级物品数 | 893.6K |
| 交互数 | 1.736M |
| 最大序列长度 | 50 |
| 去重 | 相邻事件三级 SID 元组相同只留最后一个 |
| 验证/测试目标未在训练序列出现 | 约 13%(压低 HR 上限) |
| 输入 | system prompt + 用户 SID 序列(无侧信息) |
对齐数据配方
作者认为 SID 对齐更像数据工程问题,用三类数据:
- 文本-SID 交错的物品描述(SID 出现在自然语言上下文中);
- 双向 Text2SID / SID2Text 样本,提示格式多样化以降低模板过拟合;
- SID-pattern 描述:共享同一 SID 前缀的物品聚合后总结为前缀级语义。
数据量、学习率、步数等超参论文未给出。
实验设置与结果
表征探针(RQ1)
- 一致性:OneRec-8B 的 BGE 最高(语义更稳),OneRec-1.7B-pro 的 BLEU-4 最高(措辞更重复)——两种稳定性不一致,单个 prompt 的解释不能当真值。具体分数论文未给。
- 近邻:锚点
<s_a_5993>在四个模型上全词表 top-100 近邻全是<s_a_*>(纯度 100/100)。中文「苹果」锚点在 1.7B 系列检索到近乎纯净的英文品牌簇(Apple、apple、apples、iPhone);8B 系列混入大量<s_b_*>/<s_c_*>,去掉 SID 后语义扩散到 iPhone、Android、Microsoft、水果词等。 - 范数:1.7B 中 SID-a 范数低于文本;8B 中超过文本;8B-pro 中达文本的 2.08 倍。t-SNE 上文本与 SID 分区,SID 簇随规模和 pro 训练收紧。
离线受控消融(RQ2,Table 1)
| Metric | SASRec | Tiger (40M) | Aligned SID2SID (600M) | Xavier SID2SID (600M) | Xavier 相对 Aligned |
|---|---|---|---|---|---|
| HR@1 | 0.01149 | 0.0150 | 0.01604 | 0.01336 | -16.7% |
| HR@5 | 0.03735 | 0.0285 | 0.02939 | 0.02747 | -6.5% |
| HR@10 | 0.03928 | 0.0405 | 0.03523 | 0.03632 | +3.1% |
| HR@20 | 0.04157 | 0.0545 | 0.04162 | 0.04732 | +13.7% |
| HR@50 | 0.05001 | 0.0735 | 0.05226 | 0.06563 | +25.6% |
| HR@100 | 0.05918 | 0.0890 | 0.05949 | 0.08002 | +34.5% |
| NDCG@100 | 0.02976 | 0.0353 | 0.02995 | 0.03223 | +7.6% |
(相对变化为按表中数值计算;加粗为四行最优。)Xavier 变体验证 loss 也更低。作者解读为:对齐锐化了排序最顶端,却收窄了 HR@10 以上依赖的候选多样性(此解释无多样性指标佐证)。两个 SID2SID 在多数截断上都落后 40M Tiger,作者明确说这只是架构内的相对信号。
线上 A/B
2026-06-07 至 06-14,10% 流量;实验组 Xavier SID2SID,对照组为生产中的对齐初始化 SID2SID(同架构同服务栈)。内容发送、广告相关性分等指标双比例 z 检验均 p > 0.05,无显著差异。新物品曝光早期有可见增益、随观察期收窄——但原文称之为 alignment treatment,与实验组定义相矛盾,归属不清。
边界条件(Table 2)
| 输入设定 | 信号 | 假设 |
|---|---|---|
| 仅 SID 序列 | 行为共现 | 协同特化可能更好 |
| SID + 物品文本 | 语义落地 | 语言对齐可能有帮助 |
| SID + 画像/搜索/上下文 | 用户意图、世界知识 | LLM 式对齐可能帮助更大 |
| 冷启动/长尾 | 语义迁移 | 对齐可能最有价值(未验证) |
思考与可参考价值
- 实验设计价值大于结论本身:「只换 SID embedding 初始化」的受控对照很便宜,任何在做 SID+LLM 的团队都可以复制,用来判断自家对齐预训练是否真有收益。
- 分截断看指标:对齐在 HR@1 赢、在 HR@50/100 大幅输(-25%~-35% 量级),若业务是召回(看大 K),对齐初始化可能是负收益;若只看 top-1 精排位,则未必。
- 廉价诊断:SID/文本范数比、全词表近邻 SID 纯度可以作为模型「协同特化程度」的监控指标。
- 解释要聚合:SID→文本解释对模板敏感,做可解释或运营展示时要跨模板或按 SID 前缀聚合。
- 保留意见:600M SID2SID 不如 40M Tiger,说明 SID-only 设定欠调优,「对齐有害」可能部分来自弱设定(推断);单数据集、无方差、超参缺失;SID+侧信息和冷启动两种可能翻盘的场景都没测;线上段落表述矛盾。
- 电商落地前检查:(1) 输入是否只有 SID 序列;(2) 自家 SID2SID 是否至少打平小模型基线;(3) 单独切出未见目标/新品评估对齐效果;(4) 同时看 HR@1 与 HR@50+ 以及新品曝光。