跳到正文
Hacker News· anna_1101·· 9 天前AI 评分32

ZooWork-ShopRanker 训练经验:相关性不等于偏好

Relevance Is Not Preference: What We Learned Training ZooWork-ShopRanker

AI 导读

电商重排序模型 ZooWork-ShopRanker 发布 0.6B、4B、8B 三个参数版本,基于 Qwen3-Reranker 系列 LoRA 适配器,并配套推出 ShopRank-Bench 偏好基准。

正文 · AI 翻译

开放重排序模型非常擅长回答一个问题:这篇文档与查询相关吗?它们是为网页检索训练的,而在那个场景里,这个问题就是工作的全部。购物搜索问的是另一个问题。在两个都关于“100 美元以下的波西米亚连体裤”的商品之间,更好的那个是100 美元以下的那个。一个主题相关性模型没有理由偏好它,而在我们的数据中,它通常也确实不偏好。

我们最近发布了 ZooWork-ShopRanker,一个包含 0.6B、4B 和 8B 参数的电商重排序模型系列,以及 ShopRank-Bench——一个基于私有搜索流量构建、污染受限的偏好基准。发布文章解释了这些模型能做什么。本文讲的是我们如何训练它们,哪些选择重要、哪些不重要,以及对齐在何处不再有帮助。完整细节、表格和显著性检验都在论文中。

简而言之:

  • 干净的标签才是稀缺资源,而不是算力。真实流量给了我们真实的查询和候选,但没有标签。来自三个不同家族的推理 LLM 评审团,在约束优先协议下对两种展示顺序都进行评判,只保留了它所看到的困难配对中的 45.7%,而这个过滤是值得的。
  • 对于打分模型,DPO 就只是一个成对逻辑损失。重排序模型直接输出其奖励,因此参考策略项消失了。LoRA 和一个通用相关性回放混合承担了原本由参考模型承担的锚定作用。
  • 在线策略挖掘会撞上干净标签的天花板。挖掘模型认为最难的配对曾有帮助,随后就停滞了:一个挖掘批次的黄金标签产出率从 26% 降到 6%,因为最难的配对变成了评审自己也无法分出高下的那些。
  • 对小模型而言,蒸馏胜过直接对齐,而标签数量胜过教师强度。发布的 0.6B 和 4B 拟合了来自对齐后 8B 的 135k 个分数。在受控的开发运行中,从对齐重排序教师蒸馏出的 0.6B 击败了在评判配对上对齐的同一学生模型,也击败了由更昂贵、更精确的 LLM 评审团教出的模型(在困难开发配对上,使用较早的对齐 4B 教师为 78.3,而使用 DeepSeek/Gemma 评审团教师为 70.7)。
  • 注意力层上的 Rank-16 LoRA 可媲美全量微调,而可训练参数仅约 1%。
  • 有些东西是对齐装不进去的。在评判偏好上训练并不能教会模型遵循手工设计的属性层级(事实证明这本来也是错误的目标),也不能教会它遵守声明的预算。少量程序化标注的监督可以做到。
  • 这些在服务时都不产生任何开销。LoRA 更新在部署前已合并,因此每个 ShopRanker 都以其基础模型的延迟运行。

设置

模型与打分读出

三个 ShopRanker 都是 Qwen3-Reranker 系列(0.6B、4B、8B)上的 LoRA 适配器。这些是被用作重排序器的解码器模型:查询和商品文本进入一个固定提示,我们不生成答案,而是在单次前向传播中读取两个答案 token 的 logits。相关性分数就是它们的差值:

f(q, d) = logit("yes" | q, d) − logit("no" | q, d)

不生成任何文本。这与setwise 重排序器以及我们的 Instinct 决策模型所使用的“对答案词表打分而非解码”模式相同,也正是它使得在单一成本轴上对 10,511 个配对评估每个模型(包括一个 27B LLM 参考模型)变得可负担。

我们出于实际原因选择了这个系列。一种架构覆盖全部三种规模,因此对齐后的 8B 可以教导较小的两个。基础模型本身已经很强:在零样本下,Qwen3-Reranker-8B 在结构化产品文本上与Jina-Reranker-m0不相上下。而 yes/no 分数正是成对损失所作用的标量。

