Farewell to Item IDs: Unlocking the Scaling Potential of Large Ranking Models via Semantic Tokens

基本信息

字段 内容
标题 Farewell to Item IDs: Unlocking the Scaling Potential of Large Ranking Models via Semantic Tokens
作者 Zhen Zhao, Tong Zhang, Jie Xu, Qingliang Cai, Qile Zhang, Leyuan Yang, Daorui Xiao, Xiaojia Chang
机构 ByteDance
年份 2026 (arXiv: 2601.22694v1, 2026-01-30)
方向 Large Ranking Model, Semantic Token, Scaling Law
场景 大规模搜索/推荐排序
arXiv https://arxiv.org/abs/2601.22694

Item ID 在大规模排序模型里训练和维护都困难——新 item 存在冷启动问题,老 item 下线后既有知识无法保留;扩大 dense 网络也无法弥补 sparse 部分的不稳定。

本文将 item ID 完全替换为 semantic token,并解决"替换后性能下降"的三个根本原因:缺少协同信号、记忆能力不足、忽略 token 间结构。


摘要

大规模排序模型依赖 item ID 维护 sparse 表,但 item 频繁上下架导致 embedding 训练不稳定、ID 下线后既有知识无法保留,限制了 dense 部分的 scaling 收益。直接将 ID 替换为现有的 semantic token,模型性能立即下降

作者提出 TRM (Token-based Recommendation Model),定位为"完全去除 item ID 的排序框架",通过三个设计补齐 semantic token 的不足:

  1. 协同感知的多模态表示:让 token 同时编码内容和用户行为信号;
  2. 混合 tokenization:gen-token 负责泛化 + BPE 生成的 mem-token 负责记忆;
  3. 判别 + 生成联合训练:通过辅助目标显式建模 token 间的结构信息。

离线 CTR AUC +0.65%,sparse 存储 -33%;线上 A/B:搜索活跃天 +0.26%,换 query 率 -0.75%。

与已有工作关系

类别 代表工作 与本文区别
ID-based scaling Wukong, DHEN, RankMixer TRM 完全替换 ID,sparse 存储减少约 1/3
Semantic ID for rec TIGER, SemID, OneRec 这些 token 直接替换 ID 会导致性能下降,TRM 分析并解决了下降原因
VQ tokenizer RQ-VAE, RQ-KMeans 仅产生 atomic 单 token,TRM 在其上应用 BPE 给高频组合补充独立参数位
生成式推荐 OneRec, OneSearch 它们用 token 做检索/生成,TRM 用 token 做排序,NTP 仅作为辅助目标

研究动机

现有问题

  • Item ID 不稳定:每天有新 item 冷启动、老 item 下线,embedding 分布持续漂移,dense 网络规模越大越难收敛;
  • 直接替换 semantic token 导致性能下降:将 TIGER / OneRec / SemID 的 token 接入 RankMixer,整体 AUC 低于 ID baseline。

三个根本观察

  1. 协同信号缺失:现有 semantic token 仅编码图像/文本/音频,缺少 user-action 维度——内容相似不等于消费模式相似;
  2. 记忆能力被牺牲:RQ 量化的每个 token 只编码 atomic 语义,token 之间的组合语义没有独立参数位(如"cake + candle = birthday"这种涌现含义只能由 dense 层隐式反推),泛化能力强但难以记忆老 item 的精细组合模式——Figure 3 显示创建时间越久的老 item 上性能下降越明显;
  3. 结构信息被忽略:现有方法将 token 序列 s=[s1,...,sn]s = [s_1, ..., s_n] 作为 bag-of-tokens 直接拼接输入 MLP/Transformer,未显式建模 token 之间的序列依赖(RQ 量化中第 ii 层 token 是第 i1i-1 层残差的量化结果,位置之间天然存在层次关系)。本文使用辅助 NTP loss 促使模型学习这种依赖(Table 6 显示 NTP 显著优于 PE)。

