← 返回 2026-02-18

jina-embeddings-v5-text: 任务特定嵌入蒸馏 jina-embeddings-v5-text: Task-Targeted Embedding Distillation

Mohammad Kalim Akram, Saba Sturua, Nastia Havriushenko, Quentin Herreros, Michael Günther, Maximilian Werk, Han Xiao 📅 2026-02-17 👍 31 2026-07-13 08:35
信息检索 多语言 对比学习 嵌入模型 知识蒸馏

通过结合模型蒸馏和任务特定对比损失训练紧凑高性能嵌入模型

前置知识

嵌入模型(Embedding Models)

嵌入模型是将文本(如句子、段落或文档)映射到固定维度的稠密向量空间的神经网络模型。这些向量(嵌入)能够捕捉文本的语义信息,使得语义相似的文本在向量空间中距离较近。在信息检索系统中,嵌入模型作为第一阶段检索器,通过最近邻搜索快速找到与查询相关的文档。典型的架构是在Transformer模型基础上添加池化层,如Sentence-BERT所示。嵌入模型广泛应用于语义搜索、文本分类、聚类、推荐系统等场景,其质量直接影响下游任务的效果。

理解嵌入模型的基本原理是阅读本文的基础,因为本文的核心贡献就是训练更高效、更强大的嵌入模型。

知识蒸馏(Knowledge Distillation)

知识蒸馏是一种模型压缩技术,通过让一个较小的'学生'模型模仿一个较大的'教师'模型的行为来训练。在嵌入模型领域,蒸馏可以通过多种方式实现:直接对齐教师和学生的嵌入向量(特征蒸馏),或者对齐它们的相似度分数分布(分数蒸馏)。蒸馏的关键优势在于,学生模型可以从教师模型的丰富知识中学习,而无需从头开始在大规模数据上进行昂贵的训练。DistilBERT、MiniLM和TinyBERT都是语言模型蒸馏的经典案例。

本文提出的训练方法第一阶段就是基于嵌入蒸馏,理解蒸馏的机制对于把握本文的技术路线至关重要。

对比学习(Contrastive Learning)

对比学习是一种自监督或监督学习范式,其核心思想是通过拉近正样本对(语义相似的样本)的嵌入距离,同时推远负样本对(语义不相似的样本)的嵌入距离来学习高质量的表示。在嵌入模型训练中,InfoNCE是最常用的对比损失函数,它通过温度缩放的余弦相似度构建softmax分布进行优化。对比学习需要精心构造的负样本(hard negatives)才能取得良好效果,这些负样本通常是与查询语义相关但不正确的文档。

对比学习是本文训练方法中任务特定适配器训练阶段的核心组成部分,与蒸馏损失共同构成了本文的创新训练范式。

LoRA适配器(Low-Rank Adaptation)

LoRA是一种高效的参数微调技术,它通过在预训练模型的权重矩阵旁边添加低秩分解的旁路矩阵来实现任务特定的适应,而无需更新原始模型参数。在嵌入模型中,LoRA适配器可以为不同的任务(如检索、语义相似度、聚类、分类)训练独立的适配器,从而避免任务间的优化冲突。每个适配器通常包含一个秩为r的低秩矩阵,参数量远小于原始模型,使得多任务支持变得高效可行。

本文使用LoRA适配器来支持多个任务特定的嵌入生成,这是解决任务冲突问题的关键技术选择。

Matryoshka表示学习(Matryoshka Representation Learning)

Matryoshka表示学习是一种训练技术,它使得模型生成的嵌入向量在不同维度截断下都能保持良好的性能。就像俄罗斯套娃一样,高维嵌入中包含了低维嵌入的全部信息。在训练过程中,模型被优化为在多个维度(如256、512、768、1024)上都能产生高质量的嵌入。这使得用户可以根据计算资源和精度需求灵活选择嵌入维度,在存储效率和检索性能之间取得平衡。