“更好”意味着什么

这里的偏好遵循取自评判协议的两级规则。候选产品必须首先满足查询的硬性约束:预期的产品类型、声明的预算、预期的收件人,以及任何明确的排除项。只有在幸存者中,较软的证据(风格、颜色、合身度、质量)才起决定作用。排序是查询条件性的。硬性约束是给定查询所声明的任何内容,而不是属性的固定全局排序,这一区别最终证明很重要(参见关于对齐未能安装什么的章节)。

开放重排序器恰恰在第一级上失败。在 1,843 个金级基准配对中,按查询是否声明了明确约束进行拆分,差距清晰可见:

Dot-and-line chart of gold-tier ShopRank-Bench accuracy split by whether the query states a hard constraint, one line per model: open baselines score 14 to 20 points lower on constrained pairs, the Qwen3-Reranker-8B base drops less, and ShopRanker-4B is roughly flat.

图 1。金级配对上的准确率,按查询是否声明了明确约束拆分(684 个有约束,1,159 个无约束;是不同的配对,因此这是一种关联,而非受控效应)。开放基线在有约束查询上损失 14 到 20 个百分点;ShopRanker 则持平。虚线为随机水平。

这一效应在预算上最为明显。在 338 个指定价格上限的金级配对中,BM25 降至 47.9%,低于随机水平,交叉编码器损失 26 到 34 个百分点,而 ShopRanker-4B 和 -8B 达到 97.9%。

评估卫生

ShopRank-Bench 包含来自 Gensmo 私有搜索流量中 2,991 个查询的 10,511 个配对,每个配对都以结构化属性格式和模型渲染的自然语言格式发布。三个细节塑造了我们解读每个结果的方式:

  1. 配对在生产排名中相邻。随机采样的配对由容易的对比主导,这些对比会掩盖模型差异。已部署系统已经将它们排在一起的产品,才是重排序器必须证明自身价值的地方。
  2. 标签按一致性分级。金级配对由全部三个评判家族一致认定同一产品,银级为两个,铜级为一个。铜级占基准的 40%,且每个系统在铜级上比金级弱 20 到 26 个百分点。因此聚合分数由最弱的标签主导,所以我们始终分别报告各层级。
  3. 配对并非独立。10,511 个配对来自 2,991 个查询,因此所有区间都是查询聚类自助法区间,所有模型比较都是对相同配对的成对McNemar 检验,并在聚类自助法下用Holm–Bonferroni校正重新检查。

标签:作为偏好预言机的评判小组

搜索日志给你查询和系统呈现的产品,但不会告诉你两个产品中购物者本应先看到哪一个。点击受位置和展示方式偏置,其中没有干净的成对标签。我们使用推理 LLM 作为预言机,并将大部分设计精力花在使其标签可信上:

  • 三个家族,而非单一评判者。 Qwen3.5-122B、Gemma-4-31B 和 DeepSeek-V4-Pro 各自评估每一对基准样本。跨家族一致性,而非单一评判者自报的置信度,才是可信度信号。
  • 两种顺序。 每个评判者都会看到两种候选顺序。只有当两种顺序都选中同一产品时,该评判者才算作出判定;否则计为弃权。
  • 约束优先协议。 评判者必须首先陈述查询的硬性约束,逐一检查每个产品是否满足每项约束,权衡剩余证据,然后才做出决定或宣布平局。
  • 无冲突。 当所有作出判定的评判者都选择了同一产品且无人提出异议时,该对样本被保留。在 23,000 对已评判样本中,10,511 对存活(45.7%)。在被丢弃的 12,489 对中,12,350 对是一致平局,仅有 139 对是直接冲突。

这一丢弃率是信息,而非浪费:相邻排名的样本对确实处于表面相关性无法解决的决策边界上。

训练标签来自一个严格的双家族评审团(Qwen3.5-122B 和 Gemma-4-31B,两者在两种顺序下均一致),基于一个不相交的流量切片,与基准之间零查询重叠、零精确样本对重叠。DeepSeek-V4-Pro 完全被排除在训练之外,因此基准并非仅由监督训练的模型来裁决。

目标:无参考模型的 DPO