核心方法 TRM

整体框架由三个模块串联构成:协同感知表示 → 混合 tokenization → 判别+生成联合训练。

image-20260527025700296

1. 协同感知的多模态表示

将通用 MLLM(Qwen2.5-VL)改造为"同时编码内容与用户行为"的 item encoder,分两个阶段完成。

Stage 1 — In-domain Captioning

目的:使通用 MLLM 适应短视频业务域的视觉风格、内容多样性和语义密度。

输入序列(拼接为一个长 token 序列输入 MLLM):

具体内容 Tokenization 方式 是否计算 loss
Prefix / Condition 视频帧 + 标题 + ASR(语音转文本)+ OCR(画面文字)+ 描述 帧 → ViT 切 patch → visual token;文字 → text tokenizer → text token ❌ 仅作为条件
Target Caption — 从真实曝光日志中自采集的视频描述文本 text tokenizer ✅ 计算 NTP loss

Loss — 标准 next-token prediction,仅在 caption 段上计算

Lcap=E(V,T)k=1TlogP(tkt<k,V;θ)\mathcal{L}_{\text{cap}} = -\mathbb{E}_{(V, T)} \sum_{k=1}^{|T|} \log P(t_k \mid t_{<k}, V; \theta)

其中 VV 是视觉输入(图像 patch + metadata 文本),T=t1,...,tTT = t_1, ..., t_{|T|} 是 caption。

参数冻结情况全参数 continue-pretrain,不冻结任何层(ViT、connector、LLM 全部更新)。

Stage 2 — Collaborative Alignment

目的:将用户行为信号注入 item embedding,使"行为上协同相似的 item"在表示空间中相互靠近。

输入序列:与 Stage 1 完全相同(视频 patch + 标题 + ASR + OCR + 描述),但不再生成 caption,而是将整段输入送入 MLLM 后取最后一层 Transformer 的所有 hidden state {zi}i=1N\{\mathbf{z}_i\}_{i=1}^N,通过 mean pooling 得到固定维度的 item embedding:

h=1Ni=1Nzi\mathbf{h} = \frac{1}{N} \sum_{i=1}^N \mathbf{z}_i

NN 是输入序列长度(视觉 token + metadata 文本 token 总数),每个位置在最后一层都对应一个 hidden state,mean pooling 将变长序列压缩为固定维度向量。

对比样本构造(共 2M item-item 对):

对类型 正例来源 含义
query–item 用户正反馈日志 “在该 query 下,此 item 曾被正向消费”
item–item 高频共点击 “这两个 item 经常被同一用户依次点击”

负例:batch 内其它无关样本。

对比损失 InfoNCE

Lalign=E(a,b)Plogexp(sim(ha,hb)/τ)bBexp(sim(ha,hb)/τ)\mathcal{L}_{\text{align}} = -\mathbb{E}_{(a,b) \in \mathcal{P}} \log \frac{\exp(\text{sim}(\mathbf{h}_a, \mathbf{h}_b)/\tau)}{\sum_{b' \in \mathcal{B}} \exp(\text{sim}(\mathbf{h}_a, \mathbf{h}_{b'})/\tau)}

Stage 2 总损失 = 保留 NTP captioning + 新增 InfoNCE

Lrep=Lcap+λalignLalign\mathcal{L}_{\text{rep}} = \mathcal{L}_{\text{cap}} + \lambda_{\text{align}} \cdot \mathcal{L}_{\text{align}}

Stage 2 保留 Lcap\mathcal{L}_{\text{cap}} 的原因:

  • 防止灾难性遗忘:仅使用对比损失训练会导致模型丧失 Stage 1 习得的视觉-语言理解能力,hidden state 退化为仅对协同信号敏感;
  • 作为信息量正则:captioning 任务要求 hidden state 保留"足以生成 caption 的细节",为对比学习提供信息量下限,防止表示塌缩到仅编码协同信号的低维子空间。

