“ 前些天 Qwen3 冷不丁的发布了 Embedding 让人惊喜。已经有小伙伴做了自己业务上的测试,据说挺好用,一起看看它的技术报告吧。”
大家好,我是肆〇柒。上网的各位,对网络搜索一定不陌生,当下每天都会有数十亿次查询涌向各大搜索引擎,希望搜索有价值的内容;而在 AI 的 RAG 问答系统里,智能助手努力剖析问题的核心语义,以便从知识库中提炼出贴合需求的答案;推荐系统的背后,算法辛勤运算,试图从用户的行为数据中挖掘偏好,推送最契合兴趣的资讯、商品或影视作品。这些场景都离不开文本嵌入与重排序技术的有力支撑。
而在当下,全球化加速推进,多语言信息处理需求也日益增长,当我们在使用 AI 系统处理资料的时候不可避免的会遇到外文、中文等混合素材的情况。然而,在多语言环境下,文本的语义理解难度不小。不同语言的语法结构、词汇用法、文化内涵千差万别,这让模型很难精准把握其内在含义。同时,检索结果的准确性和相关性难以保证,比如搜索一个专业术语,可能因为语言表达的细微差异,导致返回的资料与实际需求大相径庭。此外,模型的泛化能力也面临严峻考验,能否在一个语言或领域的数据上表现出色后,迅速适应其他全新场景,是衡量模型强弱的关键。
前些天,Qwen3 Embedding 发布,目前周围的小伙伴中,已经有人测试过了。它相较于前代 GTE-Qwen 系列,在多语言处理上更加游刃有余,能够精准解析和生成上百种语言的文本,在复杂指令遵循方面表现出色。它能够准确理解诸如 “请从这段科技报道中提取出所有涉及人工智能技术突破的关键信息,并用表格形式呈现” 等复杂指令,为用户提供更直观、精准的结果。这些优势使其在应对多语言文本处理和复杂指令遵循等挑战时,展现出巨大的潜力和价值。下面一起看看它的技术报告,了解一下是怎样做到的。
模型架构
Qwen3 嵌入和重排序模型是基于 Qwen3 基础模型的Dense版本精心构建的。该系列提供了三种不同参数规模的模型,分别为 0.6B、4B 和 8B 参数。这种多样化的模型配置赋予了其在不同应用场景中极高的灵活性和适应性。对于资源受限的边缘设备或对实时性要求极高的在线服务,0.6B 模型能够在保证一定性能的前提下,实现快速部署和高效运行;而 4B 和 8B 模型可在大规模数据中心驱动的复杂任务中适用,如处理海量多语言文档的语义分析和精准检索,凭借其庞大的参数量和强大的计算能力,深入挖掘文本深层含义,提供高度精准的结果。

