Skip to content

Qwen3-VL-Embedding

0 Abstract

  • 本文介绍了基于Qwen3-VL基础模型的Qwen3-VL-EmbeddingQwen3-VL-Reranker模型系列,为高精度多模态搜索提供端到端pipeline。该系列能够将文本、图像、文档图像和视频映射到统一的表示空间中。
  • 嵌入模型采用多阶段训练范式,支持Matryoshka表示学习(可灵活调整嵌入维度)和处理长达32K tokens的输入;
  • 重排序模型采用交叉编码器架构进行细粒度相关性评估。
  • 两个系列均继承Qwen3-VL的多语言能力,支持超过30种语言,提供2B和8B两种参数规模。
  • 实验表明,该系列在多模态嵌入评测基准上达到SOTA,其中Qwen3-VL-Embedding-8B在MMEB-V2上获得77.8分(截至2025年1月8日排名第一)

1 Introduction

互联网多模态内容的快速增长要求检索系统能够跨模态理解语义概念

  • CLIP等工作的成功证明了学习共享嵌入空间的重要性。基于视觉语言模型(如Qwen-VL、GPT-4o)的统一多模态嵌入模型(如E5-V、GME、BGE-VL)成为趋势。
  • 本文提出的Qwen3-VL-Embedding和Qwen3-VL-Reranker基于Qwen3-VL构建,结合了先进的视觉-语言理解能力与专为检索设计的训练方法。
    • 嵌入模型支持Matryoshka表示学习和量化感知训练;
    • 重排序模型采用交叉编码器架构。两者均支持多语言,提供2B和8B尺寸,在多项评测中达到SOTA。

alt text

2 Model

alt text

疑问

  1. 图中Vision Encoder作用是什么?
  2. 为什么Vision Encoder和Qwen3 LV Dense Decoder是这样排布,这里怎样体现出Embedding Model是bi-encoder架构,Reranking Model是cross-encoder架构?
  • 基础架构:基于Qwen3-VL主干,使用因果注意力,保留其多模态感知与指令遵循能力。
  • 核心思想
    • 嵌入模型采用bi-encoder架构,为多模态实例生成稠密向量,使用余弦相似度衡量相关性;注意,Query和Doc分开处理,分别生成稠密向量。
    • 重排序模型采用cross-encoder架构,对查询-文档对进行深度交互评估。
  • Embedding模型:输入遵循Qwen3-VL对话模板(如下),指令作为系统消息,实例(查询或者文档)作为用户消息,取最后一个<endoftext>标记对应的最后隐藏状态作为该实例的稠密向量表示

    <|im_start|>system
    {Instruction}(默认为Represent the user’s input.)
    <|im_end|>
    <|im_start|>user
    {Instance}
    <|im_end|><|endoftext|>
    
  • Reranking模型:接收(Query, Document) 并进行联合编码。

    • 重排序模型采用逐点评分方式,依据指令中给出的相关性定义,评估一对多模态实例之间的相关程度。
    • 输入格式遵循 Qwen3-VL 的上下文结构:将定义相关性的指令以及待评估的多模态实例对一并作为用户消息传入。多模态输入可以是文本、图像、视频或上述模态的任意组合。最后,通过计算模型预测下一个输出token为“yes”或“no”的概率,得到该实例对的相关性估计
    <|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
    

3 Data

为了赋予模型跨不同模态、任务和领域的通用表示能力,我们构建了一个大规模数据集。

alt text

3.1 Data Format

