微信扫码
添加专属顾问
我要投稿
掌握Qwen3在多语言文本处理中的革新技术。 核心内容: 1. Qwen3 Embedding技术报告概览 2. 多语言处理与复杂指令遵循的技术挑战 3. Qwen3模型架构与参数规模的多样化应用
“ 前些天 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>\n\n</think>\n\n
当需要评估一个文档是否符合查询和指令要求时,将相应的指令、查询和文档填入模板中。模型会根据输入内容,经过内部的复杂推理和计算,输出 “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 系列在多阶段训练框架的基础上,引入了以下独特创新:
传统的弱监督训练数据主要从开源社区收集,如问答论坛、学术论文等。然而,这种方法存在数据质量参差不齐、难以控制数据多样性和针对性不足等问题。Qwen3 Embedding 系列另辟蹊径,利用基础模型强大的文本理解和生成能力,直接合成训练所需的成对数据。这种方法的优势在于,可以自定义多种维度的数据特征,如任务类型(检索、分类、相似度评估等)、语言种类(英语、中文、法语等)、文本长度(短文本、长文本等)和难度级别(简单、中等、困难等)。通过精心设计的合成提示(prompt),模型能够生成符合特定要求的高质量训练数据。例如,在生成用于检索任务的文本对时,可以指定查询类型为关键词查询、事实性查询等,文档长度为 100 字左右,语言为西班牙语等,从而为模型训练提供精准、多样化的数据支持。这些合成数据为后续的监督微调奠定了坚实基础,使模型在大规模数据处理和多语言、多领域适应性方面表现出色。
由于 Qwen3 基础模型的卓越性能,合成数据的质量得到了显著提升。在监督微调阶段,适当引入这些高质量合成数据,能够进一步优化模型的性能。这些数据有助于模型在多语言处理方面,更好地理解不同语言的语法、语义和文化差异。例如,在处理一些低资源语言时,合成数据可以提供丰富的语料,帮助模型学习到该语言的关键特征。在复杂指令遵循方面,合成数据中的多样化指令和对应的高质量文本对,能够让模型更精准地理解指令意图,并生成符合要求的输出。这种结合真实标注数据和高质量合成数据的训练方式,使得模型在各种任务中都能取得优异的性能表现。
模型合并是 Qwen3 Embedding 系列提升模型鲁棒性和泛化性能的关键技术。在监督微调过程中,会保存多个模型检查点。这些检查点模型在不同数据分布和任务上表现出各自的优点和不足。采用基于球面线性插值(slerp)的技术,将这些检查点模型进行合并。球面线性插值是一种在高维空间中保持向量长度不变的插值方法,适用于模型参数的融合。通过这种方式,合并后的模型能够继承各个检查点模型的优势,增强其对不同数据分布的适应性。例如,在处理多语言文本时,模型合并可以使模型更好地平衡不同语言之间的语义特征,避免在某些语言上表现过强而在其他语言上表现不佳的情况。在面对复杂指令时,也能更灵活地切换和融合不同指令处理模式,提高整体的执行效果。
球面线性插值(slerp)技术的具体算法步骤和数学原理如下:
球面线性插值的核心思想是在高维向量空间中,沿着两个向量之间的最短弧线进行插值,从而保持插值向量的长度不变。对于两个单位向量 v 和 w,以及插值参数 t(0 ≤ t ≤ 1),球面线性插值的计算公式为:
其中,θ 是向量 v 和 w 之间的夹角,可以通过点积计算得到:
在实际应用中,模型的参数通常不是单位向量,因此需要先对参数进行归一化处理。对于模型检查点中的参数向量 p1 和 p2,首先计算它们的范数:
然后对参数向量进行归一化:
接着计算归一化向量之间的夹角 θ:
最后,根据插值参数 t,计算插值后的向量:
通过调整插值参数 t,可以平衡不同模型检查点参数的权重,从而实现模型性能的优化。例如,在合并多个模型检查点时,可以根据每个检查点在验证集上的表现来确定插值参数 t,使得合并后的模型在验证集上取得最佳性能。
在预训练阶段,超参数设置对模型训练效果有着至关重要的影响。以下是 Qwen3 Embedding 系列在预训练阶段的一些关键超参数设置及其影响分析:
超参数选择的原则和经验如下:
不同训练阶段的数据分布特点对模型训练有着显著的影响:
模型合并时的具体算法流程如下:
其中,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 模型可以得到不断进化和完善。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-06-10
聊聊AI应用架构演进
2025-06-10
ChatGPT的记忆系统是如何工作的
2025-06-10
上下文窗口错觉:为什么你的 128K token 不起作用
2025-06-10
大语言模型并非一切:你还应该了解这 8 种不同的 AI 模型类型
2025-06-10
GitMCP:为任意GitHub仓库文档提供即时MCP服务
2025-06-10
将AI当模型看,为什么能少走很多弯路?
2025-06-10
苹果放王炸!开放大模型访问权、全家桶集成ChatGPT,人人能开发AI应用
2025-06-10
深度拆解:为什么通用 Agent 的下一站是 Agentic Browser?
2024-08-13
2024-06-13
2024-08-21
2024-07-31
2024-09-23
2024-05-28
2024-08-04
2024-04-26
2024-07-09
2024-07-20
2025-06-10
2025-06-10
2025-06-10
2025-06-08
2025-06-07
2025-06-05
2025-06-04
2025-06-04