本文的模型支持嵌入截断以提升下游效率,Matryoshka学习是实现这一特性的基础。

研究动机

当前文本嵌入模型的训练主要存在两个关键问题。首先,通用嵌入模型通常采用单阶段或多阶段的对比学习训练范式,这种方法在处理多任务场景时面临优化冲突的挑战。例如,检索任务需要区分查询和文档的非对称性,而语义相似度任务则需要对称编码,聚类任务又需要将相关文档聚集在一起——这些不同的优化目标很难在同一个模型中同时达到最优。其次,虽然知识蒸馏为训练小型高效模型提供了有效途径,但现有的蒸馏方法要么只关注嵌入对齐,要么只关注分数匹配,缺乏针对不同下游任务特性的定制化训练策略。此外,指令调优虽然可以缓解任务冲突,但需要额外的标注工作来为每个数据集设计最优指令,这增加了实际应用的成本和复杂性。在长文本处理方面,现有模型也往往表现不佳,因为训练数据通常由较短的文本对组成,导致模型在处理长文档时性能显著下降。

本文的目标是本文的具体目标是开发一种创新的训练方法,能够将知识蒸馏与任务特定对比损失有机结合,从而训练出既紧凑又高性能的多语言嵌入模型。具体而言,作者希望:(1)证明蒸馏训练在训练小型嵌入模型时优于纯粹的对比学习方法;(2)验证结合蒸馏和任务特定训练的混合方法能够进一步提升模型性能;(3)发布两个参数量分别为677M和239M的嵌入模型,使其在MTEB基准测试中达到或超过同等规模模型的最新性能水平;(4)确保模型支持长达32k tokens的长文本输入,并在30多种语言上表现稳健;(5)使生成的嵌入在截断和二进制量化下保持鲁棒性,适应实际部署中的资源限制场景。

与已有工作不同的是,本文的独特切入角度在于,它没有简单地将蒸馏和对比学习作为替代方案,而是创造性地将两者结合为一个两阶段的训练框架。第一阶段专注于通过嵌入蒸馏从大型教师模型(Qwen3-Embedding-4B)向小型学生模型转移通用语义知识,第二阶段则通过LoRA适配器针对不同任务类别(检索、语义相似度、聚类、分类)进行专门优化。这种设计的关键洞察是:不同任务需要不同的优化策略和损失函数组合,而通过冻结基础模型权重并训练独立的适配器,可以有效避免任务间的优化冲突。此外,作者对指令在蒸馏中的作用提出了独到见解——他们发现过多的指令信息反而会干扰蒸馏效果,因此在学生模型中只使用通用的查询/文档前缀,而在教师模型中使用通用指令,这种'最小指令'策略简化了训练流程的同时保持了性能。

核心方法

本文的方法可以比喻为一个'分阶段培养专家'的过程。第一阶段像是让一个学生跟随一位大师学习基本功——通过让小型学生模型(基于Qwen3-0.6B-Base或EuroBERT-210M)模仿大型教师模型(Qwen3-Embedding-4B)的嵌入输出,使学生掌握通用的语义理解能力。这个阶段不涉及任何特定任务,而是建立对文本语义的广泛理解。第二阶段则像是让已经打好基础的学生专攻不同领域——通过冻结基础模型权重,为检索、语义相似度、聚类和分类这四个任务类别分别训练独立的LoRA适配器。每个适配器使用最适合该任务特性的损失函数组合,例如检索适配器结合了对比损失、蒸馏损失和正则化损失,而语义相似度适配器则根据训练数据是否包含分数标注来动态切换损失函数。技术路线上,模型采用标准的Transformer架构,通过最后一token池化生成嵌入,并支持通过前缀(如'Query:'和'Document:')来区分查询和文档输入。为了支持长文本,模型使用了旋转位置编码(RoPE)并进行了特定的频率调整。