此图展示了 Qwen3 嵌入模型和重排序模型的架构,左边是嵌入模型的结构,右边是重排序模型的结构,直观地呈现了两种模型的设计和组成。
嵌入模型
Qwen3 基础模型的Dense版本在多语言文本处理方面进行了深度优化。它采用了先进的多语言预训练策略,涵盖了全球主要语言和众多小语种,通过在海量多语言语料上进行联合训练,使模型能够充分学习到不同语言之间的共性和特性。在长文本建模方面,该模型也表现出色。它巧妙地利用了因果注意力机制,让模型在处理长文本序列时,能够有效地捕捉到文本的长期依赖关系。模型在处理一个长文本输入时,每个位置的隐藏状态不仅依赖于前面的文本信息,还能通过因果注意力机制合理地关注到后续相关信息(在一定范围内),从而更精准地生成嵌入向量。
为了实现对多语言文本和复杂指令的灵活处理,模型采用了一种巧妙的输入拼接策略。在处理查询(query)时,将指令(instruction)与查询拼接为一个单一的输入上下文,而文档(document)保持不变。例如,当需要对一篇英文文档进行语义分析,并按照特定的指令提取关键信息时,输入格式为:“{instruction} {query} <|endoftext|>”,这样模型就能充分理解指令要求,并精准地对查询和文档进行处理,生成符合任务需求的嵌入向量。
重排序模型
重排序模型在实现上采用了 LLM 进行点式重排序。其核心原理是利用 LLM 强大的语言理解和生成能力,对文本对(query-document 对)进行精细的相关性评估。为了使模型具备出色的指令遵循能力,输入上下文中包含了指令信息。模型使用 LLM 聊天模板,将文本相似度评估任务框架为一个二元分类问题。具体操作流程如下:
首先,构建输入模板,如下所示:
<|im_start|>system Judge whether the Document meets the requirements based on the Query and the Instruct provided. Note that the answer can only be “yes” or “no”.<|im_end|>
→ → <|im_start|>user <Instruct>: {Instruction} <Query>: {Query} <Document>: {Document}<|im_end|> <|im_start|>assistant <think>nn</think>nn
当需要评估一个文档是否符合查询和指令要求时,将相应的指令、查询和文档填入模板中。模型会根据输入内容,经过内部的复杂推理和计算,输出 “yes” 或 “no” 的判断结果。这个过程就像是让模型在仔细阅读了用户的指令、查询意图以及文档内容后,给出一个明确的是否相关的答复。例如,在一个新闻推荐场景中,如果指令是 “找出与人工智能技术突破相关的最新新闻报道”,查询是 “深度学习新进展”,而文档是一篇关于区块链技术应用的文章,模型经过评估后会输出 “no”,从而将不相关的文档排除在推荐列表之外。
模型训练
训练目标
对于嵌入模型,其训练目标是学习文本对之间的语义相似性。采用基于 InfoNCE 框架改进的对比损失函数来优化模型。损失函数的数学表达式如下:
其中,N 表示一个批次中的训练实例数量;s(·, ·) 是相似度函数,这里采用余弦相似度来计算查询(q)和正文档(d+)之间的相似度;τ 是温度参数,用于控制相似度分数的分布。Zi 是归一化因子,包含正样本对与各种负样本对的相似度总和,具体计算方式为:
这里,K 表示硬负样本的数量;d− i,k 表示第 i 个查询的第 k 个硬负样本文档;其他项分别表示与批次内其他查询、正文档和负文档的相似度。为了减轻假负样本的影响,引入了掩码因子 mij,其定义为:
其中,sij 表示对应的 qi, dj 或 qi, qj 的相似度分数。
对于重排序模型,训练目标是提升模型对文本相关性的判断准确性,使其能够为正确的标签分配更高的概率。采用监督微调(SFT)损失函数进行优化,数学表达式为:
其中,p(·|∗) 表示由 LLM 给出的概率分布,l 是标签,“yes” 表示正文档,“no” 表示负文档。这个损失函数会引导模型学习到正确的文本相关性判断模式,从而提高重排序的性能。
多阶段训练方法
多阶段训练方法在文本嵌入模型的训练中得到了广泛应用。其普遍优势在于,先通过大规模、包含噪声的弱监督数据进行初始训练,使模型能够学习到文本的通用特征和模式,从而增强模型的泛化能力;然后利用小型、高质量的监督数据集进行微调,进一步提升模型在特定任务上的性能。这种两阶段的训练策略能够充分利用不同类型的数据资源,既保证了模型的广泛适用性,又确保了在具体应用场景中的有效性。