参数冻结情况:作者对比了冻结 Qwen 参数微调 vs 全参微调,结果显示全参微调显著优于冻结,因此最终选择全参可训练。

最终 item 表示 h\mathbf{h} 同时编码多模态语义与用户行为协同,作为后续 RQ-KMeans 量化的输入向量。

两阶段对比一览

维度 Stage 1 Stage 2
输入 prefix 视频 patch + metadata 文本 视频 patch + metadata 文本(相同)
输出形式 自回归生成 caption 取最后层 hidden state + mean pool 出 h\mathbf{h}
损失 Lcap\mathcal{L}_{\text{cap}}(NTP) Lcap+λalignLalign\mathcal{L}_{\text{cap}} + \lambda_{\text{align}} \mathcal{L}_{\text{align}}(NTP + InfoNCE)
训练数据 自采集 caption 数据 2M item-item / query-item 对
参数 全参 continue-pretrain 全参微调(实验证明优于冻结)
目的 注入业务域视觉语言知识 注入用户行为协同信号

2. 混合 Tokenization — 泛化与记忆的权衡

核心思路

image-20260527025723095

判别式排序模型在用 SID 替换 ID 后,于高曝光老 item 上出现性能下降(Figure 3)。论文定位的真正原因是:RQ-KMeans 量化出的每个 token 只编码一种 atomic 语义——多个 token 组合后的涌现语义(“cake + candle = birthday”、“咖啡 + 拉花 = 精品咖啡店”)只能由 dense 层从单 token embedding 的求和/拼接中隐式反推缺少独立参数位直接学习

这恰好是 ID-based 模型在老 item 上的优势:每个 item 拥有一份独立 embedding,所有交互模式(包括组合模式)都直接积累于这一份参数中。

TRM 的解法是将 NLP 的 subword tokenization 思路应用于 SID:用 BPE 在所有 item 的 gen-token 序列上自动提取高频共现组合,为每个高频组合分配独立的 mem-token 与独立 embedding——使组合语义可以像单 token 一样被直接学习,无需 dense 层反推。

几个需要明确的要点:

  • mem-token 是 combination-specific,而非 item-specific:多个包含相同高频组合的 item 共享同一个 mem-token,与 item ID 的"一物一码"不同;
  • BPE 是数据驱动的:高频组合由算法自动提取,并非人工定义的 feature cross;
  • 无法处理 corner case:gen-token 序列完全相同的两个 item,BPE 输出也相同,模型无法区分——但实际比例较低(4096510184096^5 \approx 10^{18} 个可能序列 vs 1.3×10101.3 \times 10^{10} 个 item),论文未单独讨论。

两类 token 对照

Token 类型 来源 词表大小 粒度 作用
gen-token RQ-KMeans 5 层 × 4096 残差量化 20,480 atomic 语义单元(类比"字") 泛化、共享
mem-token gen-token 序列上应用 BPE 提取高频组合 最多 2×1072 \times 10^7 组合语义单元(类比"高频词组") 记忆、补充组合粒度

两类 token 使用不同 embedding,通过 Wide & Deep 融合:

  • Deep 侧 — gen-token:经过 dense 网络实现泛化(附加 random dropout 以防过拟合);
  • Wide 侧 — mem-token:直接接入 wide 线性侧实现记忆。

这一设计正好对应 Wide & Deep 原论文的设计意图——Wide 侧负责 memorization、Deep 侧负责 generalization。

3. 判别 + 生成联合训练

排序模型同时优化两个目标:

判别目标(主任务)— BCE 预测用户行为(ctr、like、real-play):

Ld=E(XQ,XU,Y)BCE(Y,P(Y^XQ,U,I,θd))\mathcal{L}_d = \mathbb{E}_{(X_Q, X_U, Y)} \text{BCE}(Y, P(\hat{Y} | X_{Q,U,I}, \theta_d))