本文最核心的创新在于提出了一种'蒸馏初始化+任务特定适配'的两阶段训练范式,这与现有方法有本质区别。传统的纯对比学习方法试图在一个模型中同时优化所有任务,容易导致任务冲突;而纯蒸馏方法虽然可以传递教师模型的知识,但缺乏针对下游任务的精细调整。本文的方法巧妙地结合了两者优势:第一阶段的蒸馏提供了强大的通用语义表示作为起点,第二阶段的任务特定训练则通过独立的LoRA适配器为每个任务量身定制优化策略。这种设计的另一个关键创新是对指令使用的克制——作者发现,虽然教师模型训练时使用了详细的指令来提升性能,但在蒸馏过程中过多的指令信息反而会成为干扰。因此,他们让教师模型使用通用的默认指令(如'Given a web search query, retrieve relevant passages that answer the query'),而学生模型只使用简单的查询/文档前缀。这种'最小指令'策略不仅简化了训练流程,还使得蒸馏过程更加稳定和有效。

方法步骤详情

训练过程分为两个主要阶段。第一阶段是嵌入蒸馏,学生模型和教师模型同时处理文本对(q, d),生成两批嵌入。由于教师嵌入维度(m)通常高于学生嵌入维度(n),使用一个线性投影层将学生嵌入投影到教师空间。蒸馏损失是两组嵌入间余弦距离的和。这个阶段又分为通用训练(50,000步,使用300多个数据集、30多种语言的文本对)和长上下文训练(针对小模型的6,500步,使用1,000-4,096 tokens的文本对)。第二阶段是任务特定适配器训练,冻结基础模型权重,为每个任务类别训练独立的LoRA适配器。检索适配器使用三种损失的线性组合:InfoNCE对比损失(带硬负例)、蒸馏损失和全局正交正则化器(GOR)损失。语义相似度适配器根据数据是否有分数标注动态选择:有分数时使用CoSENT排序损失,无分数时使用InfoNCE和蒸馏损失的组合。聚类适配器使用聚类特定指令重新进行蒸馏训练。分类适配器将分类数据转换为三元组格式,使用双向对比损失。所有适配器训练完成后,对最后一个检查点与早期检查点的权重进行平均以提升鲁棒性。

技术新颖性

本文的技术新颖性体现在多个层面。首先,在训练范式上,将蒸馏和任务特定对比学习有机结合是首创,这不同于Jasper等方法仅在现有嵌入模型上进行微调,本文从预训练语言模型直接训练嵌入模型。其次,在蒸馏策略上,作者提出了'最小指令'原则,发现过多的指令信息在蒸馏过程中会产生干扰,这与通常认为更详细的指令会带来更好性能的直觉相反。第三,在投影层设计上,通过实验发现将学生投影到教师空间(而非反向投影)效果更好,并且训练投影层比冻结它能获得更好的最终性能。第四,在损失函数组合上,为不同任务设计了定制化的损失函数组合,例如检索适配器结合了对比损失、蒸馏损失和GOR正则化,而语义相似度适配器则根据数据特性动态切换损失函数。第五,在长文本处理上,通过调整RoPE的θ参数(训练时使用较低值,推理时使用较高值)来实现更好的频率插值,使模型能够处理远超训练时长度的文本。这些技术创新共同构成了一个完整而高效的训练框架。

jina-embeddings-v5-text的架构图
Figure 1: jina-embeddings-v5-text的架构图
不同训练目标的性能比较
Figure 3: 不同训练目标的性能比较
投影配置在S2ORC上的比较
Figure 4: 投影配置在S2ORC上的比较

实验结果