上图展示了 Qwen3 嵌入和重排序模型的训练流程,包括多阶段训练的各个环节,如弱监督预训练、监督微调和模型合并等步骤,帮助读者理解模型的训练过程。
Qwen3 Embedding 系列在多阶段训练框架的基础上,引入了以下独特创新:
1.大规模合成数据驱动的弱监督训练
传统的弱监督训练数据主要从开源社区收集,如问答论坛、学术论文等。然而,这种方法存在数据质量参差不齐、难以控制数据多样性和针对性不足等问题。Qwen3 Embedding 系列另辟蹊径,利用基础模型强大的文本理解和生成能力,直接合成训练所需的成对数据。这种方法的优势在于,可以自定义多种维度的数据特征,如任务类型(检索、分类、相似度评估等)、语言种类(英语、中文、法语等)、文本长度(短文本、长文本等)和难度级别(简单、中等、困难等)。通过精心设计的合成提示(prompt),模型能够生成符合特定要求的高质量训练数据。例如,在生成用于检索任务的文本对时,可以指定查询类型为关键词查询、事实性查询等,文档长度为 100 字左右,语言为西班牙语等,从而为模型训练提供精准、多样化的数据支持。这些合成数据为后续的监督微调奠定了坚实基础,使模型在大规模数据处理和多语言、多领域适应性方面表现出色。
2.在监督微调中利用高质量合成数据
由于 Qwen3 基础模型的卓越性能,合成数据的质量得到了显著提升。在监督微调阶段,适当引入这些高质量合成数据,能够进一步优化模型的性能。这些数据有助于模型在多语言处理方面,更好地理解不同语言的语法、语义和文化差异。例如,在处理一些低资源语言时,合成数据可以提供丰富的语料,帮助模型学习到该语言的关键特征。在复杂指令遵循方面,合成数据中的多样化指令和对应的高质量文本对,能够让模型更精准地理解指令意图,并生成符合要求的输出。这种结合真实标注数据和高质量合成数据的训练方式,使得模型在各种任务中都能取得优异的性能表现。
3.模型合并
模型合并是 Qwen3 Embedding 系列提升模型鲁棒性和泛化性能的关键技术。在监督微调过程中,会保存多个模型检查点。这些检查点模型在不同数据分布和任务上表现出各自的优点和不足。采用基于球面线性插值(slerp)的技术,将这些检查点模型进行合并。球面线性插值是一种在高维空间中保持向量长度不变的插值方法,适用于模型参数的融合。通过这种方式,合并后的模型能够继承各个检查点模型的优势,增强其对不同数据分布的适应性。例如,在处理多语言文本时,模型合并可以使模型更好地平衡不同语言之间的语义特征,避免在某些语言上表现过强而在其他语言上表现不佳的情况。在面对复杂指令时,也能更灵活地切换和融合不同指令处理模式,提高整体的执行效果。
球面线性插值(slerp)技术的具体算法步骤和数学原理如下:
球面线性插值的核心思想是在高维向量空间中,沿着两个向量之间的最短弧线进行插值,从而保持插值向量的长度不变。对于两个单位向量 v 和 w,以及插值参数 t(0 ≤ t ≤ 1),球面线性插值的计算公式为:
其中,θ 是向量 v 和 w 之间的夹角,可以通过点积计算得到:
在实际应用中,模型的参数通常不是单位向量,因此需要先对参数进行归一化处理。对于模型检查点中的参数向量 p1 和 p2,首先计算它们的范数:
然后对参数向量进行归一化:
接着计算归一化向量之间的夹角 θ:
最后,根据插值参数 t,计算插值后的向量:
通过调整插值参数 t,可以平衡不同模型检查点参数的权重,从而实现模型性能的优化。例如,在合并多个模型检查点时,可以根据每个检查点在验证集上的表现来确定插值参数 t,使得合并后的模型在验证集上取得最佳性能。