完整的训练数据集由多个子数据集组成,表示为 \(\mathcal{D} = \{D_i\}_{i = 1}^M\)。每个子数据集 \(D_i\) 由一个四元组定义:\(D_i = (I_i, Q_i, C_i, R_i)\),结构如下:

  • Instruction (指令) \(I_i\):定义该子数据集具体相关性标准和任务目标的文本描述。
  • Queries (查询集) \(Q_i\):包含 \(N_q\) 个查询对象的集合,\(Q_i = \{q_j\}_{j = 1}^{N_q}\)。每个查询 \(q_j\) 可以是文本、图像、视频或其多模态组合。
  • Corpus (文档库) \(C_i\):包含 \(N_d\) 个文档对象的集合,\(C_i = \{d_j\}_{j = 1}^{N_d}\)。与查询类似,每个文档 \(d_j\) 也可以是单模态或多模态的。
  • Relevance Labels (相关性标签) \(R_i\):定义了查询与文档之间的关系,形式为 \(R_i = \{(q_j, \{d_{j,k}^{+}\}_{k = 1}^{n^{+}}, \{d_{j,k}^{-}\}_{k = 1}^{n^{-}})\}_{j = 1}^{N_q}\)。对于每个查询 \(q_j\)\(\{d_{j,k}^{+}\}_{k = 1}^{n^{+}} \subset C_i\) 是相关文档(正例)集合,而 \(\{d_{j,k}^{-}\}_{k = 1}^{n^{-}} \subset C_i\) 是不相关文档(负例)集合。

3.2 Data Synthesis

为解决数据在模态、任务和领域上存在的不平衡与稀缺问题,采用数据合成来构建平衡的训练语料。此方法将Qwen3 Embedding 的合成策略扩展到了多模态场景。

Seed Pool Construction

合成数据的多样性依赖于底层的种子池。构建过程如下:

种子池构建
  1. 收集与初筛:聚合大量高质量、多样化的原始图像和视频数据集,通过粗粒度质量过滤(如去除低分辨率、异常宽高比的素材)进行修剪。
  2. 结构优化:对视频数据进行场景切割检测,移除静态或损坏的片段,以保持时间动态的完整性。
  3. 精细标注:利用 Qwen3-VL-32B 为剩余素材生成细粒度的类别标签
  4. 跨模态对齐:通过GME嵌入模型计算相似度分数,实施严格的过滤机制,排除低置信度标注或图文对应差的样本。
  5. 类别再平衡:对精炼后的数据集进行按类别再平衡,构建最终种子池(类别分布见图4)。

基于此种子池,我们利用 Qwen3-VL-32B 进行多模态、多任务标注。

Image Tasks Annotation

合成以下三类主要图像任务数据:

图像任务
  1. 图像分类:查询 \(q\) 为图像+分类指令,文档 \(d\) 为类别标签。合成涵盖物体识别、场景解析等多种任务。模型为每个样本指定任务类型、标注真实类别并提供一个语义上容易混淆的负例标签。
  2. 图像问答:查询 \(q\) 为图像+基于图像的问题,文档 \(d\) 为答案。生成多样化的QA对,涵盖事实识别、视觉推理、OCR信息提取等。模型根据视觉内容生成问题,并提供真实答案和一个具有欺骗性的干扰答案。
  3. 图像检索:查询 \(q\) 为搜索文本,文档 \(d\) 为候选图像。在多个语义层次上合成检索查询,从直接的视觉描述到抽象的场景叙述。模型分配特定的检索意图,并生成能捕捉图像显著视觉特征或内嵌文本逻辑的搜索查询。

Video Tasks Annotation

合成以下四类主要视频任务数据:

视频任务
  1. 视频分类:查询 \(q\) 为视频+分类任务,文档 \(d\) 为类别。合成涵盖活动识别、场景解析、事件分类等任务。模型识别其类别并生成一个语义相关的负例标签。
  2. 视频问答:查询 \(q\) 为视频+问题,文档 \(d\) 为答案。生成涵盖事实识别、时间定位、主题推理等多样化的QA对。模型根据指定任务类型生成问题,并提供正确答案和干扰答案。
  3. 视频检索:查询 \(q\) 为文本描述,文档 \(d\) 为视频。合成涵盖不同语义粒度的检索查询,从实体和动作搜索到时间事件描述、主题/情感发现等。模型生成能捕捉视频主要事件和主题内容的搜索查询。
  4. 时刻检索:查询 \(q\) 为文本查询(可包含关键帧),文档 \(d\) 为特定的视频片段。该任务旨在进行细粒度的时间定位。模型识别特定目标(如动作、物体、角色)并定位相关时间段,同时识别一个具有明确时间间隔的不相关片段作为负例。

