这项由韩国高丽大学Korea University及其人类启发人工智能研究院Human-inspired AI Research联合开展的研究发表于2026年第49届国际ACM SIGIR信息检索研究与发展会议SIGIR 26会议时间为2026年7月20日至24日地点为澳大利亚墨尔本。论文预印本编号为arXiv:2604.04734有兴趣深入了解的读者可通过该编号查询完整论文。**当你向搜索引擎提问背后发生了什么**每当你在搜索框里敲下一个问题互联网背后有一套精密的机器在飞速运转。粗略来说这套机制分为两个阶段第一步是海选从数以亿计的网页中快速筛选出几百个候选结果第二步是精排从这几百个候选中仔细甄别给出真正最相关的答案。完成第一步海选任务的就是本文的主角——**稠密检索模型Dense Retrieval Model**。通俗地说这类模型会把每一篇文章压缩成一个高维数字向量就像给每篇文章做一张基因指纹然后通过比较问题和文章的基因指纹有多相似来判断相关性。这种方式速度极快适合大规模检索。然而把一整篇文章压缩进一个向量难免会丢失很多细节。正因如此稠密检索模型在精度上往往逊于那些能够逐字逐句比对问题与文章的精排模型称为交叉编码器。好比说一个能把整本书浓缩成一句话摘要的人在理解能力上自然比不过一个能逐字通读全书的人。为了弥补这个差距研究人员发明了一种叫**知识蒸馏Knowledge Distillation**的训练方法。道理很简单让精排模型这位读书达人扮演老师给各种文章打分评出哪篇最相关、哪篇次之、哪篇完全无关再让稠密检索模型这个学生努力学习老师的打分习惯。这样学生虽然不能像老师那样精读全书却能从老师的评价体系中汲取智慧大幅提升检索质量。问题是老师打了那么多分学生到底该学哪些样本韩国高丽大学的研究团队发现在如何选择学习材料这件事上过去的方法存在一个根本性的盲区。而正是这个盲区可能悄悄地拉低了整个检索系统的水平。---一、为什么只盯着最难的题目可能适得其反在知识蒸馏的训练过程中研究人员一直有一个主流共识要给学生挑选难题来练习也就是选择那些对检索模型来说难以区分的负样本行话叫**难负样本Hard Negatives**。这背后的逻辑乍听起来很有道理——就像备考时专攻错题集哪里不会就练哪里效率最高。具体操作上常见的做法是取检索器初步召回的排名靠前的文档retriever-top或者直接取教师模型打分最高的若干个负样本reranker-top作为训练数据。然而韩国高丽大学的团队提出了一个反直觉的问题如果你在考试备考时只专注于最难的那几道题你真的能把整门课都学扎实吗答案未必是肯定的。假设你在准备一场音乐考试老师对所有曲目都有细致的品味评价——从完全听不下去到还凑合再到非常精彩构成一个完整的喜好光谱。但如果你作为学生只拿到老师对几首最难区分的中等水平曲目的评分你能真正学会老师的品味标准吗你只了解了老师喜好光谱中间那一小段对于极好和极差的作品你依然一无所知。这正是当前主流方法的问题所在。通过只挑选难负样本无论是检索器认为最难的还是精排老师给分最高的模型接触到的其实只是老师评分分布中的一个狭窄切片。学生从未见过老师如何评价明显无关的文档也没有见过老师如何评价中等相关的文档更没有从整体上理解老师的完整偏好结构。这种训练方式的后果是模型在处理训练数据分布内的问题时还凑合但一旦遇到训练时没见过的新领域或新类型问题即域外泛化问题就会明显表现变差。高丽大学团队由此提出了一个核心命题**知识蒸馏的本质不是让学生做难题而是让学生完整地理解老师的整体评分逻辑。** 要实现这一点训练样本必须均匀地覆盖老师打分的整个范围而不是集中在某一个区间。---二、老师的评分单一个关于分数分布的思考实验为了更直觉地理解这个问题不妨把整个过程类比成一位美食评论家老师模型给一百道菜打分的场景。这位美食评论家非常严苛会给每道菜打一个从0到1的分数0分代表简直难以下咽1分代表人间极品。现在你想培训一个新厨师学生模型让他学会这位评论家的口味标准。过去常见的做法是这样的只给新厨师看那些得分在0.6到0.8之间的菜这些菜是评论家觉得还不错但有些差强人意的难以区分的中等菜肴。这相当于只盯最难的题目——评论家对这些菜的区分判断确实包含了最微妙的信息。然而新厨师从来没见过那些得0.1分的难吃透顶的菜也没见过那些得0.95分的令人惊艳的菜。他对这位评论家口味的理解是残缺的、片面的。当他以后遇到一道全新的菜可能就无法准确判断评论家会打几分。高丽大学团队的方案是**把这一百道菜的分数均匀地切成8段从每一段中各抽一道菜给新厨师看。** 这样从最难吃到最好吃每个分数区间都有代表。新厨师虽然只见了8道菜却对评论家的整体口味图谱有了完整的认识。这就是他们提出的**分层抽样Stratified Sampling**的核心思想。---三、分层抽样如何在数学上复刻老师的完整口味研究团队将这一直觉想法转化为了严密的算法。具体操作如下对于每一个用户查询系统首先准备一个包含200篇候选负样本文档的候选池下文会介绍这个候选池是怎么建立的。然后用精排老师——在这项研究中使用的是当前最强大的语言模型之一Qwen3-Reranker-8B——给这200篇文档以及那1篇正样本文档共201篇打分。为了让不同查询之间的分数具有可比性研究团队对每条查询的所有分数进行了最小-最大归一化处理将所有分数统一映射到0到1之间。这样每条查询下最高分的文档得1分最低分的得0分其他文档的分数按比例分布在中间。接下来是分层抽样的核心步骤。假设要从200篇负样本中选出K篇默认K8。研究团队会在0到1之间均匀设置K个锚点——如果K8锚点就是0、1/7、2/7、3/7、4/7、5/7、6/7、1这8个数值。然后从200篇文档中分别找出得分最接近每个锚点的那篇文档将这K篇文档作为最终的训练样本。这个过程是完全确定性的不依赖随机性也不需要调整任何参数。简单来说就是把老师的评分光谱均匀切成K段从每一段各取一个最具代表性的文档。为了验证这种方法的效果研究团队精心设计了一个受控实验环境用Qwen3-Embedding-8B检索每条查询的前100篇文档再从整个语料库中随机抽取另外100篇文档排除已检索到的合并成200篇候选池。这样设计的目的是让候选池同时包含难样本检索器认为相关的文档和容易样本随机抽取的大概率和查询无关从而覆盖完整的难度范围。在这200篇候选文档的基础上研究团队比较了六种不同的抽样策略取检索器排名最高的K篇retriever-top取精排老师打分最高的K篇负样本reranker-top取精排老师打分最低的K篇low取分数中间段的K篇mid随机抽取K篇random以及本文提出的分层抽样stratified。---四、严格的双阶段训练让实验结果更可信为了确保实验结论的可靠性研究团队设计了严格的双阶段训练流程将模型本身的能力和训练数据的影响分离开来。第一阶段叫做**对比学习Contrastive Learning**。研究团队用MS MARCO这个大型信息检索训练数据集包含880万篇文档和53.2万条查询对三种不同的基础编码器模型进行预训练分别是bert-base-uncased、distilbert-base-uncased和co-condenser-marco。这个阶段只用查询本身对应的正样本和同一批次内其他查询的文档作为负样本即批内负样本不使用任何专门挖掘的难负样本。目的是让三种模型都先具备基本的文本匹配能力处于同一起跑线上。第二阶段才是**知识蒸馏Knowledge Distillation**阶段。以第一阶段训练好的模型为起点研究团队用不同的抽样策略构建训练数据并分别使用两种不同的损失函数——KL散度KL-divergence和MarginMSE——来训练模型学习老师的打分偏好。KL散度是一种分布匹配的方法目标是让学生模型给一组文档打出的分数分布尽量接近老师打出的分数分布MarginMSE则是一种差值回归的方法目标是让学生模型正确学习正样本和每个负样本之间的分数差距。两种方法各有特点组合使用可以更全面地评估不同抽样策略的效果。整个实验使用批大小1024进行对比学习批大小16进行知识蒸馏最大序列长度512均值池化学习率2e-5每个阶段训练1个轮次。---五、实验数据说话分层抽样的全面胜出实验结果以一张大表格的形式呈现覆盖了三种模型bert、distilbert、co-condenser和两种损失函数KL散度、MarginMSE的组合共6种模型配置每种配置下测试了六种抽样策略。评估指标包括域内评估MS MARCO开发集上的MRR10和Recall1000以及TREC深度学习赛道2019的nDCG10和域外评估BEIR基准的13个数据集上的平均nDCG10。结果展现出相当一致的规律。分层抽样stratified和随机抽样random在几乎所有配置下都排在前两名而偏向某一极端的策略——无论是只选高分的reranker-top、只选低分的low还是只选检索器靠前结果的retriever-top——往往表现欠佳有时甚至严重失效。以最强的基础模型co-condenser为例在KL散度损失下分层抽样在MS MARCO Dev上的MRR10达到了0.313Recall1000达到0.959TREC DL 19的nDCG10为0.587域外BEIR-13的nDCG10为0.365全面领先其他策略。检索器顶部策略retriever-top在BEIR上的表现是0.319与分层抽样相差0.046而精排器顶部策略reranker-top的BEIR表现是0.334乍看还凑合但在MarginMSE损失下reranker-top直接导致co-condenser模型完全崩溃——MRR10仅为0.006连随机水平都不如堪称训练崩溃的典型案例。相比之下同样条件下分层抽样的MRR10为0.307表现稳健。这种MarginMSE下的崩溃现象尤其值得关注。研究团队的解释是MarginMSE是一种回归型目标函数对训练数据中的分布偏差和噪声更为敏感。当你只给模型看精排器打分最高的那些负样本时这批文档的分数都非常接近彼此之间的差距微乎其微模型在试图拟合这些几乎没有差异的分数时很容易陷入数值不稳定的困境最终导致训练失败。相反分层抽样提供了从高到低均匀分布的分数模型能够从清晰的分数差异中学到有意义的排序信号训练过程因此保持稳定。---六、用数字证明分层抽样最完整地还原了老师的品味地图为了从理论层面解释为什么分层抽样效果最好研究团队对六种策略生成的训练数据进行了统计分析计算了三个衡量分数分布多样性的指标覆盖度Coverage即所选文档分数的最大值与最小值之差、熵Entropy衡量分数分布的均匀程度用8个等宽区间的香农熵计算、标准差Standard Deviation衡量分数的离散程度。统计结果印证了直觉判断。分层抽样在三个指标上全部排名第一覆盖度0.990熵1.523标准差0.359。这意味着分层抽样选出的文档横跨了老师评分的几乎整个范围从最低分附近到最高分附近且在各个区间上分布相对均匀分数彼此之间差异显著。排名第二的随机抽样虽然也有一定的多样性覆盖度0.759熵1.270标准差0.295但因为随机性的存在有时会凑巧覆盖分布较广有时则会不幸集中在某一区间导致性能不稳定。而中间段策略mid的覆盖度只有0.323检索器顶部策略retriever-top更是只有0.196精排器顶部策略reranker-top仅为0.106低分策略low则低到了0.046。这些策略的熵和标准差同样极低说明它们选出的文档在老师评分分布上非常集中只展示了老师品味图谱的一个极小片段。最关键的发现是三个多样性指标的排名与实际检索性能的排名高度一致。这种一致性强有力地说明保留老师评分分布的多样性才是知识蒸馏取得良好泛化效果的真正关键所在。---七、K值变化下的稳健性随着数据增多优势愈发明显研究团队还测试了当训练样本数量K从4变化到8再到16时各策略的性能表现如何变化使用distilbert-base作为骨干模型同时测试了KL散度和MarginMSE两种损失函数。实验图表揭示了分层抽样的另一个重要优势**对K值的变化具有高度稳健性**。无论K等于4、8还是16分层抽样的表现始终处于所有策略的最前列不会因为K值的变动而出现忽高忽低的波动。检索器顶部和精排器顶部策略则表现不稳定在某些K值下崩溃在另一些K值下勉强凑合缺乏可预测性。随机抽样在K4时的域外表现略强于分层抽样这可以理解为当K非常小时随机偶尔会碰巧选出分布较广的几个点而分层抽样用4个点覆盖整个范围时每个区间的代表性还不够充分。然而一旦K增大分层抽样的系统性优势就变得越来越明显。这是因为随着K增大分层抽样会越来越密地填满评分光谱上的空白每新增一个样本都带来了一个之前从未见过的新区间的信息学习信号是真正互补的。而随机抽样在K增大时很可能出现大量重复覆盖同一个分数区间的样本新增样本提供的额外信息越来越少边际效益递减。在所有实验配置中性能峰值出现在MarginMSE损失、K16、分层抽样的组合下TREC DL 19的nDCG10达到0.531BEIR的nDCG10达到0.343。这进一步说明当训练数据能够更完整地呈现老师的评分分布时回归型目标函数能够从中提取出更精准的学习信号。---说到底这项研究讲述了一个关于学习方式的故事。过去大家都觉得给检索模型训练时应该专攻难题多做那些容易搞混的例子。高丽大学的团队却用严谨的实验告诉我们真正重要的不是难题的数量而是你能否完整地接触到老师对事物评价的全貌。就好比学一位美食评论家的口味光盯着那些他觉得还行但差一点点的菜是不够的你还需要知道他觉得极好的是什么样觉得难吃透顶的又是什么样。只有把整个品味谱系都摸清了才算真正学到了精髓。这个发现的实际意义不容小觑。现如今几乎所有的互联网搜索引擎、企业内部知识库检索、学术文献搜索背后都有稠密检索模型在工作。训练这些模型时如果采用分层抽样这个简单而免参数的方法来构建训练数据就能在不增加任何计算复杂度的情况下显著提升检索系统在各类场景下的准确度和鲁棒性。分层抽样本身的操作极为简单把教师模型的评分均匀切段每段取一个最接近中点的文档就行了不需要复杂的调度算法不需要课程学习也不需要动态调整任何超参数。这对于工业界的工程师来说是一个难得的低成本高回报的改进方案。当然这项研究也留下了一些值得继续探索的问题。实验中的候选池是人工构建的受控环境真实工业场景中的候选文档质量和分布可能更为复杂多变。分层抽样在更大规模、更多样化候选池中的表现如何以及是否可以与动态负样本挖掘等方法结合都是值得进一步研究的方向。你是否也在思考如果同时对候选池的构成方式也进行优化会带来多大的性能提升有兴趣深入了解实验细节和完整数据的读者可以通过arXiv编号2604.04734查阅这篇论文的全文。---QAQ1知识蒸馏在信息检索中具体是怎么工作的A知识蒸馏在信息检索中的工作方式是让一个精排能力强但计算慢的教师模型通常是交叉编码器给一批候选文档打分反映它对每篇文档与查询相关性的判断然后让一个速度快但精度稍低的学生模型稠密检索器学习模仿教师的这些打分结果。学生通过最小化自己与教师之间的分数差异用KL散度或MarginMSE等损失函数衡量逐渐习得教师的排序偏好从而在保持高速检索效率的同时尽可能接近精排模型的准确度。Q2分层抽样和随机抽样有什么本质区别A随机抽样是从候选文档中不加区分地随机选取运气好时可能碰巧覆盖整个分数范围运气不好时则可能集中在某一区间结果不稳定。分层抽样则是先将教师的评分范围均匀切成K段再从每段中各取一个最具代表性的文档保证每个分数区间都有且仅有一个代表结果完全确定、不依赖随机性。统计数据显示分层抽样的分数覆盖度0.990、熵1.523和标准差0.359均高于随机抽样且在实验中表现更稳定随K值变化时波动也更小。Q3为什么只用精排器打分最高的负样本训练会导致模型崩溃A精排器打分最高的负样本意味着这些文档与正样本非常接近彼此之间的分数差异极小。当使用MarginMSE这种需要拟合正负样本分数差值的回归型损失函数时这些几乎相同的分数差值会让模型陷入数值不稳定因为模型要从近乎为零的差值中学习有意义的排序信号极易出现梯度问题。在co-condenser模型搭配MarginMSE损失的实验中这种策略导致MRR10仅为0.006模型几乎完全失去了检索能力而分层抽样在同等条件下达到了0.307充分说明分数分布多样性对训练稳定性至关重要。