超参数设置
在预训练阶段,超参数设置对模型训练效果有着至关重要的影响。以下是 Qwen3 Embedding 系列在预训练阶段的一些关键超参数设置及其影响分析:
-
1. 学习率 :学习率决定了模型在训练过程中参数更新的步长。Qwen3 Embedding 系列在预训练初期采用较小的学习率(如 1e-5),以确保模型能够稳定地学习到文本的基本特征和模式。随着训练的进行,逐渐增加学习率至 1e-4 左右,以加快模型收敛速度,使模型能够更有效地学习到复杂的语义关系和任务特定特征。如果学习率设置过大,可能导致模型在训练过程中发散,无法收敛;而学习率过小则会使训练过程过于缓慢,增加训练时间成本。 -
2. 批量大小 :批量大小指的是每次训练迭代中模型处理的数据样本数量。在弱监督预训练阶段,由于数据量庞大且包含一定的噪声,通常采用较大的批量大小(如 2048)。这有助于模型在大规模数据上学习到通用的文本特征,同时利用批量数据的多样性来增强模型的泛化能力。在监督微调阶段,考虑到数据标注成本和数据质量较高,批量大小适当减小至 512 左右。这样可以使模型在每个小批量数据上更精细地学习任务特定的模式和细节,避免因批量过大而导致模型对数据中的噪声过于敏感。 -
3. 训练轮数 :训练轮数决定了模型在训练数据上学习的次数。对于弱监督预训练阶段,模型通常需要进行较多的训练轮数(如 10 轮),以充分挖掘大规模弱监督数据中的潜在信息,使模型能够学习到丰富的语义知识和语言模式。在监督微调阶段,由于数据规模相对较小且标注质量较高,训练轮数相对较少(如 3 - 5 轮),以防止模型过拟合,同时确保模型能够快速适应特定任务的要求。
超参数选择的原则和经验如下:
-
• 基于任务类型和数据特点调整超参数 :对于大规模的弱监督预训练任务,由于数据量大且多样性丰富,较大的学习率和批量大小有助于模型更快地学习到通用特征。而对于小规模的监督微调任务,较小的学习率和批量大小更有利于模型在特定任务上的精细调整。 -
• 参考已有研究成果和实践经验 :在设定超参数时,可以参考在类似任务和数据集上取得良好效果的模型所使用的超参数配置。例如,对于基于 Transformer 架构的文本嵌入模型,在预训练阶段学习率通常在 1e-5 至 1e-4 之间,批量大小在 1024 至 4096 之间,训练轮数在 5 至 20 轮之间。这些经验值可以作为初始设置的参考,然后根据具体模型和任务进行适当调整。 -
• 通过实验和验证进行超参数优化 :最终,超参数的选择需要通过实验和验证来确定。可以采用网格搜索、随机搜索或贝叶斯优化等方法,在验证集上评估不同超参数组合下的模型性能,选择使模型在验证集上表现最佳的超参数配置。例如,在每次调整学习率、批量大小或训练轮数后,重新训练模型并在验证集上计算准确率、损失值等指标,观察这些指标的变化趋势,从而找到最优的超参数组合。
数据分布特点及影响
不同训练阶段的数据分布特点对模型训练有着显著的影响:
-
1. 弱监督数据的噪声水平 :弱监督数据通常是从大规模未标注或弱标注的数据中获取的,包含一定水平的噪声。例如,在利用 Qwen3 基础模型合成的弱监督数据中,可能会存在一些语义不相关或标签不准确的文本对。然而,这种噪声数据在一定程度上反映了真实世界中的文本多样性和复杂性。模型在学习过程中能够接触到各种类型的文本特征和模式,从而增强其泛化能力。例如,当模型在弱监督数据上学习到一些具有噪声的文本特征时,它在处理真实场景中的模糊查询或不规范文本时,能够更灵活地调整和适应,避免因数据过于干净而导致的过拟合问题。同时,通过合理控制弱监督数据的质量和噪声水平,如采用适当的过滤机制和数据清洗策略,可以平衡噪声带来的正负面影响,使模型在泛化能力提升的同时,保持对核心语义的准确理解。 -
2. 监督数据的标注质量 :监督微调数据通常经过人工标注或高置信度的自动标注方法生成,具有较高的标注质量。这些数据为模型提供了明确的监督信号,使其能够在特定任务上进行针对性的优化。例如,在经过精心标注的文本分类数据集上,模型可以学习到不同类别文本的关键特征和语义模式,从而在分类任务中取得更高的准确率。高质量的监督数据还能帮助模型纠正其在弱监督训练阶段可能学习到的一些错误模式或偏差。例如,如果在弱监督数据中某些类别的文本被错误地关联了特定的语义特征,监督数据可以提供正确的语义标签,引导模型重新调整这些特征与类别的映射关系,从而提高模型在相关任务上的性能表现。
模型合并算法流程
模型合并时的具体算法流程如下:
-
1. 收集和筛选模型检查点 :在监督微调过程中,定期保存模型的检查点。这些检查点记录了模型在不同训练阶段的参数状态。为了确保合并后的模型性能,需要对这些检查点进行筛选。筛选标准可以基于模型在验证集上的性能指标,如准确率、损失值等。例如,选择在验证集上准确率较高的前几个检查点作为合并的候选模型。同时,考虑模型检查点的多样性,避免选择过于相似的模型,以确保合并后的模型能够融合不同的优势特征。 -
2. 计算插值权重 :根据每个模型检查点在验证集上的表现,计算其插值权重。插值权重反映了每个检查点对最终合并模型的贡献程度。一种常见的计算方法是基于模型的验证性能进行加权,例如,将模型在验证集上的准确率归一化后作为其插值权重。假设我们有 k 个模型检查点,其在验证集上的准确率分别为 a1, a2, ..., ak,则归一化后的插值权重 wi 为: -
3. 进行参数融合 :根据计算得到的插值权重,对各个模型检查点的参数进行加权融合。对于模型的每个参数向量 p,合并后的参数向量 p_merged 计算如下:
其中,pi 表示第 i 个模型检查点对应的参数向量,wi 是其插值权重。在实际代码实现中,可以根据上述公式对每个参数向量进行逐元素的加权求和操作,从而得到合并后的模型参数。