关键步骤:在合成任务特定标注前,要求模型为每张图像或每个视频生成一个描述性标题以提供必要上下文。这种两步法确保了后续标注生成具有更高的质量和一致性。

3.3 Positive Refinement and Hard Negative Mining

(正例精炼与困难负例挖掘)

困难负例在对比表示学习中至关重要。我们实现了一个自动化的两阶段挖掘流程来提升正例对质量并识别有效的困难负例

  1. Recall (召回):对于每个子数据集 \(D_i\),使用一个嵌入模型提取所有查询 \(q_j \in Q_i\) 和文档 \(d_k \in C_i\) 的表示。对于每个查询 \(q_j\),基于余弦相似度检索出前 \(K\) 个最相关的候选文档 \(\{d_k\}_{k = 1}^{K}\),得到相似度分数集合 \(S = \{s_{j,k}\}_{k = 1}^{K}\)
  2. Relevance Filtering (相关性过滤):基于相似度分数 \(S\) 精炼相关性标签 \(R_i\) 以消除噪声:
    • 正例精炼:仅当查询 \(q_j\) 的至少一个正例文档 \(d^{+}\) 的分数 \(s > t^{+}\)\(t^{+}\) 是分数阈值超参数)时,才保留该查询
    • 困难负例选择:对于一个有效的查询 \(q_j\),计算其精炼后正例的平均分数 \(\bar{s}^{+}\)。一个非正例文档 \(d\) 仅在满足其分数 \(s < \bar{s}^{+} + \delta^{-}\)\(\delta^{-}\) 是一个小的安全边际,防止包含“假负例”)时,才被选为困难负例。

4 Training Strategy

4.1 Multi-Stage training

采用三阶段训练流程(见图5):

alt text

  1. 对比预训练s0:基于 300M 多模态合成数据,采用 InfoNCE 对比学习,奠定相关性理解基础。

    \[L_{retrieval} = -\frac{1}{N}\sum_i^N \text{log}\frac{e^{(s(q_i,d_i^+)/\tau)}}{Z_i}\]
  2. 多任务对比学习与监督微调(s1, s1-reranker):融合 40M 高质量数据(公共 + 私有 + 合成),嵌入模型用多任务对比学习,重排模型用检索专用数据训练

    \[L_{reranking}=-\text{log}p(l|I,q,d)\]

    \(p(l|\ast)\) 为VLM得到的概率,标签l对正样本为yes,负样本为no。该损失促使模型为正确标签生成更高概率

  3. 蒸馏与模型融合:使用重排序模型对嵌入模型进行知识蒸馏得到s2,再进行模型融合,将s2与s1合并,得到最终模型s3,实现任务间性能平衡。

蒸馏与融合

概念及相关论文

4.2 Implementation

实现细节:使用LoRA微调,支持动态分辨率与帧率处理。

5 Training Objective

Qwen3-VL-Embedding和Qwen3-VL-Reranker模型的训练目标。

  • 对于Qwen3-VL-Embedding模型,我们扩展了Qwen3 Embedding模型的损失函数以处理更广泛的数据类型,并集成了两种关键技术:Matryoshka表示学习(用于生成可变维度的嵌入)和量化感知训练(以支持多种数值精度)。这些方法共同降低了存储和计算成本,提高了推理效率。
  • Qwen3-VL-Reranker采用与Qwen3 Reranker相同的目标函数。

疑问

Matryoshka表示学习和量化感知训练需要具体了解吗?

5.1 Loss Functions for the Embedding Model

Qwen3-VL-Embedding的训练涉及多个阶段的不同数据类型。为此,我们针对每类数据的特点采用了不同的损失函数。

损失函数

Loss for Retrieval Data

  • 此类数据包括来自各种多模态和跨模态检索任务的数据,如文本到文本、文本到图像、(图像+文本)到(图像+文本)检索等。
  • 第1阶段,我们使用与Qwen3-Embedding相同的InfoNCE损失形式:
\[ \mathcal{L}_{\mathrm{retrieval}} = -\frac{1}{N}\sum_{i}^{N}\log \frac{e^{(s(q_{i},d_{i}^{+}) / \tau)}}{Z_{i}}, \quad (1) \]

其中 \(s(\cdot ,\cdot)\) 是相似度函数(我们使用余弦相似度),\(\tau\) 是温度参数,\(Z_{i}\) 聚合了正样本对和各类负样本对的分数:

\[ Z_{i} = e^{(s(q_{i},d_{i}^{+}) / \tau)} + \sum_{k}^{K}m_{ik}e^{(s(q_{i},d_{i,k}^{-}) / \tau)} + \sum_{j\neq i}m_{ij}e^{(s(q_{i},d_{j}) / \tau)} + \sum_{j\neq i}m_{ij}e^{(s(d_{i}^{+},d_{j}) / \tau)} \quad (1) \]

分别对应于与以下样本的相似度:

  1. 正例文档 \(d_{i}^{+}\);
  2. K个困难负例 \(\{d_{i,k}^{- }\}_{k = 1}^{K}\);
  3. 批次内其他查询 \(\{q_{j}\}_{j\neq i}\);
  4. 批次内其他文档 \(\{d_{j}\}_{j\neq i}\)(与 \(d_{i}^{+}\) 对比);
  5. 批次内其他文档 \(\{d_{j}\}_{j\neq i}\)(与 \(q_{i}\) 对比)。

其中,\(m_{ij}\) 是一个掩码因子,用于减轻假负例的影响:

\[ m_{ij} = \mathbb{1}_{s_{ij} < \alpha \cdot \max(s_{ii}, s_{jj})} \]

其中 \(s_{ij}\) 表示相应的相似度分数(例如 \(s(q_{i},d_{j})\)\(s(q_{i},q_{j})\))。

  • 第2阶段,我们进一步修改了目标函数,从 \(Z_{i}\) 中移除了查询-查询和文档-文档项。经验表明,这种调整在高质量多模态检索数据上能获得更好的性能。

Loss for Classification Data

  • 对于文本或图像分类任务,我们同样将训练形式化为对比学习。
  • 具体而言,待分类的实例被视为查询 \(q\),其类别标签被视为相应的文档 \(d^{+}\)。与检索不同,负样本仅限于同一查询的明确错误标签,而忽略批次中的其他标签,以避免引入假负例。

Loss for Semantic Textual Similarity(STS) Data

STS数据集是对称的,因此不具有自然的查询-文档不对称性。此外,监督信号通常是实值相似度分数。为了利用这种细粒度信号,我们使用CoSent损失优化模型,该损失鼓励配对嵌入之间的余弦相似度保持与真实相似度分数一致的顺序:

\[ \mathcal{L}_{\mathrm{sts}} = \log \left(1 + \sum_{s(q_{i},d_{j}) > \delta (q_{m},d_{n})}\exp \left(\frac{\cos(q_{m},d_{n}) - \cos(q_{i},d_{j})}{\tau}\right)\right), \quad (2) \]

其中 \(\delta (q_{i},d_{j})\) 表示对 \((q_{i},d_{j})\) 的真实分数。

Loss for Distillation Data

  • 在最后的训练阶段,我们通过知识蒸馏进一步改进嵌入模型。我们从所有训练数据的并集中采样一个高质量子集,并使用一个强大的重排序模型提供监督。
  • 具体地,对于每个查询 \(q\),我们预先计算(离线)其正例文档和 \(k\) 个负例的重排序相关性逻辑值。在训练期间,我们使用余弦相似度在线计算基于嵌入的分数,并最小化分布匹配目标(交叉熵)以使嵌入模型的分数分布与重排序模型对齐:
\[ \mathcal{L}_{\mathrm{distill}} = -\sum_{i = 1}^{k + 1}P_{\mathrm{reranker}}(d_i\mid q)\log P_{\mathrm{embedding}}(d_i\mid q), \quad (3) \]