生成目标(辅助任务)— Causal Transformer 用 NTP loss 预测目标 item 的 token 序列:

Lg=E[Y=1]j=1LCE(sj,P(s^jXQ,U,I,s<ji,θg))\mathcal{L}_g = \mathbb{E}[Y=1] \cdot \sum_{j=1}^{L} \text{CE}(s_j, P(\hat{s}_j | X_{Q,U,I}, s_{<j}^i, \theta_g))

总损失:

L=Ld+λLg,λ=0.1\mathcal{L} = \mathcal{L}_d + \lambda \cdot \mathcal{L}_g, \quad \lambda = 0.1

关键洞察:NTP loss 比 Positional Encoding 更有效地注入 token 序列的结构信息(Table 6 显示 PE 几乎无贡献,NTP 才是结构信号的真正来源)。


实验

1. 实验设置

数据:ByteDance 内部大规模视频搜索日志,包含三类信号:

  • Items:视频帧 + 标题 + ASR + OCR + 描述(去除 PII);
  • Queries / Users:query 文本 + 用户历史交互;
  • Interactions:每条 query 下用户是否对 item 正反馈。

TRM 关键配置

  • 协同对齐:使用 2M item-item 对训练 Stage 2 Qwen2.5-VL;
  • Tokenizer:RQ-KMeans 5 层 × 4096 码本 = 20,480 个 gen-token;BPE 最多生成 2×1072 \times 10^7 个 mem-token(对比 ID 集 1.3×10101.3 \times 10^{10},存储开销可忽略);
  • 联合训练:4 层 Causal Transformer,Nq=Nu=2N_q = N_u = 2 context tokens,λ=0.1\lambda = 0.1 平衡判别与生成目标。

基线(11 个):

  • ID-based:DLRM-MLP(7M dense baseline)、DCN-v2、DHEN、Wukong、Pure Transformer、RankMixer;
  • Token-based:Tiger-token、OneRec-token、SemID — 全部应用于 RankMixer 上,保持网络超参一致,仅替换 token 来源。

指标:AUC、QAUC(query-level AUC,更适合排序场景)、Dense/Sparse 参数量、FLOPs(bs=4096)。

离线主要关注两个目标:CTR(点击率)、Real Play(观看 >10 秒)。


2. 主结果

TRM 在性能和效率两端同时领先(11 个对照模型对比 DLRM-MLP baseline 的相对增益):

Model CTR AUC CTR QAUC RealPlay AUC RealPlay QAUC Dense Sparse FLOPs
DLRM-MLP (baseline) 0.8662 0.8826 0.8413 0.8604 7M 7.52T 0.13T
DCN-v2 +0.08% +0.06% +0.15% +0.10% 78M 7.52T 1.92T
DHEN +0.29% +0.23% +0.33% +0.31% 242M 7.52T 8.42T
Wukong +0.44% +0.38% +0.59% +0.45% 355M 7.52T 18.96T
Pure Transformer +0.56% +0.46% +0.69% +0.56% 326M 7.52T 11.05T
RankMixer (ID 最强) +0.58% +0.48% +0.76% +0.63% 335M 7.52T 13.20T
Tiger-token +0.45% +0.40% +0.58% +0.45% 338M 5.06T 13.89T
OneRec-token +0.53% +0.45% +0.64% +0.54% 342M 5.06T 13.98T
SemID (token 最强) +0.56% +0.47% +0.75% +0.61% 345M 5.06T 14.23T
TRM-Pure Transformer +0.61% +0.53% +0.81% +0.68% 341M 5.07T 12.17T
TRM-RankMixer +0.65% +0.54% +0.85% +0.70% 352M 5.07T 14.66T

