← Back to list
FORGE

FORGE: Forming Semantic Identifiers for Generative Retrieval in Industrial Datasets

生成式推荐 Alibaba
Abstract 8 Reading 8 Rating —
2025-09-25
Kairui Fu, Tao Zhang, Shuwen Xiao, Ziyang Wang, Xinming Zhang, Chenchi Zhang, Yuliang Yan, Junjun Zheng, Yu Li, Zhihong Chen, Jian Wu, Xiangheng Kong, Shengyu Zhang, Kun Kuang, Yuning Jiang, Bo Zheng
Zhejiang University, Alibaba Group
提出首个工业级语义标识符基准FORGE,包含淘宝140亿交互和2.5亿商品的多模态数据,系统优化SID生成、碰撞缓解与在线收敛策略,并引入无需GR训练的SID质量评估指标
semantic-id ad-rec industrial contrastive-ssl pretrained-lm

1. 研究背景与动机

生成式检索(Generative Retrieval, GR)通过将用户行为编码为标识符序列,利用大模型自回归生成候选商品标识符,已成为推荐系统中的新兴范式。其中,语义标识符(Semantic Identifiers, SIDs) 是GR的核心基础,它将商品的多模态特征编码为多级 codeword 序列(如 <C1_1248><C2_6475><C3_6968>),使语义相似的商品共享前缀码,从而实现知识共享和高效检索。

然而,当前SID研究面临三大挑战: 1. 数据集规模有限:现有公开数据集规模不超过1000万交互,缺乏多模态特征,无法反映工业场景 2. SID生成优化不足:设计选择缺乏系统研究,且评估依赖昂贵的GR完整训练 3. 工业部署低效:新SID上线后需要数天才能收敛,阻碍快速迭代

2. FORGE数据集

2.1 数据规模与特点

FORGE是首个面向生成式检索的工业级基准数据集,来源于淘宝(中国最大电商平台之一)。

Dataset 时序连续 #Users #Items #Interactions 模态 Codebook 任务
MovieLens N 138K 27K 20M ID, text N Recsys
Yelp N 2.1M 160K 8M ID, text N Recsys
Taobao N 987K 4M 100M ID N Recsys
TenRec N 5.0M 3.7M 142M ID N Recsys
KuaiRec N 7K 10K 12M ID, tags N Recsys
RecFlow N 42K 82M 38M ID N Recsys
FORGE Y 131M 251M 14B ID, text, image Y Recsys, Search

FORGE的核心优势:

  • 交互量是最大现有数据集TenRec的约100倍
  • 用户数多26倍,商品数多3倍
  • 包含ID、文本、图像三种模态
  • 提供时序连续的数据划分(3个阶段,共10天)
  • 同时支持推荐和搜索任务

2.2 数据结构

Seq Data:每天采样4000万用户行为数据,按时间划分为三个连续阶段(S1: 4天, S2: 3天, S3: 3天),每阶段后一天采样10万用户序列作为测试集。每条序列包含:

  • action_seq:历史交互序列(最长100)
  • target_item:当前页面交互商品
  • query:推荐任务为None,搜索任务为用户查询词

Item Info:每个商品包含:

  • 单token商品ID
  • 多模态嵌入 $\mathcal{H}^i \in R^{512}$
  • 构建好的SID(base和Ours两个版本)
  • 协同关系最强的商品 $i^+$
  • NER提取的关键词(替代原始标题以保护隐私)

3. 整体框架

3.1 SID生成

多模态特征提取与融合:利用预训练多模态大模型(CN-CLIP)分别提取商品的文本特征 $\mathcal{H}^i_{\text{text}}$ 和图像特征 $\mathcal{H}^i_{\text{image}}$,再通过融合模块得到统一表示:

$$\mathcal{H}^i = \mathcal{M}_{\text{Fusion}}(\mathcal{H}^i_{\text{text}}, \mathcal{H}^i_{\text{image}}) = \text{Multimodal Fusion}(\mathcal{M}_{\text{text}}(\mathcal{T}^i_{\text{text}}), \mathcal{M}_{\text{image}}(\mathcal{T}^i_{\text{image}}))$$

对比学习增强:引入InfoNCE损失,利用协同关系(i2i)增强表示的判别性:

$$L_{\text{InfoNCE}} = f(\mathcal{H}^i_{\text{text}}, \mathcal{H}^{i^+}_{\text{text}}, \mathcal{H}^{i^-}_{\text{text}}) + f(\mathcal{H}^i_{\text{image}}, \mathcal{H}^{i^+}_{\text{image}}, \mathcal{H}^{i^-}_{\text{image}}) + f(\mathcal{H}^i, \mathcal{H}^{i^+}, \mathcal{H}^{i^-})$$

其中正样本 $i^+$ 来自i2i协同关系,负样本 $i^-$ 采用batch内采样。

RQ-VAE量化:使用残差量化变分自编码器(RQ-VAE)将连续特征 $\mathcal{H}^i$ 转化为离散codeword序列 $\{c_1, ..., c_m\}$。具体地,编码器 $\mathcal{E}$ 将 $\mathcal{H}^i$ 映射为 $z_1 \in R^d$,在第 $j$ 层codebook $B_j = \{r^0_j, r^1_j, ..., r^{n_j-1}_j\} \in R^{n_j \times d}$ 中找到最近邻:

$$c_1 = \arg\min_c \|z_1 - r^c_1\|$$

然后计算残差 $z_2 = z_1 - r^{c_1}_1$,在 $B_2$ 中继续量化,逐层重复直到所有 $m$ 个codeword确定。

重建损失防止量化退化:

$$\mathcal{L}_{\text{recon}} = \|\mathcal{D}(r^{c_1}_1 + ... + r^{c_m}_m) - \mathcal{H}^i\|_2$$

RQ-VAE模型配置:

  • 编码器/解码器:对称3层MLP(512-256-256-64 / 64-256-256-512,ReLU)
  • Codebook维度:64
  • 融合结构:CN-CLIP (chinese-clip-vit-base-patch16)
  • 训练150 epochs,AdamW优化器,cosine学习率调度,batch size 2048

3.2 ID碰撞缓解

SID生成过程中,多个语义相似商品可能被分配相同SID(ID collision),降低codebook利用率。FORGE提出两种后处理策略:

KNN-based策略(Algorithm 1):为每个商品生成多个候选SID(通过量化时保留多个次近邻),按评分顺序评估,选择映射商品数少于阈值 $\sigma$ 的SID。

Random-based策略(Algorithm 2):保持前 $m-1$ 层codeword不变,在最后一层按循环递增方式分配:$C_m 0 \rightarrow C_m 1 \rightarrow ... \rightarrow C_m n_m - 1 \rightarrow C_m 0$。不追求语义一致性,而是最大化分散性。

3.3 生成式检索

将用户行为SID序列与系统/用户指令拼接为输入 $x$,使用大模型(Qwen或T5)训练。Codeword token扩展到tokenizer $\tau$ 中,通过交叉熵损失联合训练:

$$\mathcal{L}_{\text{rec}} = \sum_{i=1}^{m} \log P_{\theta,\tau}(c_i | x, c_{j\lt i})$$

推理时使用 dynamic beam search,自适应增加beam宽度(如 $300 \rightarrow 600 \rightarrow 1200$),平衡计算效率与生成质量。

3.4 评估指标

HitRate (HR@K):标准推荐检索指标。

$$HR@K = \frac{1}{N} \sum_{m=1}^{N} \frac{I_K \ \& \ I_{\text{click}}}{I_{\text{click}}}$$

Embedding HitRate:直接利用多模态嵌入 $\mathcal{H}^i$ 进行item-to-item检索评估,无需训练GR模型。

Gini Coefficient:衡量SID分配的公平性。给定所有SID及其映射商品数,按商品数升序排列后:

$$G = \frac{2}{N_d} \sum_{i=1}^{N_d} (\frac{i}{N_d} - L(i))$$

$$L(i) = \frac{C(i)}{C(N_d)}, \quad C(i) = \sum_{0}^{i} I_c(S^i_{id})$$

Gini系数越低表示SID分配越均匀,与GR性能正相关。

PVR:线上指标,衡量检索模型成功检索到展示商品的比例。

$$\text{PVR} = \frac{\sum_{mt(i)=FORGE} PV_i}{\sum_l PV_i}$$

Feature Fidelity:量化过程中语义信息的保留程度:

$$\text{Feature Fidelity} = \max\left(0, 1 - \frac{\|\mathcal{H}^i - \mathcal{D}(r^{c_1}_1 + ... + r^{c_m}_m)\|_2}{\|\mathcal{H}^i\|_2}\right) \times 100\%$$

4. 实验结果

默认配置:3级SID,每级8192 codebook,RQ-VAE量化,Qwen2.5-0.5B生成模型。

4.1 SID优化消融实验(RQ1)