其中 \(P(d_{i}\mid q)\) 是查询 \(q\)\(k+1\) 个候选文档(一个正例和 \(k\) 个负例)的softmax分布。

5.1.1 Additional Techniques for Efficient Inference

在实际检索系统中,索引构建需要离线存储大量嵌入。为了减少存储开销并提高检索效率,我们引入了以下辅助训练目标。

Matryoshka Representation Learning

在优化上述目标时,我们不仅在全维嵌入上计算每个损失,还在同一表示的截断低维前缀上计算损失。经验表明,在足够密集的MRL维度集上进行训练可以产生强大的泛化能力,从而在训练中未明确包含的中间维度上也能获得有竞争力的性能。

Quantization-Aware Training

  • 以较低数值精度(int8或二进制)存储嵌入可以进一步降低存储和计算开销。为了在低精度表示下保持嵌入质量,我们采用了量化感知训练策略。
  • 具体而言,在训练期间,我们同时使用全精度嵌入及其低精度(量化)版本计算优化目标,从而使模型学会产生对量化鲁棒的嵌入。这允许学习到的表示更好地适应低比特嵌入格式,减轻部署时可能发生的性能下降。
  • 我们使用Learned Step Size Quantization来实例化QAT。LSQ将量化尺度(步长)视为可学习参数,并通过反向传播与模型权重联合优化。此外,它使用直通估计器通过不可微的舍入操作传播梯度,从而在模拟量化下实现端到端训练。

5.2 Loss Function for the Reranking Model

我们将重排序任务构建为一个二分类问题:给定一个查询-文档对,模型预测一个特殊的“yes”标记(相关)或“no”标记(不相关)。

\[ \mathcal{L}_{\mathrm{reranking}} = -\log p(l|I,q,d), \quad (4) \]

其中 \(p(\cdot |\ast)\) 表示VLM分配的概率。对于正例对,标签 \(l\) 为“yes”;对于负例对,则为“no”。该损失函数鼓励模型为正确标签分配更高的概率,从而提高排序性能。

在推理时,最终的相关性分数通过对“yes”和“no”标记的逻辑值之差应用sigmoid函数来计算:

\[ s = \mathrm{sigmoid}(\mathrm{logit}(\mathrm{yes}) - \mathrm{logit}(\mathrm{no})). \quad (5) \]

logit

logit(“yes”):模型认为查询和文档相关的原始证据强度。 它是如何表示和计算的,用概率吗?

6 Evaluation

  • 多模态基准(MMEB-V2):Qwen3-VL-Embedding-8B获得77.8分,达到SOTA。见表2(第11页)。
  • 视觉文档基准:在JinaVDR、Vidore-v3等任务上,嵌入模型与ColPali风格模型相当,重排序模型则显著优于同类。见表3。

alt text

  • 文本基准(MMTEB):Qwen3-VL-Embedding-8B获得67.9分,与纯文本模型竞争。见表4。
  • 重排序模型评估:在多个检索任务上,Qwen3-VL-Reranker系列均优于基线模型,8B版本表现最佳。见表5。

7 Analysis

  • MRL与量化效果:如图6所示,降低嵌入维度可大幅节省存储和加快检索,性能下降可控;int8量化几乎无损性能,二值量化则损失较大。 alt text

  • 视觉粒度影响:增加图像分辨率或视频帧数可提升性能,但存在收益递减,过高资源消耗可能导致性能下降。

  • 训练阶段性能:表6显示,蒸馏阶段显著提升检索性能,模型融合阶段平衡了所有任务性能,实现整体最优。 alt text

8 Conclusion

Qwen3-VL-Embedding和Qwen3-VL-Reranker系列通过多阶段训练、高质量数据合成和模型融合,在多模态检索任务上达到SOTA,同时保持强大纯文本能力。通过MRL和QAT技术,模型具备优秀的部署效率。未来方向包括扩展更多模态、提升训练效率和增强组合推理能力。

Comments