给定查询 q、偏好产品 d+ 和被拒产品 d−,我们最小化重排序器得分 f 上的成对逻辑损失:

L = − log σ( β · [ f(q, d+) − f(q, d−) ] )        (β = 0.1)

这是 Bradley–Terry 目标、带温度的 RankNet,也是用于拟合 RLHF 中奖励模型 的损失。我们并不声称其具有新颖性。属于我们的是它所训练的数据。

从偏好优化领域来的读者可能会问参考策略去哪了。在生成式 DPO 中,参考模型承担两项职责:它将隐式奖励参数化为对数概率比,并防止策略漂移到退化文本。这两者都不适用于判别式重排序器。模型就是奖励(是/否 logit 差值),因此重参数化坍缩为得分本身,DPO 简化为上述损失。由于没有生成的文本需要保护,锚定作用便落到低秩更新和通用相关性数据的回放混合上:评判者标注的电商样本对在对齐阶段以 0.6 的概率采样,在后续阶段以 0.8 的概率采样,其余为通用检索数据。

在线策略挖掘耗尽了干净标签

在首轮对齐之后,显而易见的下一步是主动学习:挖掘当前模型认为最难的样本对,即得分差距 |s+ − s−| 最小的那些,并将它们发送给评判者。一轮略有帮助(开发简单切片准确率 0.836 → 0.844)。后续轮次停滞不前,如果你打算做同样的事,其原因值得了解。

对齐会使模型的分数向极端两极分化。一旦如此,那些差距最小的配对就不再真正处于边界地带。它们是两个好产品或两个坏产品的配对,评判者也会在这些配对上打平。干净、一致的标签供应枯竭了:一个挖掘批次的金标签产出率从 26% 降至 6%,尽管按分数来看,这些配对是最容易混淆的。前沿已变得评判者模糊,而不仅仅是难以发现。在策略偏好学习,至少在使用 LLM 评审团作为预言机并加上一致性过滤时,受限于干净标签。已发布的模型不使用在策略数据。

蒸馏:数量胜过教师强度

这两个较小的模型并非从各自的基础模型对齐而来。对齐后的 8B 模型对约 135k 个查询–产品样本(134,601 个)打分,每个学生模型用二元交叉熵拟合这些软分数,混合同一数据池的结构化和自然语言呈现形式,最后一个阶段在评判过的配对上用上述损失来锐化其成对偏好。教师提供覆盖范围;评判者提供精确度。

我们将此与直接路线进行了比较,即在评判过的配对上对齐每个基础模型(外加在 4B 上进行一轮在策略训练)。在两个评判者的开发切片上:

规模阶段简单困难困难-自然语言
0.6B基础77.772.671.2
+ 评判配对78.373.971.6
+ 蒸馏(教师)82.578.373.8
4B基础82.176.475.8
+ 评判配对83.678.775.7
+ 在策略84.480.075.7
8B基础83.578.075.1
+ 评判配对87.282.378.5

表 1. 从基础模型对齐路线的逐阶段开发准确率(两个评判者标签;与三个评判者的基准不可比)。在 8B 上,评判配对对齐是主要杠杆,在 0.6B 上则是蒸馏。在此消融实验中,0.6B 是从一个较早的 4B 教师蒸馏而来;已发布的模型使用 8B 教师。

两点观察:

  • 在小规模下,蒸馏是更大的杠杆。评判配对使 0.6B 在困难配对上提升了 1.3 个百分点;蒸馏又增加了 4.4。在基准本身上,蒸馏后的 4B 在两种格式下也都优于直接对齐的 4B(结构化 81.2 对 80.4,McNemar p = 0.006;散文 79.5 对 78.3,p = 3.7×10⁻⁴),因此蒸馏,而不仅仅是 0.6B 的结果,证明了 4B 路线的合理性。
  • 更精确的教师输给了更多产的教师。我们还用 DeepSeek 和 Gemma 的评分构建了一个教师:在验证中成对一致性为 95.5%,仅有 0.5% 的反转。在可行的规模下,它输得很惨。从它蒸馏出的 0.6B 在困难开发切片上达到 70.7,而同一学生从重排序教师(表 1 中较早的对齐 4B)蒸馏出的是 78.3。LLM 评审团每单位计算量评分的样本少得多,损失的覆盖范围超过了获得的精确度。