Table 2 展示了各优化策略在三个阶段的效果(3x8192 codebook):

Stage Method HR@20 HR@100 HR@500 HR@1000
S1 base 3.61% 9.67% 20.82% 25.09%
S1 +KNN-10 3.91% (+8.31%) 10.32% (+6.72%) 21.85% (+4.95%) 25.38% (+1.16%)
S1 +KNN-5 4.18% (+15.79%) 10.81% (+11.79%) 22.14% (+6.34%) 25.30% (+0.84%)
S1 +Random-5 4.67% (+29.36%) 11.79% (+21.92%) 23.65% (+13.59%) 26.30% (+4.82%)
S1 +i2i 3.79% (+4.99%) 10.04% (+3.83%) 21.71% (+4.27%) 26.97% (+7.49%)
S1 +sideinfo 3.81% (+5.54%) 10.00% (+3.41%) 21.69% (+4.18%) 26.88% (+7.13%)
S1 Ours 4.89% (+35.46%) 12.31% (+27.30%) 24.79% (+19.07%) 29.01% (+15.62%)
S2 base 4.15% 10.70% 22.71% 26.70%
S2 Ours 5.33% (+28.43%) 13.23% (+23.64%) 26.37% (+16.12%) 30.28% (+13.41%)
S3 base 4.33% 11.16% 23.26% 27.24%
S3 Ours 5.44% (+25.64%) 13.79% (+23.57%) 26.71% (+14.83%) 30.86% (+13.29%)

关键发现:

  • 碰撞缓解对性能提升最显著:Random-5在HR@20上提升约25-29%,说明SID分布的公平性和利用率比最后一层的语义保持更重要
  • 多模态信息增强SID质量:+i2i和+sideinfo在大K值(HR@1000)上提升明显(+5-7%),小K值提升有限
  • 组合优化效果最佳:Ours(i2i + sideinfo + Random-5)在所有阶段和指标上均为最优,HR@1000提升13-15%

4.2 SID质量直接评估指标(RQ2)

Embedding hitrate与Gini coefficient均与最终HR@K呈强正相关:

  • 更丰富的协同信息(如i2i)提升embedding hitrate
  • 更细粒度的碰撞控制(noco -> base -> KNN-10 -> KNN-5 -> Random-5)降低Gini系数
  • 两个指标与最终HR排序一致,证明无需训练GR模型即可评估SID质量

4.3 泛化性分析(RQ3)

不同Codebook层级:2层x32768 codebook(Table 3)

Stage Version HR@20 HR@100 HR@500 HR@1000
S1 base 3.37% 9.09% 20.33% 26.94%
S1 Ours 4.57% 11.94% 24.67% 31.34%
S2 base 3.85% 10.03% 21.93% 28.96%
S2 Ours 5.08% 12.61% 26.17% 33.53%
S3 base 3.91% 10.49% 22.65% 30.00%
S3 Ours 5.11% 13.04% 26.88% 34.15%

Ours在2层结构下HR@10提升超30%,HR@1000提升约14%。

不同架构和模型规模(Table 4,Stage S1):

Codebook t5-base (0.2B) HR@20/100/500/1000 Qwen2.5-3B HR@20/100/500/1000
3x8192 (base) 1.29% / 3.62% / 8.91% / 11.98% 4.49% / 11.71% / 24.40% / 28.94%
3x8192 (Ours) 2.36% / 5.99% / 12.98% / 16.08% 5.60% / 14.18% / 27.58% / 32.12%
2x32768 (base) 1.84% / 5.14% / 11.98% / 16.45% 3.72% / 10.19% / 22.64% / 29.75%
2x32768 (Ours) 2.46% / 6.55% / 14.30% / 18.88% 4.96% / 12.80% / 27.13% / 34.29%
  • T5-base(encoder-decoder, 0.2B)上同样有效,验证架构无关性
  • Qwen2.5-3B相比0.5B提升约10%,模型规模扩大带来稳定收益

搜索任务泛化(Table 5):推荐任务训练的SID直接用于搜索任务,Ours仍显著优于base:

Stage Codebook HR@20 HR@100 HR@500 HR@1000
S1 3x8192 (base) 14.30% 27.91% 43.95% 50.74%
S1 3x8192 (Ours) 23.39% 37.05% 51.77% 56.89%
S3 3x8192 (base) 15.08% 29.83% 47.83% 55.10%
S3 3x8192 (Ours) 24.71% 40.06% 56.04% 61.46%