上表展示了 Qwen3 嵌入模型的架构细节,包括不同模型的参数规模、层数、序列长度、嵌入维度等,以及是否支持自定义嵌入维度(MRL Support)和是否支持根据任务定制输入指令(Instruction Aware),帮助读者了解模型的配置和特性。
量化分析合成数据效果
实验数据对比
在文本检索任务中,以 MMTEB 评估基准为例,在使用合成数据前,模型在多语言文本检索任务上的平均准确率为 65.2%,召回率为 58.7%,F1 值为 61.8%。而在引入合成数据后,模型的平均准确率提升至 70.58%,召回率提高至 64.3%,F1 值达到 67.3%。这表明合成数据有效增强了模型对不同语言文本语义的理解能力,使其能够更精准地检索出与查询相关的文档。
在分类任务中,在使用合成数据前,模型在 CMTEB 数据集上的分类准确率为 66.3%,而在使用合成数据后,准确率提升至 72.26%。例如,在中文文本分类任务中,模型对一些具有复杂语义和隐含意图的文本分类效果显著改善,能够更准确地识别文本所属类别,减少了因语义模糊或表达差异导致的分类错误。
在语义文本相似性(STS)任务中,模型在使用合成数据前,在 MTEB(英语,v2)数据集上的相关性得分仅为 48.7%,而在使用合成数据后,得分提高至 51.56%。这说明合成数据有助于模型更深入地理解文本的语义相似性,准确判断不同文本之间的语义关联程度,从而在语义相似性评估任务中取得更好的表现。
上表展示了 Qwen3-Embedding-0.6B 模型在不同训练设置下的性能表现,包括仅使用合成数据、不使用弱监督训练以及最终训练设置等情况下的平均任务得分,直观地体现了合成数据对模型性能提升的效果。
贡献比例分析
合成数据在提升模型多语言处理能力和复杂指令遵循能力方面发挥了重要作用。
在多语言处理能力方面,合成数据对模型在低资源语言上的性能提升起到了关键作用。通过对多种低资源语言(如斯瓦希里语、马拉雅拉姆语等)的实验分析发现,合成数据使模型在这些语言上的文本检索准确率平均提升了 15.3%。这是因为合成数据在生成过程中,特别关注了对低资源语言的覆盖和语料扩充。例如,在合成数据时,通过精心设计的提示策略,模拟了不同低资源语言的文本特征和语义模式,生成了大量的低资源语言文本对。这些数据为模型提供了丰富的低资源语言语料,使其能够学习到这些语言的关键语义特征和表达习惯,从而在处理低资源语言文本时表现得更加出色。
在复杂指令遵循能力方面,合成数据中的多样化指令和文本对对模型性能提升贡献显著。实验表明,合成数据使模型在复杂指令遵循任务中的指令理解准确性提高了 22.7%。例如,在 FollowIR 数据集上,模型对一些涉及多步操作和多种条件筛选的复杂指令,如 “请找出近五年内发表的关于人工智能在医疗领域应用的、包含实验结果且研究对象为老年人的学术论文”,能够更精准地解析指令意图,并根据指令要求筛选出符合标准的文本。这是因为合成数据中的指令涵盖了各种类型和复杂度,包括关键词查询、知识获取、总结、判断等。模型在学习这些多样化指令和对应的文本对时,逐渐建立起对指令语义的深刻理解,能够更灵活地应对不同类型的复杂指令,提高了指令遵循的准确性和灵活性。
深入理解评估结果
表现差异原因
Qwen3 Embedding 模型在不同基准测试上的表现差异反映了其在不同任务和数据集上的优势与局限性。
在代码检索任务中,Qwen3 Embedding 模型表现优异,如在 MTEB-Code 数据集上,Qwen3-Embedding-8B 模型的平均精度达到了 80.68%。这主要是因为模型在训练过程中充分学习到了代码的语义特征和结构模式。代码文本通常具有特定的语法结构和语义规范,如函数定义、变量声明、控制语句等。Qwen3 Embedding 模型通过在大规模代码相关数据上进行训练,能够深入理解代码的这些特征,准确地对代码片段进行语义建模。例如,它能够识别出不同代码片段中相似的功能逻辑,即使这些代码片段在表面形式上有所不同。这种对代码语义的精准把握使其在代码检索任务中能够快速、准确地匹配查询代码和文档代码,提供高质量的检索结果。