LoRA,以及那些无关紧要的阶段

每个阶段只训练一个 LoRA 适配器:秩 16,α = 32,dropout 0.05,作用于注意力投影,基础权重冻结。这是一个选择,而非计算上的让步。在 0.6B 上的受控比较中,数据、配方和评估完全相同,唯一区别在于更新是否为低秩,LoRA 与全量微调持平或略胜一筹:

方法(0.6B)简单困难困难-自然语言
LoRA,秩 1678.373.971.6
全量微调77.773.071.0

表 2. LoRA 与全量微调的受控比较,开发切片。

这与 Thinking Machines 的 LoRA Without Regret 在小数据情形下的结论一致:我们的核心偏好集约为 4.4k 个评判配对加上回放,远低于适配器容量应成为瓶颈的程度。适配器只有几兆字节。

我们保留的另一个阶段结果证明是中性的。在 500 个困难的开发对上,当同样的产品以散文形式书写时,仅结构化训练的 8B 下降了 4.6 分,而基础 4B 下降了 3.0 分(76.6 到 73.6),这表明在结构化模式上的对齐会使模型在散文上变得脆弱。我们添加了最后一个混合格式阶段。在基准测试中,仅结构化和混合格式的 8B 在两种格式下都无法区分(结构化 83.3 对 83.4,p = 0.94;散文 81.7 对 81.8,p = 0.64)。仅对结构化文本进行对齐已经将其增益带到了散文上。我们保留了这个阶段,因为它没有成本,但我们不声称它带来了鲁棒性收益。

其他设置,用于复现:最大长度 1,024 个 token,有效批量 64,对齐和蒸馏的学习率为 5×10⁻⁶,锐化和混合格式阶段的学习率为 2×10⁻⁶,线性预热后衰减,根据留出的评判分割上的成对准确率选择最佳检查点。

结果

Bar chart of ShopRank-Bench pairwise accuracy on the structured format: ShopRanker-8B 83.4%, ShopRanker-4B 81.2%, Qwen3-Reranker-8B 79.2%, Jina-m0 79.2%, Qwen3-Reranker-4B 77.5%, ShopRanker-0.6B 76.6%, Qwen3-Reranker-0.6B 73.5%, BGE-v2-m3 73.3%, BGE-large 71.6%, BM25 56.2%; markers show gold, silver and bronze tier accuracy.

图 2. 在 10,511 个结构化对上的 ShopRank-Bench 准确率。条形表示总体准确率(ShopRanker 为绿色);标记显示金、银、铜层级。虚线为随机水平。该排名在自然语言视图上同样成立(8B 为 81.8,次优为 78.4)。

ShopRanker-8B 以 83.4% 领先,比我们测试的最强开源重排器(Jina-m0 和 Qwen3-Reranker-8B,均为 79.2%)高 4.2 分,并且每个 ShopRanker 都显著优于其自身基础模型,在所有规模和两种格式下均如此(配对 McNemar p ≤ 1.3×10⁻⁴)。各层级标记说明了我们为何报告层级:几乎所有系统在金层级上都超过 90%,而区分度既来自每个模型在较弱标签上失分的位置,也来自其得分的位置。

Scatter plot of ShopRank-Bench structured accuracy against parameter count on a log scale, with 95% error bars: each ShopRanker sits above its Qwen3-Reranker base, and ShopRanker-0.6B is level with the Qwen3-Reranker-4B base.

图 3. 准确率与参数数量(对数刻度;95% 查询聚类区间)。在结构化文本上,蒸馏的 0.6B 与 4B 基础模型在统计上无法区分:差异为 −0.9 分,95% CI [−1.9, +0.2]。这意味着未检测到差异,而非证明相等。在散文上,4B 基础模型保持显著优势。

在一个 H200 上,该 0.6B 的吞吐量是 4B 基础模型的 2.8 倍(批量 32 时每秒 433 对 155 个文档),内存占用为 40%(4.5 对 11.2 GB)。对齐在每个规模上都有帮助,但可部署的收益来自蒸馏。