关键 takeaway

  • Sparse 参数 7.52T → 5.07T,减少 32.6%(替换大量 item ID 带来的直接收益);
  • CTR AUC 较最强 ID baseline(RankMixer)进一步提升 0.07%,较最强 token baseline(SemID)提升 0.09%;
  • 现有 semantic token(Tiger-token、OneRec-token)单纯替换 ID 后整体 AUC 低于 RankMixer——验证"直接替换导致性能下降"的动机;
  • TRM-Pure Transformer 不依赖任何 feature cross 模块(仅由 transformer + token 嵌入构成)即可超越最强对照——表明"全 token 架构"具备可行性。

3. Item 生命周期分析

问题:semantic token 在哪种 item 上性能下降最严重?

方法:按"query 发起时间 − item 创建时间"分桶(1 天到 >7 天),观察各类 token 相对 ID baseline 的 AUC 增益曲线。

Query-Item 时间差 Hybrid Tokens (TRM) OneRec-token SemID Tiger-token
1 day(新 item) ≈ +0.15% ≈ +0.12% ≈ +0.09% ≈ +0.08%
2–3 days ≈ +0.10–0.12% ≈ +0.05% ≈ +0.03% 接近 0
4–7 days ≈ +0.08–0.10% 0 ~ -0.02% ≈ -0.02% ≈ -0.03%
>7 days(老 item) ≈ +0.08% -0.05% -0.04% -0.05%

结论

  • 所有 semantic token 在新 item 上均优于 ID(语义泛化带来的收益);
  • 但纯 semantic token 随 item 变老近似线性退化,>7 天后变为负值——粗粒度聚类无法捕获"用户已习得的细节模式";
  • TRM 的 Hybrid Token 在整个生命周期内保持正增益,因为 mem-token 补充了高频组合的细粒度记忆。

为什么 request time − create time 越大 AUC gain 反而越差?

这条曲线展示的是相对增益,并非绝对性能。问题不是"semantic token 自身性能变差",而是 ID baseline 在老 item 上的性能更强,导致相对差距反转

参数化粒度对比

维度 item ID 纯 gen-token
参数化形式 每个 item 一份独立 embedding 5 个 atomic semantic token 的序列
组合语义 直接积累于 item embedding 中 无独立参数位,由 dense 层从单 token 求和/拼接中隐式反推
训练曲线 起步慢(冷启动需训练),上限取决于"该 item 自身的交互量" 起步快(共享先验),上限受"组合参数化能力"约束
  • 新 item 端(time gap = 1 day):ID embedding 训练步数有限,而 gen-token 继承了"同语义簇 item 的历史经验"——凭借先验显著领先,AUC 增益占优;
  • 老 item 端(time gap > 7 days):ID 已经过大量交互训练,所有组合模式(特定 query × 特定用户群 × 特定内容组合)都积累于该 item 的独立 embedding 中;而 gen-token 系仍需 dense 层隐式反推组合,参数效率较低——ID 反超。

根本原因(参考论文 Sec 3.2):

“the simple aggregation (sum / concatenation, etc) of semantic meanings cannot substitute the combination of such meanings… semantic tokens cannot learn combinative knowledge of a certain item, leading to poor memorization capabilities in recommendation.”

关键并非"item 之间无法区分"——RQ-KMeans 5 层 × 4096 码本理论上可产生 4096510184096^5 \approx 10^{18} 个序列,对 1.3×10101.3 \times 10^{10} 个 item 而言完全相同序列的碰撞属于 corner case。真正的问题在于 token 组合涌现的语义缺少独立参数位,老 item 上用户已形成的精细行为模式大量来自此类组合。

TRM 的解决方案:BPE 在 gen-token 序列上自动提取高频共现组合,为每个高频组合分配独立的 mem-token 与独立 embedding,使组合语义被直接参数化。需要注意的是,mem-token 是 combination-specific(多个包含相同组合的 item 共享同一个 mem-token),并非为每个 item 分配独立 ID。因此 Hybrid Tokens 曲线全程保持在 0 以上。这也呼应 Table 2 中 “w/o Hybrid Token” 性能下降最严重(-0.09%):移除该机制后即退化为纯 atomic token 的曲线。

