冻结分块向量上再训小编码器,长文档检索训练成本降约万倍

REIGN: Refurbished Embeddings with Integrated Guidance Networks for Efficient Context-Length Scaling

Devrim Çavuşoğlu, Emre Akbaş

EMNLP 2026

cs.CL, cs.AI, cs.IR

2026-08-31

REIGN在冻结分块向量上训小编码器,缓存后训练成本降约四个数量级;55M模型在GoodWiki-Long上nDCG@10为67.31,专利任务上与大1.6到4.3倍的稠密检索器统计打平。

这篇在解决什么

长文档稠密检索卡在token级注意力上:序列一长,平方代价就把微调打穿。现有长上下文嵌入模型靠RoPE外推、稀疏注意力或把十亿参数LLM拉成embedder,才摸到8K到32K。文档对文档检索还缺一件东西:带难负例、长度够用的对比学习数据。短句MTEB解决不了这件事。

方法

REIGN把预训练文本嵌入模型当成冻结的Guidance Network,例如GTE或E5。文档按GN窗口切块,默认512 token,GN输出缓存成HDF5。可训练部分是一个没有位置编码的小Transformer,在分块向量序列上做置换等变聚合,再平均池化成文档向量。单块输入(短于一个窗口)直接走裸GN,因为跨块编码器在N=1时无事可做,短文本MTEB上还会落后5到7个nDCG@10。

训练用三路余弦损失,正例是GPT-4o-mini改写的长维基,部分匹配是注入的主题干扰项,权重λ=0.5,其余batch内样本当负例。这篇同时放出GoodWiki-Long-Synthetic:17854条长查询,语料53562篇,查询侧中位约5817 token。编码器默认base-l3,约22M,叠上GN后总参数从55M到357M。

结果

GoodWiki-Long测试集上,稀疏方法因改写对仍有词汇重叠而领先,BM25的nDCG@10是76.82。稠密模型里,REIGN+GTE-small共55M打到67.31,略过568M的BGE-M3的67.21,高出Jina-v3的63.93和Stella-1.5B的63.66约3.4到3.7点,也高出分块GTE-large的65.94。分块均值池相对截断能抬1.7到2.7点,跨块编码器再加0.7到2.2,小GN上增益最大。把GN从33M加到335M,REIGN的nDCG@10几乎不再涨。

零样本LoCo上,分块GTE-small已有68.20宏平均nDCG@10,超过BGE-Large的56.5、Ada-002的63.2、Jina-v2的67.2。加上REIGN到55M,宏平均68.92。REIGN+GTE-large共357M到70.77,距大约20倍大的E5-Mistral的71.4只差0.65。可裸GTE-large分块均值已经71.38,REIGN在GTE-base和GTE-large上分别掉0.38和0.61。增益集中在必须跨块聚合证据的子任务,法律类词重叠任务两边都弱。

专利检索DAPFAM上,只在维基上训过的REIGN+GTE-large拿到33.10 nDCG@100,相对分块GTE-large的32.43高0.67,和572M的Jina-v3、1.54B的Stella在配对检验里分不开。跨IPC正例所有系统都困在大约5分,是数据集对比太弱,不是模型独有的洞。在DAPFAM上继续微调没有超过零样本,最好一次从32.68到32.73。

缓存GN之后,RTX 4090上查询只要0.40到0.52毫秒,现场跑GN是19.8到118.2毫秒。论文把单篇训练成本相对分块Transformer微调写成大约四个数量级。

为什么重要

文档对文档、证据散在多块里时,冻结分块向量再训一个22M编码器,是比拉长LLM窗口便宜得多的杠杆。55M配置已经能在合成长文和专利上跟大一个数量级的稠密模型抢均值。部署上应把它当长文档通道,短query仍走原来的GN。LoCo说明这件事有任务条件:查询到段落、且块内均值已经饱和时,再叠编码器可能减分。

局限与存疑

优势是参数效率和训练代价,不是绝对精度。GoodWiki-Long正例是改写蒸馏,BM25因词汇重叠照样第一,这个基准会偏爱词面能对上的系统。DAPFAM相对Jina和Stella的优势统计不显著,而且对分块GTE-large来说REIGN参数还多一点。短文本掉5到7点是结构决定的。法律长文把信号放在词重叠上,嵌入级聚合会把这笔信息扔掉。换GN要重训编码器,缓存也不能复用。位置编码消融和主实验的训练配方并不相同。

术语

原文与代码

社区讨论

相关论文

全部论文解读