实验结果全面验证了本文方法的有效性。在多语言MTEB(MMTEB)基准测试中,jina-embeddings-v5-text-small(677M参数)在平均任务分数上达到67.0,平均类型分数达到58.9,在同等规模模型中表现最优。具体来看,它在分类任务上达到71.3,聚类任务达到53.4,多标签分类达到42.0(远超其他模型的20左右),检索任务达到64.9,语义相似度达到78.9。jina-embeddings-v5-text-nano(239M参数)同样表现出色,平均任务分数65.5,平均类型分数57.7,在参数量不到250M的模型中领先。在英语MTEB基准上,v5-small平均任务分数71.7,v5-nano达到71.0,均显著优于前代模型jina-v3(65.7)和其他同等规模模型。在检索专项基准测试中,v5-small在BEIR上达到56.67,RTEB上达到66.84,LongEmbed上达到66.39,在五个基准测试中的三个超越了参数量相同的Qwen3-0.6B。消融研究进一步证实了方法设计的合理性:嵌入蒸馏比分数蒸馏和InfoNCE在长期训练中表现更好;所有三个损失组件的组合在MTEB和RTEB上均取得最佳性能;GOR正则化显著提升了二进制量化鲁棒性,使性能下降从-3.08%减少到-1.90%。

基础模型和生成的嵌入模型的属性
Table 1: 基础模型和生成的嵌入模型的属性
多语言MTEB(v2)评估结果
Table 2: 多语言MTEB(v2)评估结果
检索适配器训练损失的评估
Table 5: 检索适配器训练损失的评估
GOR损失对量化鲁棒性的影响
Table 6: GOR损失对量化鲁棒性的影响
j-v5-text-small在MMTEB不同语言上的性能热力图
Figure 2: j-v5-text-small在MMTEB不同语言上的性能热力图
嵌入维度缩减下的MMTEB检索性能
Figure 5: 嵌入维度缩减下的MMTEB检索性能
查看结构化数据
任务指标本文基线提升
多语言MTEB平均任务分数 平均任务分数 j-v5-text-small: 67.0, j-v5-text-nano: 65.5 Qwen3-0.6B (instr.): 64.3, Gemma-300M: 61.1 v5-small比Qwen3-0.6B高2.7分,v5-nano比Gemma-300M高4.4分
英语MTEB平均任务分数 平均任务分数 j-v5-text-small: 71.7, j-v5-text-nano: 71.0 Qwen3-0.6B (instr.): 70.5, KaLM-mini-v2.5: 71.3 v5-small比Qwen3-0.6B高1.2分,v5-nano接近KaLM但参数量少一半
多语言MTEB多标签分类 准确率 j-v5-text-small: 42.0, j-v5-text-nano: 41.3 Gemma-300M: 24.8, Qwen3-0.6B (instr.): 24.6 提升约70%,远超所有其他模型
BEIR检索基准 nDCG@10 j-v5-text-small: 56.67, j-v5-text-nano: 56.06 Qwen3-0.6B: 55.52, snowflake-l-v2: 55.22 v5-small比Qwen3-0.6B高1.15分
RTEB多语言检索基准 nDCG@10 j-v5-text-small: 66.84, j-v5-text-nano: 64.08 Qwen3-0.6B: 64.21, voyage-4-nano: 70.36 v5-small比Qwen3-0.6B高2.63分,但低于voyage-4-nano

局限与改进

尽管本文模型取得了优异的性能,但仍存在一些局限性。首先,教师模型Qwen3-Embedding-4B(4B参数)的性能仍然显著优于学生模型,表明蒸馏过程中存在不可避免的信息损失,特别是在聚类任务上,KaLM-mini-v2.5(494M参数)的表现略优于本文模型。其次,模型在某些特定任务上的表现并不突出,例如在指令重排序(Instruction Reranking)任务上,本文模型得分仅为1.34,远低于Qwen3-4B的11.56和voyage-4-nano的5.61。第三,虽然模型声称支持32k tokens的长文本,但在LongEmbed基准测试中,其表现(66.39)仍明显低于教师模型(78.82)和专门针对长文本优化的voyage-4-nano(74.93)。第四,模型在二进制量化下虽然保持了相对较好的鲁棒性(性能下降约2-3%),但绝对性能仍然有明显下降,这可能影响在极端资源受限场景下的应用。此外,作者承认训练数据主要由较短的文本对组成,尽管进行了长上下文训练,但模型对超长文档的理解能力可能仍然有限。

