[Paper Reading] Qwen3-VL-Embedding and Qwen3-VL-Reranker: A Unified Framework for State-of-the-Art Multimodal Retrieval and Ranking

Qwen3-VL-Embedding and Qwen3-VL-Reranker: A Unified Framework for State-of-the-Art Multimodal Retrieval and Ranking

link
时间:26.01
单位:Qwen
相关领域:多模态表征学习
项目主页:https://github.com/QwenLM/Qwen3-VL-Embedding

TL;DR

  • 提出Qwen3-VL-Embedding和Qwen3-VL-Reranker两个模型系列,支持文本、图像、文档图像和视频的多模态检索
  • 采用多阶段训练:对比预训练→重排模型蒸馏→模型融合,支持32K令牌输入长度
  • 8B模型在MMEB-V2基准达到SOTA(77.8分),2B模型达到73.25

Method

image

Embedding模型

Embedding Model Template

<|im_start|>system
{Instruction}
<|im_end|>
<|im_start|>user
{Instance}
<|im_end|><|endoftext|>

模型输入:参考上面的Template,其中Instance是样本多模态信息内容,Template最后会拼一个Pad也称为endoftext的特殊Token,用于标识嵌入向量的提取位置。
模型输出:推理一次,endoftext对应的hidden stage作为embedding特征
im_start/end的功能:清晰界定系统指令(System)、用户输入(User)、助手(Assistant)回复的边界

Reranking模型

作用:预测Query与Condidate的yes/no的相关性档位
Reranking Model Template

<|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

Q:Reranking模型中User提供的Instruction起到什么作用?
A:User Instruction允许用户根据具体需求定义什么是"相关",例如

Instruction: "评估产品图像是否展示的是正品而非宣传图"
Query: "iPhone 15实拍图"
Document: [候选商品图片]
<Instruct>: "确认视频片段是否包含完整的产品演示流程"
<Query>: "智能手机开箱体验"
<Document>: [候选视频内容]

Q:Reranking模型输入输出分别是什么?
不同于Emb模型,Rerank模型是单塔,会同时输入Query与{Doc_{j}};
Reranking模型输出:

  • 训练阶段:以二分类任务建模,优化目标是最小化预测标签与真实 0/1 标签的交叉熵损失(公式 4),标签由数据集中的正负样本定义(相关为 1,不相关为 0)。
  • 推理阶段:通过计算 “yes” 与 “no” token 的 logits 差值,再经过 sigmoid 函数映射,最终输出 [0, 1] 区间的相关性分数(公式 5),分数越接近 1 表示相关性越强。

Data

数据组织:
\(D_i = (I_i, Q_i, C_i, R_i)\)
\(I_i\):指令集合,说明相关性判断标准与任务目标
\(Q_i\):Query集合,可以是文本、图片、视频、多模态
\(Corpus\):Documents的集合,同Query一样,可以是文本、图片、视频、多模态内容
\(Relevance Labels\):记录query与documents的关系,对于每个query \(qi\),对应一些正样本documents集合 与 一些负样本documents集合。
训练数据分布:
image

数据合成方法

种子池构建(Seed Pool Construction)

首先构建一个高质量、多样化的原始图像和视频数据集作为合成Seed池,质量控制流程:

  • 粗粒度过滤:剔除低分辨率、异常宽高比的素材
  • 结构优化:对视频数据进行场景切割检测,移除静态或损坏片段
  • 细粒度标注:使用Qwen3-VL-32B为剩余素材生成详细的类别标签
  • 跨模态对齐:通过GME嵌入模型计算相似度分数,过滤低置信度或视觉-文本不对齐的样本

多任务标注生成

📸 图像任务合成

  • 图像分类任务:
    • Query:图像 + 分类指令
    • Doc:具体类别标签
    • 多样性覆盖:物体识别、地标识别、动作识别等广泛分类任务,为每个样本生成真实类别和语义混淆的负标签
  • 图像问答任务:
    • Query:图像 + 基于视觉的问题
    • Doc:对应答案
    • 多样性覆盖:事实识别、视觉推理、OCR数据提取、领域知识查询等任务类型
  • 图像检索任务:
    • Query:搜索文本
    • Doc:候选图像
    • 语义层次:从直接视觉描述到抽象叙事场景、组合逻辑约束、知识中心文本定位等多层次检索意图
      一个 图像问答任务 的数据合成Prompt示例
      image

🎥 视频任务合成

  • 视频分类任务:
    • Query: 视频 + 分类指令
    • Doc: 结果类别
    • 多样性覆盖:活动识别、场景识别、事件分类与意图分类等,为每个样本生成真实类别和语义相关负标签
  • 视频问答任务:
    • Query:视频 + 问题
    • Doc:答案
    • 多样性覆盖:生成 事实识别、时间定位、主题推理、电影分析等多样化QA对
  • 视频检索任务:
    • Query:文本描述
    • Doc:视频
    • 多样性覆盖:时序事件描述、主题/情感发现、教学教程定位等多粒度检索查询
    • 一个时序事件描述的例子:一个人在公园里跑步的视频,使用VLM大模型识别视频中实体与动作,生成直接对应的Query
  • 时序检索任务:
    • Query:文本查询
    • Doc:特定视频片段
    • 数据作用:针对细粒度时间定位,识别特定目标并定位时间片段
      一个 视频分类任务 的数据合成Prompt示例
      image