这是论文最具说服力的单一证据——直接证明了"semantic token 缺乏组合记忆"是实际存在的问题,而 hybrid tokenization 是有效的解决方案。


4. Scaling Law 对比

image-20260527025750098

将 dense 网络扩展到不同规模(参数 / FLOPs 两个维度),观察 qAUC 增益曲线:

Dense Param TRM-RankMixer SemID ID-based RankMixer Wukong DHEN
~ 100M ≈ +0.40% ≈ +0.35% ≈ +0.35% ≈ +0.30% ≈ +0.20%
~ 500M ≈ +0.60% ≈ +0.55% ≈ +0.50% ≈ +0.50% ≈ +0.35%
1888M(最大) +0.75% +0.68% +0.60% +0.55% +0.42%

关键观察

  • TRM-RankMixer 曲线最陡:参数 / FLOPs 翻倍带来的边际收益最大,未出现饱和迹象;
  • ID-based 模型较早饱和:Wukong 在 ~1.9B 时停在 +0.55%,DHEN 在 1.17B / 49.75T FLOPs 时停在 +0.42%;
  • token-based 模型的 dense 容量被更高效利用——sparse 已压缩为小闭合集,dense 可集中学习高阶交互。

理论解释(附录 A.1):

  • 标准 scaling law 形式 L(N)L+ANβ\mathcal{L}(N) \approx \mathcal{L}_\infty + AN^{-\beta}
  • β2s/(2s+deff)\beta \approx 2s / (2s + d_{\text{eff}})ss 是 CTR 函数的 smoothness,deffd_{\text{eff}} 是 effective dimension;
  • Token 表示相比 ID 更 smooth、effective dim 更小,因此 βtok>βid\beta_{\text{tok}} > \beta_{\text{id}},曲线斜率更大。

5. 消融实验

5.1 三大组件缺一不可

去掉 CTR AUC 变化 CTR QAUC 变化
w/o Col-Align(协同对齐) -0.05% -0.03%
w/o Hybrid Token(混合 token) -0.09% -0.07%
w/o Aux.NTP(生成目标) -0.05% -0.05%

混合 tokenization 贡献最大——再次验证"记忆能力"是 semantic token 缺失的关键环节。

5.2 Mem-token 数量与 item 寿命

Item 寿命 5M 10M 15M 20M
< 1 day(新 item) +0.03% +0.04% +0.06% +0.06%
1–7 days +0.03% +0.07% +0.07% +0.08%
> 7 days(老 item) +0.04% +0.09% +0.09% +0.13%

两个结论:

  • mem-token 增多对老 item 收益最大——印证 mem-token 主要承担记忆补充作用;
  • 15M → 20M 仅提升 +0.02%,收益接近饱和,部署时无需进一步扩展。

5.3 NTP loss 的贡献来自 loss 而非额外参数

辅助 Transformer 在不引入 NTP 的情况下,仅增加参数和 FLOPs 几乎没有收益:

Aux Transformer w/ NTP loss QAUC w/o NTP loss QAUC 额外 Param 额外 FLOPs/Batch
2 blocks +0.03% +0.00% +32M / +27M +0.73T / +0.68T
4 blocks +0.05% +0.01% +54M / +48M +1.26T / +1.19T

结论:移除 NTP loss 后 QAUC 从 +0.05% 降至 +0.01%——生成目标本身是增益的真正来源,而非额外参数。NTP loss 仅增加 1.7% dense param、0.5% extra FLOPs/Batch,开销几乎可忽略。

5.4 NTP loss vs Positional Encoding

直接对比"用 NTP 注入结构信号" vs “用 PE 注入结构信号”:

Method AUC QAUC
NTP loss +0.05% +0.05%
PE only +0.02% +0.01%
NTP loss + PE +0.05% +0.05%