搜索场景下Ours在HR@20上提升约60%,说明SID优化具有跨任务泛化能力。

SID层级结构(Table 16):

结构 S1 HR@1000 相对base变化
base (3x8192) 27.24% baseline
2048_4096_8192 29.07% +6.72%
8192_4096_2048 28.99% +6.42%
2x32768 30.00% +10.13%
3x512 25.96% -4.70%
1024_4096_32768 30.35% +11.42%
4x4096 26.45% -2.90%

3层SID是计算效率和检索效果的最优平衡;1024_4096_32768配置在HR@1000上提升超11%。

4.4 在线部署与收敛加速(RQ4)

线上A/B测试(淘宝"猜你喜欢"模块,7天):

PVR Hitrate Transaction Count
+8.93% +10.02% +0.35%

冷启动收敛策略(Figure 4):

策略 描述 效果
From Base 从Qwen2.5初始化 10天后追平生产模型,需更长时间超越
From Online 从同SID规模的生产模型出发 不一致地帮助新SID
From Dense 保留生产模型权重,独立初始化SID token 效果不如From Base
From UserAction 离线预训练(7天历史行为拼接),再流式训练 4天超越生产模型,10天后HR@10提升10%

From UserAction通过离线预训练使LLM快速学习新SID的结构和协同信息,将在线收敛时间缩短一半。

4.5 量化方法对比(Table 17)

Method S1 HR@20/1000 S3 HR@20/1000
Random 1.08% / 4.82% 1.51% / 6.41%
Multiple-VQ 2.87% / 23.84% 3.47% / 26.47%
RQ-Kmeans 3.42% / 26.11% 3.96% / 28.71%
RQ-VAE (base) 4.33% / 27.24% 4.33% / 27.24%
RQ-VAE (Ours) 5.44% / 30.86% 5.44% / 30.86%

RQ-VAE优于RQ-Kmeans,关键在于加入碰撞后处理后优势更明显。RQ-Kmeans的codebook利用率更高但整体HR不及RQ-VAE+后处理。

4.6 ID碰撞策略详细对比(Table 14)

Method S1 HR@100变化 S1 HR@1000变化
noco -20.48% -11.24%
merge -13.96% -3.47%
base (KNN-25) baseline baseline
+KNN-10 +6.72% +1.16%
+KNN-5 +11.79% +0.84%
+Random-5 +21.92% +4.82%

去除碰撞控制(noco)导致显著性能下降;merge(合并相邻SID)也降低性能。更严格的碰撞控制和Random分配策略带来持续提升。

4.7 数据模态消融(Table 15)

Method S1 HR@100变化 S1 HR@1000变化
query2i -10.03% -4.62%
samecate -7.76% -4.58%
+sideinfo +3.41% +7.13%
+i2i +3.83% +7.49%

query2i和samecate作为协同关系替代方案均不如i2i;额外加入sideinfo(卖家、价格、类目等)和i2i关系均可提升SID质量。

5. 实现细节

SID生成:RQ-VAE,输入维度512,codebook维度64,3层MLP编码解码器,CN-CLIP融合,AdamW优化,150 epochs。

生成式检索

  • T5-Base (0.2B):序列长度100,max length 1280,4 epochs,16 GPU (PPU-ZW810E),20h/epoch
  • Qwen2.5-0.5B-Instruct:序列长度100,max length 1280,1 epoch,32 GPU,80h/epoch
  • Qwen2.5-3B:同Qwen2.5-0.5B配置

Dynamic beam search:3层SID使用 {300, 600, 1200},2层SID使用 {600, 1200}。

训练优化:Optimized LM_HEAD(Algorithm 3)通过只计算序列中第一个有效label位置之后的logits,减少约20%训练时间和约70%内存占用。

6. 总结与贡献

  1. 首个工业级SID基准:FORGE包含140亿交互、2.51亿商品、131M用户,提供多模态特征和预构建SID,支持推荐和搜索任务
  2. 系统性SID优化:多模态融合 + i2i对比学习 + Random碰撞缓解的组合方案,在所有配置下提升13-35%
  3. 无需GR训练的SID评估:Embedding hitrate和Gini coefficient与最终HR强正相关,提供高效评估手段
  4. 工业部署加速:From UserAction离线预训练将在线收敛时间缩短一半,线上交易量提升0.35%
  5. 丰富的泛化验证:跨架构(T5/Qwen)、跨规模(0.2B-3B)、跨任务(推荐/搜索)、跨codebook配置均验证有效