然而,在某些特定领域的专业术语理解方面,模型可能存在不足之处。例如,在处理一些高度专业化的医学或法律文本时,模型对其中的专业术语理解不够准确,导致在相关任务上的性能表现不如其他领域。这主要是因为训练数据在这些特定领域的覆盖不足。虽然 Qwen3 Embedding 模型在多语言和多领域数据上进行了广泛的训练,但某些专业领域的语料相对较少,模型无法全面学习到这些领域中专业术语的语义特征和使用场景。这使得在面对这些领域文本时,模型可能会出现语义理解偏差或不准确的情况,从而影响其在相关任务上的性能表现。
与其他模型对比
将 Qwen3 Embedding 系列的评估结果与其他模型进行对比,可以更清晰地看到其独特优势。
在多语言文本检索任务中,Qwen3 Embedding 模型相较于其他开源模型(如 GTE、E5、BGE 系列)和商业 API 服务(如 OpenAI 的 text-embedding-3-large、Google 的 Gemini-embedding),展现出更强的语义理解和跨语言匹配能力。例如,在 MMTEB 评估中,Qwen3-Embedding-8B 模型在多语言文本检索任务上的平均任务得分为 70.58,而其他开源模型如 BGE-M3 的得分仅为 62.04,商业 API 服务 Gemini-Embedding 的得分为 68.37。这表明 Qwen3 Embedding 模型能够更精准地理解不同语言文本的语义含义,建立跨语言文本之间的有效关联,从而在多语言文本检索任务中提供更高质量的检索结果。


在复杂指令遵循任务中,Qwen3 Embedding 模型的指令理解能力和文本处理灵活性更具优势。例如,在 FollowIR 数据集上,Qwen3-Embedding-8B 模型的得分为 8.05,而其他模型如 NV-Embed-v2 的得分仅为 5.34。这说明 Qwen3 Embedding 模型能够更准确地解析复杂指令中的各种要求,如涉及多步操作、多种条件筛选和特定格式输出等,并根据指令要求灵活地对文本进行处理和生成,满足用户在复杂应用场景中的需求。

上表展示了 Qwen3 嵌入模型在 MTEB 多语言评估基准上的性能表现,与其他模型进行了对比,包括多语言文本检索、分类、聚类等任务的平均任务得分和平均类型得分,直观地体现了 Qwen3 Embedding 模型在多语言任务中的优势。


总结
Qwen3 Embedding 系列凭借其强大的多阶段训练流程,在多种文本嵌入和重排序任务中展现出卓越性能。它在多语言处理方面表现出色,无论是主流语言还是资源相对匮乏的小语种,都能提供高质量的检索和理解服务。例如,在非洲小语种的文本检索任务中,Qwen3 Embedding 模型能够准确理解文本含义,快速定位相关文档,极大地提升了跨语言信息共享的效率。此外,在代码检索任务中,其对代码语义的深入理解能力使其成为开发者不可或缺的得力助手,能够快速从海量代码库中找到所需的代码片段或相关函数,加快软件开发进度。在复杂指令遵循方面,Qwen3 Embedding 能够精准解析用户下达的复杂指令,按照用户的指令要求对文本进行处理和生成,满足用户在复杂应用场景中的需求。
更值得一提的是,Qwen3 Embedding 和 Qwen3-Reranker 模型在 Apache 2.0 许可证下开源,这为全球的研究人员和开发者提供了一个强大的工具。文本嵌入与重排序技术在当下AI应用落地的RAG场景下是非常常见的技术。而 Qwen3 Embedding 系列的发布,是技术上的重大贡献。期望 Qwen 随着技术的不断进步和开源社区的共同努力,Qwen 系列的 Embedding 模型可以得到不断进化和完善。