对齐也不会牺牲通用重排能力。在我们从未训练过的三个公开 MTEB 重排任务(ESCIReranking、SciDocsRR、AskUbuntuDupQuestions)上,ShopRanker-4B 和 -8B 以 0.799 领先平均分,略高于其基础模型(0.789 和 0.793)。唯一相对于基础模型的下滑是 SciDocsRR(4B 为 −0.008,0.6B 为 −0.003)。三个没有不确定性估计的任务支持“不会退化”,而非“一致提升”。

对齐无法安装的东西

ShopRank-Bench 中的两条诊断轨道提出了比偏好轨道更窄的问题,两者都返回了我们没有预料到的答案。

手工设计的属性层级是错误的靶子

属性层级(AHP)轨道有 1,500 个对,每对恰好有两个属性不同。胜者是满足手工设计的、以意图为条件的顺序中更高优先级属性的那个(默认受众 > 产品类型 > 价格 > 风格 > 颜色)。

Bar chart of attribute-hierarchy diagnostic accuracy: all open rerankers and Qwen3-Reranker bases fall well below the 50% chance line, and ShopRanker models rise to around chance at 8B.

图 4. 属性层级诊断(1,500 个对)。零样本下,每个模型都低于随机水平:它们系统性地反转了设计的优先级,价格最严重,且规模无济于事。偏好对齐在没有任何层级监督的情况下,将其提升到 8B 时仅略高于随机水平。

诱人的结论是“按层级训练”。这是错的。一个被训练来分别对七个属性打分并将它们汇总的模型,在评判标注的偏好对上仅达到 38.8%,即使对这些属性分数进行最佳线性重新加权,在留出集上也只达到 69.5%。评判偏好是查询条件性的,而固定的优先级顺序与其呈反相关。这限定了一个在线性汇总下的学习属性模型,而非所有可能的设计,但这足以让我们将层级保留为一种诊断手段,而非目标。

偏好对齐改变了价格偏差,但并未学会预算

价格是最差的层级属性,我们怀疑是缺少监督而非缺少能力。软性价格偏好确实存在歧义,因为更高的价格可能意味着质量。而明确的预算则不然:price ≤ budget 可以自动检查。预算赛道(1,302 对)在构造上就是对抗性的:

  • 在 阈值 切片(853 对)中,一个产品低于所述预算,一个高于,因此更便宜的那个胜出;
  • 在 对照 切片(449 对)中,预算被提高到两个价格之上,而一个次要属性使更贵的产品胜出。

总是选择更便宜的产品在两个切片上得分为 100/0,总是选择更贵的产品得分为 0/100,因此只有真正的阈值行为才能在两者上都高。

Bar chart of explicit-budget diagnostic accuracy with threshold and control slice markers: weaker open rerankers favor the pricier product, Qwen bases sit in between, ShopRanker models are high on threshold but drop on control, and a 0.6B budget specialist is high on both and highest overall at 94.7%.

图 5. 显式预算诊断(1,302 对;标记显示阈值和对照切片)。一般偏好对齐偏向便宜;一个在程序化规则上训练的 0.6B 专用模型在两个切片上都很强。

较弱的开放重排器倾向于更贵的产品,并实际上忽略了上限(Jina-m0 35.1 和 BGE-v2-m3 32.4 在阈值切片上)。一般偏好对齐扭转了这一点,但矫枉过正:阈值准确率跃升,而对照准确率降至基线以下。这是一种软性的偏好便宜的习惯,而非阈值逻辑。这也是为什么预算准确率不随规模单调变化:ShopRanker-8B(总体 85.0%)落后于 ShopRanker-4B(88.6%),因为其对照切片下降更多(69.9 对 80.8)。规模放大了倾向;它并未安装规则。

一个 0.6B 专用模型,使用相同的成对损失在程序化标注的预算对上训练,并混入回放,在两个切片上都很强,总体最高达到 94.7%。在这个约束上,少量有针对性的、可自动检查的监督胜过规模和一般对齐。我们尚未测试这是否能迁移到其他可检查的约束,而对于生产中的硬性上限,价格过滤器仍然是最简单的保证。

差距只是训练评判者造成的吗?

三个基准评判者家族中有两个也生成了训练标签。如果我们的增益仅仅复制了那些评判者的特性,那么在训练不相交的家族(DeepSeek-V4-Pro)也做出裁决的配对对上,增益应该会缩小。在结构化非金标配对对上:

模型金标(1,843)DeepSeek 投票(5,100)仅训练面板(3,568)
ShopRanker-8B96.583.676.2
ShopRanker-4B96.381.672.8
Jina-m0(2.4B)90.880.771.0
8B 相对 Jina-m0 的优势+5.7+2.9+5.2

表 3. 按训练不相交的评判者家族是否做出裁决划分的准确率。

这一优势在 DeepSeek 参与判断的配对上依然存在,但有所缩小,8B 从 +5.2 降至 +2.9。我们认为这限定了训练家族效应的影响范围,而非排除该效应:这一增益并非仅仅是匹配训练评判者的产物,但也并非完全不受其影响。作为进一步的抽查,一个未参与训练或标注的第四模型家族与 45 个抽样标签中的 43 个一致。

服务成本

由于 LoRA 更新在服务前已合并,每个 ShopRanker 的成本与其基座完全一致。在中位数上,batch-1 延迟在 0.6B 为 17.6 对 18.6 ms,4B 为 25.2 对 24.5,8B 为 25.8 对 25.4(单张 H200,fp16,1,024 token 限制)。准确率增益在每次查询中都是免费的。

我们也报告了不利于我们的对比。BGE-Reranker-v2-m3 在结构化配对上被 0.6B 以 3.3 分击败,但在 batch 32 时快 4.6 倍,且只需三分之一的内存。解码器重排器需要携带完整的语言模型栈来输出一个标量;编码器交叉编码器则不需要。在质量受限之处,解码器胜出;在原始吞吐受限之处,编码器仍然胜出。在另一端,两个零样本推理 LLM 比 ShopRanker-8B 准确率高 8.5 到 8.7 分,每次决策的中位时间为 3.4 到 11.8 秒。这只是一个参考,说明基准测试的偏好中有多少是可以恢复的,而非可部署的替代方案。

局限性与开放问题

  • 标签来自 LLM 评审团,而非购物者。我们展示的是与一个推理评审团的对齐,且这种对齐能迁移到留出流量上,而非该评审团能追踪人们实际购买什么。一项人类一致性研究是主要的待办事项。
  • 基准测试以服装为主且仅限英语。约三分之二的配对是服装、鞋、包和珠宝,且查询以美国为中心。
  • 同策略学习需要更好的 oracle。干净标签上限表明,一旦模型极化,经过一致性过滤的 LLM 评审团就无法继续提供有信息量的标签。分级判断,或能表达“两者都可接受,略微偏好 A”的 oracle,或许能突破这一上限。
  • 还有哪些其他约束可以通过程序化方式检查?预算对少量规则标注数据反应显著。收件人、排除项和产品类型约束可以部分从目录属性中检查。同样的技巧是否能泛化尚未测试。
  • 格式差距是真实存在的吗?对齐后的 8B 的散文差距(1.6 分)大于其基座的(0.8 分),但我们尚未运行交互测试来说明对齐会增加格式敏感性。

试用

模型以 Apache 2.0 协议发布在 Hugging Face 上(0.6B、4B、8B)。每个仓库都包含未修改的 Qwen3-Reranker 基座以及 LoRA 适配器,因此从同一仓库加载基座再加载适配器即可精确复现我们的分数。ShopRank-Bench 同时提供两种格式、每个评判者的判定结果(以便你重新计算层级)以及一个由我们的 LookBench 包支持的评估脚本。基准数据采用 CC BY-NC 4.0 协议,用于研究和评估。

更广泛的教训正是我们在 ZooWork 不断重新领悟的那一条:通用模型能让你达到“相关”,而要在特定领域达到“正确”,需要清晰定义什么才算更好、一种干净标注它的方法,以及衡量训练何时不再有帮助的纪律。

引用

@article{xue2026shopranker,
  title   = {ZooWork-ShopRanker: An Open, Preference-Aligned E-Commerce Reranker},
  author  = {Xue, Siqiao and Liu, Shuxuan and Hu, Ning},
  journal = {arXiv preprint arXiv:2609.31002},
  year    = {2026}
}

来源:Hacker News · zoowork.ai