正样本提炼与负样本挖掘

为了提升正样本质量及识别难负样本,本工作实现两阶段难样本挖掘:
Recall
针对每个Query检索Top-K相似的候选
Relevance Filter

  • 正样本过滤机制
    • 超参数\(t^{+}\)作为正样本得分阈值
    • 只有当至少一个正样本文档\(t^{+}\)的得分大于\(t^{+}\)时,查询Query才会保留
  • 难负样本选择
    • 计算精炼后正样本的平均得分\(t^{+}\)
    • 选择条件如下,其中$\sigma^{-} $是一个固定的安全边界阈值,越大挑选出来的负样本越难。
      image

训练

image

Stage1:对比学习预训练 => Qwen3-VL-Embedding: s0

  • 3个亿级别的大规模、多模态、多任务合成数据上预训练
  • 训练Loss
    Loss:额外加了 In-Batch Doc负采样、In-Batch query负采样、Doc正负样本间学习Loss
    image

Stage2: 多任务对比学习与SFT => Qwen3-VL-Embedding: s1

  • 公开数据 + 合成数据采样 => 共4000W训练数据量
  • 使用Qwen3-VL-Embedding: s0数据挖掘
    同时,该阶段的retrival子集会用来训练Reranker模型
  • Reranker模型训练阶段Loss:
    image
  • Reranker模型推理阶段相关性分数
    image

Stage3:蒸馏与模型合并

  • 数据:400W的公开与私有数据,使用Reranker模型打标相关性分数
  • 蒸馏Loss:\(P_{reranker}(d_i, q)\)是离线计算出来的doc的相关性logit,一共K+1个Doc (一个正样本,K个负样本),蒸馏之后得到Qwen3-VL-Embedding: s2
    image
    由于Reranker模型是以Retrival任务为主训练的,所以此时蒸馏出来的Embedding模型还是以检索任务为主,将s1与s2模型使用Model Merging合并为s3,增加通用能力。
    关于Model Merging:就是两个模型A与B的相同位置的参数进行平均

合成数据的Loss

  • 分类数据的Loss:待分类的实例是Query,分类的类别是Doc,正确的类别标签是正样本Doc,错误的类别标签是负样本Doc
  • Semantic Textual Similarity (STS) Data
    纯文本片段数据,使用下面CoSent Loss训练,核心思想是:保持真实相似度排序与模型预测排序的一致性。
    image
    其中\(\hat{s}(q_i, dj)\)是标注好的相关性档位

训练实现细节

模型训练采用LoRA微调,具备以下优势:

  • 能够大幅降低显存占用,支持更大的有效批量
  • 提升模型的泛化性能
  • 让超参数搜索和后续模型融合更高效

Experiment

MMEB V2主实验结果:达到Sota效果,2B模型Overall Score达到75,比第二名RzenEmbed高2.7个点。
image
MTEB纯文本Benchmark结果:相对于单模态的Qwen3-Embedding模型仅衰退了2.7个点,代表Qwen3VL-Embedding在学习多模态同时,没有遗忘LLM的纯文本Embedding能力。
image
Embedding模型与Reranker对比:在MMEB上Benchmark上,相同Size的Reranker模型要比较Embedding模型要更好
image
Q:为什么Reranker模型在检索任务上要明显优于Embedding模型?
A: Embedding模型与Reranker模型架构差异:

  • Embedding 模型采用双编码器(Bi-Encoder)架构,分别对Query和Doc进行独立编码生成向量,再通过余弦相似度计算相关性,无法捕捉两者间细粒度交互;
  • Reranker 采用交叉编码器(Cross-Encoder)架构,通过交叉注意力机制直接建模Query与Doc的逐元素交互,能更精准识别语义关联 (如多模态内容的局部匹配、上下文依赖等)。
    MRL训练后不同维度特征效果差异:在MS MARCO上256维以下才开始明显掉点,在VL3-Sync上128维以下开始明显掉点。例如,在文本检索任务中,将维度从 1024 降至 512,性能仅下降 1.4%,但存储减少 50%,检索速度提升一倍。
    image
    多阶段训练的Ablation分析:第二个阶段(4000W)训练数据训完之后得到的s1模型就已经拿到大部分涨点了。
    image

总结与思考

  1. 数据合成与数据规模非常重要;
  2. 第一阶段就需要数据清洗与难负样本挖掘;

相关链接

https://zhuanlan.zhihu.com/p/1996537099780904730
https://zhuanlan.zhihu.com/p/1994444951451374764

posted @ 2026-01-21 23:28  fariver  阅读(0)  评论(0)    收藏  举报