PE 几乎无贡献,且叠加 PE 后并未进一步提升 NTP 的增益——结构信号需要通过生成目标显式建模,仅告知模型"token 的位置"远不足以学习序列依赖,必须让模型预测下一个 token 才能将序列依赖编码到 dense 参数中。

5.5 BPE vs 其它组合策略

相对 1-gram baseline(即只用 gen-token、不做组合)的提升:

Method AUC QAUC
BPE +0.09% +0.07%
2-gram +0.02% +0.02%
Prefix-ngram(SemID 用的方式) +0.05% +0.03%

BPE 的动态合并优于固定 2-gram、固定前缀 ngram——数据驱动地筛选真正高频共现的组合,机械组合会引入大量低频无效 token 稀释信号。


6. 线上 A/B 实验

将 ByteDance 搜索引擎线上的 7M DLRM 替换为 TRM-RankMixer-352M(先经离线验证 QAUC +0.54%):

指标 Overall 低活 中活 高活
Search Active Days ↑ +0.26% +0.27% +0.26% +0.22%
Change Query Ratio ↓ -0.75% -0.81% -0.68% -0.69%
Strict CTR ↑ +0.39% +0.36% +0.31% +0.40%
Like ↑ +1.51% +1.83% +1.21% +1.20%
Comment ↑ +1.80% +2.02% +1.69% +1.59%

全部显著(p < 0.05),低活用户收益最大——冷启动场景对 ID 不稳定最敏感,token 替换带来的提升也最显著。

用户主观调研

15 个真人盲评 462 条 query 页:

维度 TRM 相对原系统
Item Quality +0.86%
Query-Item Relevance +0.34%
Content Satisfactory +0.92%

线上与离线数据一致:客观点击率提升、主观感受同步改善。


讨论

1. 为什么 ID-based scaling 会饱和而 token-based 不会?

论文附录 A.1 给的是理论解释:开放集 ID embedding 在长尾频次和 churn(新增 / 退役)下会注入表示噪声、削弱跨样本共享,导致 effective dimension deffd_{\text{eff}} 变大、effective smoothness ss 变小,scaling 指数 β2s/(2s+deff)\beta \approx 2s / (2s + d_{\text{eff}}) 自然变小。而 semantic token 是闭合集(codebook 固定),多个 item 复用 token,表示集中在低复杂度子空间,谱衰减快、deffd_{\text{eff}} 小、ss 大,scaling 曲线更陡。Figure 1 的 norm variance 实验也能侧面印证:token embedding 分布比 ID embedding 稳定得多。

2. 为什么 gen-token 单独使用会导致性能下降?

RQ-KMeans 量化出的每个 gen-token 仅编码一种 atomic 语义。组合语义(cake + candle → birthday)缺少独立参数位,dense 层只能从单 token embedding 的求和/拼接中隐式反推——参数效率较低。

老 item 上用户已形成的精细行为模式大量来自此类组合,ID-based 模型为每个 item 提供独立 embedding 直接覆盖了这种组合;纯 gen-token 不具备这一能力,因此性能不及 ID。Figure 3 显示曝光 1 天内的 item 收益 +0.15%,至 7 天后降至 -0.05%。

3. 为什么 BPE 优于 prefix-ngram?

BPE 是数据驱动的动态合并,仅将真正高频共现的 token 组合提升为 mem-token;prefix-ngram 和固定 2-gram 是机械组合,会将大量低频无意义的组合也转化为独立 token,从而稀释信号。

4. 为什么生成目标仅作为辅助、不直接用于生成检索?

排序模型的输出必须是判别概率 P(Y=1)P(Y=1),生成目标仅作辅助使用——通过 NTP 将 token 序列的依赖关系编码到 dense 参数中。λ=0.1\lambda = 0.1 也表明它是辅助而非主要目标。这与 OneRec/OneSearch"以生成作为主任务"的范式方向相反。

