链载Ai

标题: Qwen3 Embedding模型架构、训练方法、数据策略 [打印本页]

作者: 链载Ai    时间: 昨天 21:19
标题: Qwen3 Embedding模型架构、训练方法、数据策略

Embedding和reranker模型的核心思想是通过任务感知的方式评估相关性。给定一个查询和一个文档,模型根据由指令定义的相似性标准评估它们的相关性。训练数据通常组织为,其中表示与查询相关的正文档,表示不相关的负文档。通过在多样化的文本对上训练模型,可以增强其在包括检索、语义文本相似性、分类和聚类等下游任务中的适用性。下面来详细的看下Qwen3 Embedding模型架构、训练方法、数据策略,供参考。

模型架构

Qwen3 Embedding、reranker模型架构

Qwen3嵌入和重排序模型基于Qwen3基础模型的dense backbone,提供三种参数规模:0.6B、4B和8B。这些模型通过初始化Qwen3基础模型来利用其在文本建模和指令遵循方面的能力。每个模型配置的层数、隐藏层大小和上下文长度如下表:

对于文本嵌入,使用具有因果注意力的LLMs,并在输入序列的末尾添加一个[EOS]标记。最终的嵌入是从对应于这个[EOS]标记的最后一层的隐藏状态中提取的。没有额外池化头,推理路径更短。

为了确保嵌入在下游任务中遵循指令,将指令和查询连接成一个单一的输入上下文,而文档保持不变,然后通过LLMs进行处理。Query的输入格式如下:

{Instruction}{Query}

为了更准确地评估文本相似性,使用LLMs在单个上下文中进行点对点重排序。与嵌入模型类似,为了实现指令遵循能力,将指令包含在输入上下文中。使用LLM聊天模板,并将相似性评估任务框定为一个二分类问题。输入到LLMs的模板如下:

<|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|>
<lim_start|>assistant
<think>\n\n</think>\n\n

为了基于给定输入计算相关性分数,视为二分类任务,评估下一个标记是"yes"或"no"的可能性。表示为:

训练方法

Qwen3 Embedding训练过程采用了多阶段训练pipline,结合了大规模无监督预训练和高质量数据集上的监督微调。

1、训练目标

2、多阶段训练

多阶段训练是训练文本嵌入模型的常见做法,通常从大规模半监督数据上的初始训练开始,然后使用较小规模的高质量监督数据集进行微调。这一两步过程增强了模型的性能和泛化能力。大规模弱监督训练数据显著提高了模型的泛化能力,而后续阶段的高质量数据微调进一步提升了模型性能。

在现有多阶段训练框架的基础上,Qwen3 Embedding系列引入了以下关键创新:

注意,重排序模型的训练过程不包括第一阶段的弱监督训练阶段。

3、合成数据集

使用Qwen3-32B模型作为基础模型进行数据合成,创建了大约1.5亿对多任务弱监督训练数据。实验发现,使用合成数据训练的嵌入模型在下游评估中表现优异,特别是在MTEB多语言基准测试中超越了许多先前监督模型。这促使对合成数据进行过滤,以识别高质量配对,用于第二阶段的监督训练。采用简单的余弦相似性计算来选择数据对保留随机采样数据中余弦相似性大于0.7的对。最后大约1200万对高质量监督训练数据对被选中进行进一步训练。

实验性能

MTEB多语言
MTEB英文






欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5