独立分析的弱点

从独立分析的角度来看,本文存在几个值得关注的弱点。首先,在蒸馏策略上,作者采用的'最小指令'原则虽然简化了训练流程,但可能牺牲了模型利用细粒度任务信息的能力。实验显示,当Qwen3-0.6B使用任务特定指令时(instr.版本),其在分类任务上的表现(84.6)显著优于使用通用指令的版本(72.0),这表明任务特定信息是有价值的。改进方向可以是探索一种渐进式的指令引入策略——在蒸馏初期使用最小指令,在后期逐步引入任务特定信息。其次,在长文本处理上,模型虽然进行了专门的长上下文训练,但其LongEmbed性能(66.39)仍显著低于教师模型(78.82),这表明当前的RoPE频率调整策略可能不够充分。可以考虑采用更先进的长文本建模技术,如滑动窗口注意力或层次化编码。第三,在任务特定适配器训练中,聚类适配器需要重新进行蒸馏训练(使用聚类特定指令),这增加了训练复杂性和计算成本。可以探索是否可以通过设计更通用的损失函数或使用多任务学习框架来避免这种重复训练。第四,模型在多标签分类任务上的优异表现(42.0 vs 其他模型的20左右)可能部分归因于训练数据的特殊性,需要进一步验证这种优势是否能在更广泛的真实场景中保持。

未来方向

基于本文的成果,未来研究可以在多个方向展开。首先,可以探索更高效的蒸馏方法,例如使用多个教师模型进行集成蒸馏,或者设计动态的蒸馏策略,根据学生模型的学习进度自适应调整教师的指导强度。其次,可以研究如何将本文的两阶段训练范式扩展到更多任务类型,如重排序、问答匹配、代码检索等,这需要设计新的任务特定损失函数和适配器架构。第三,可以探索更先进的参数高效微调方法,如Adapter、Prefix Tuning或(IA)³,与LoRA进行比较,找到最适合嵌入模型任务适应的技术。第四,可以研究如何进一步提升模型在极端长文本(如100k tokens以上)上的性能,这可能需要结合检索增强生成(RAG)的思想,将长文档分块处理并聚合嵌入。第五,可以探索本文方法在多模态嵌入模型上的应用,将文本嵌入蒸馏扩展到图像-文本对齐等场景。最后,可以研究如何进一步提升模型在二进制量化下的性能,例如通过量化感知训练或更先进的正则化技术。

复现评估

本文的复现条件相对较好,为后续研究提供了便利。作者已经公开发布了两个模型的权重(jina-embeddings-v5-text-small和jina-embeddings-v5-text-nano)在Hugging Face上,并提供了即用型的集成方案,包括与Sentence Transformers和vLLM的兼容性,以及针对llama.cpp的量化版本。训练数据方面,作者使用了公开可得的数据集,包括S2ORC、STS基准数据集、标准分类数据集等,这降低了复现的数据获取门槛。算力需求方面,根据附录中的超参数表,第一阶段蒸馏训练需要8个GPU,batch size为512,训练50,000步,这对于学术研究机构是可承受的。第二阶段适配器训练在单个GPU上即可进行,batch size为64-256。然而,完全复现仍面临一些挑战:(1)教师模型Qwen3-Embedding-4B本身是一个4B参数的大模型,需要相当的推理资源;(2)训练数据虽然公开,但作者使用了超过300个数据集的数据混合,完整复现需要大量的数据预处理工作;(3)一些关键的超参数(如损失函数权重、温度参数等)虽然在附录中提供,但可能需要针对不同硬件和数据分布进行调整。总体而言,复现难度中等,具备GPU资源的研究团队应该能够基于本文的描述进行复现。