5. 将 BPE 这类 NLP tokenizer 思路应用于 SID 是否合理?

作者将 token 序列类比为"item 的子词描述",“cake + candle = birthday"这一比喻在 paper Sec 3.2 中反复强调。Table 5 显示 BPE 显著优于固定 2-gram、prefix-ngram;Figure 5 显示 mem-token 数量到 15M–20M 才接近饱和——这些数据支持"数据驱动的动态合并"优于"机械组合”。

但 NLP 类比存在边界:NLP subword 词表通常 30K–100K,TRM 的 gen-token 词表为 20,480;NLP 字符 vocabulary 是天然离散的语义单位,而 RQ-KMeans 的 atomic token 是几何聚类产物,语义可解释性远低于 NLP subword。因此这一类比把握的是"统计高频组合"的方法论,而非"语义结构对齐"的强保证。

6. 为什么 “request time − create time” 越大、semantic token 反而性能越差?

这条曲线表面上违反直觉——通常认为"老 item 数据多、模型应当更准确",为何 semantic token 反而表现下降?理解的关键在于:这是相对增益,参照基线是 ID baseline 自身

两套系统对组合语义的参数化方式根本不同

  • item ID 是 item-specific 的可学习参数位:初始时 embedding 接近随机向量(冷启动),但每次交互都会更新,该 item 的所有交互模式——包括各类组合模式——都直接积累于这一份独立 embedding 中。上限是"通过大量行为为该 item 建立精细的特征表征"。
  • 纯 gen-token 是 atomic 语义单元的拼接:初始即可借助"同语义簇 item 的历史经验"作为先验,对冷启动友好;但 token 间的组合涌现语义缺少独立参数位——dense 层必须从单 token embedding 的求和/拼接中反推。即使某 item 被点击数百万次,模型也只能通过 dense 容量逼近这种组合,参数效率较低。

由此出现"早期 gen-token 占优(冷启动依赖迁移)、晚期 ID 占优(精细组合模式依赖 item-specific 参数容量)"的现象。

更深层次地,这暴露了纯 atomic semantic ID 范式的参数化粒度问题。将 item 拆分为若干独立的 atomic token,相当于把组合语义的学习推给 dense 层隐式承担;而 ID 系统为每个 item 配备独立参数容量——两种参数化方式根本不同。

TRM 的解法是混合化:使高频 token 组合也获得独立参数位(mem-token),将词表从"atomic 单层"扩展为"atomic + 组合"两级。这相当于承认纯 atomic 化的 semantic ID 范式参数化粒度不足,必须补充组合粒度的记忆机制。

由此引出一个更宏观的判断:纯 atomic semantic token 范式难以独立支撑大规模推荐排序,必须叠加某种"组合粒度的可学习参数位"。TRM 选择的是 BPE,未来工作可能采用其它方案(学习型组合 head、动态 codebook 扩展等)——但混合化方向应难以回避。


反思

1. 本文与 Latte 这类"自回归生成 SID"工作的关系?

两项工作方向正交

  • Latte 关注自回归生成端:output 端共享前缀压缩了 item 间区分度,通过添加 latent token 打破耦合;
  • TRM 关注排序判别端:input 端 ID 不稳定限制 scaling,将其全部替换为 semantic token 并补充原有 ID 才具备的记忆能力。

但二者存在共同的隐含信号:semantic token 替代 ID 在两种范式下都需要额外补强——Latte 解决生成耦合问题,TRM 解决记忆缺失问题。直接 plug-in 的 SID 设计仍不够成熟。

Latte 和 TRM 两个分别在生成式和判别式的工作,我认为都是类似于在补充 context info 上做的贡献。其核心就是为整个推理过程补充更多的上下文信息,来尽可能减少 SID 替换原来的 ID 造成的信息损失,同时释放原来 SID 占用的大量存储空间。