张芷铭的个人博客

双编码器架构通过为查询和文档分别设计独立编码支路,将两者映射到同一语义空间,实现高效的向量相似度匹配,是多模态检索召回层的核心架构。

Bi-Encoder 核心原理

三大原则:

  1. 独立编码:查询和文档通过共享编码器完成特征提取,彼此无信息交互
  2. 统一表征:所有模态转化为固定维度稠密向量,处于同一语义空间
  3. 相似度匹配:通过余弦相似度/点积快速判断相关性

Qwen3-VL-Embedding 架构实现

采用参数共享的双编码器,共享同一套编码网络,结构分为三层:

输入层:标准化多模态输入模板

1
2
3
4
5
6
7
8
<|im_start|>system
{Instruction}  # 任务指令
<|im_end|>
<|im_start|>user
{Instance}     # 多模态实例
<|im_end|>
<|im_start|>assistant
_PAD_          # PAD令牌,作为向量提取锚点

多模态编码层

组件功能
视觉编码器处理图像/视频,转化为视觉令牌(图像上限 1280 tokens,视频上限 4500 tokens)
Qwen3 语言模型处理文本+视觉令牌,通过因果注意力捕捉多模态语义关联
稠密解码器线性变换+归一化,映射到指定维度(2B: 2048 维,8B: 4096 维)

向量生成层

PAD 令牌对应的最后一层隐藏状态作为最终 Embedding 向量。

关键特性:

  • MRL(Matryoshka Representation Learning):支持灵活截断维度
  • QAT(Quantization-Aware Training):支持 Int8 量化

执行流程

离线建索引

文档独立编码 → 向量存入向量数据库 → 构建 FAISS/HNSW 索引

在线检索

  1. 查询编码 → 生成 Embedding 向量
  2. 向量召回 → 余弦相似度计算 Top-K 候选
  3. 结果输出 → 返回排序后的候选文档

设计优势

优势说明
推理效率极高一次查询编码 + 向量匹配,支持实时检索
支持大规模数据离线建索引,支持亿级数据
模态无关性强统一编码实现跨模态检索
部署友好MRL/QAT 降低存储和计算成本

Bi-Encoder vs Cross-Encoder

维度Bi-EncoderCross-Encoder
架构查询/文档独立编码查询/文档拼接输入,交叉注意力交互
推理速度极快(毫秒级)较慢(百毫秒/秒级)
数据规模支持亿级数据仅支持小批量候选(Top100/Top200)
相关性精度中等,粗粒度匹配极高,细粒度判断
核心作用大规模快速召回精细化重排序
适用阶段检索系统召回层检索系统重排层

Qwen3-VL-Embedding 创新点

  1. 四模态统一编码:文本/图像/视觉文档/视频
  2. PAD 令牌锚点:确保多模态输入向量生成的统一性和唯一性
  3. 多阶段训练语义增强:继承 Cross-Encoder 的细粒度判别能力
  4. 32k 超长序列支持:处理长文档、长视频
  5. 多语言能力:支持 30+ 语言跨语言检索

总结

Qwen3-VL-Embedding 的 Bi-Encoder 架构是经典检索架构与多模态大模型的深度融合,与 Cross-Encoder 形成「召回-重排」端到端流水线,既保证大规模数据的检索效率,又通过精细化重排序保证检索精度。

Comments