多模态embedding模型架构分类

大模型之心Tech 2025-08-31 08:00

作者 | 飞狗 编辑 | 大模型之心Tech

原文链接:https://zhuanlan.zhihu.com/p/1944001605759370692

点击下方卡片,关注“大模型之心Tech”公众号

戳我-> 领取大模型巨卷干货

>>点击进入→大模型没那么大Tech技术交流群

本文只做学术分享,如有侵权,联系删文,自动驾驶课程学习与技术交流群事宜,也欢迎添加小助理微信AIDriver004做进一步咨询

0、 双塔/双编码器(Bi-encoder)结构

这类模型分别独立编码查询(文本)和候选(图像/视频/文档截图),最后通过点积或余弦相似度计算匹配得分。优点是高吞吐,缺点是缺乏细粒度交互。

架构核心特征:

  • 每个输入(查询 / 文档)被编码为单个 dense 向量,相似度通过 “查询向量 - 文档向量” 的余弦相似度计算;
  • 采用双编码器架构:查询与文档独立编码,离线预计算文档嵌入,在线仅需编码查询并做快速向量检索,适合大规模 corpus(百万级以上);
  • 优势:存储开销小、检索效率高;劣势:丢失细粒度 token 级信息,对视觉布局、多模态融合场景适配较弱。

1、统一编码器(Unified Encoder)

采用单一共享编码路径处理所有输入(查询 / 文档,文本 / 图像 / 融合模态),查询与文档使用同一套编码器权重,仅通过输入格式(如 prompt 区分)或任务指令实现功能差异。

  • 编码路径统一:文本、图像、融合模态(IT)共享同一 VLM 骨干,无独立分支;
  • 权重共享:查询与文档编码依赖完全相同的模型权重(含视觉 encoder、LLM、投影层);
  • 适配多模态:天然支持混合模态输入(如 “文本 + 图像” 查询 / 文档),模态融合在统一路径内完成。

2、单向量嵌入 + 余弦相似度

类别特征

  • 每个输入(查询 / 文档)编码为单个 dense 向量,相似度通过余弦计算;
  • 优势:存储开销小(1M 文档仅需 3-10GB)、检索效率高(毫秒级);
  • 劣势:丢失 token 级细粒度信息,视觉文档(表格 / 图表)适配较弱;
  • 适用场景:文本密集型检索、通用多模态检索(非高精度需求)。

3、多向量嵌入 + Late Interaction

类别特征

  • 每个输入编码为多个 token 级向量(文档:视觉 patch token;查询:文本 token);
  • 相似度通过 Late Interaction 计算(查询 token 与文档 token 的最大点积求和);
  • 优势:精度高(细粒度匹配),视觉文档适配强;
  • 劣势:存储开销大(1M 文档需 179GB-10TB)、依赖专用向量数据库;
  • 适用场景:高精度视觉文档检索(表格、图表、幻灯片)、多语言检索。

关键问题:

(1)ColPali 用 SigLIP 处理图像、Gemma-2B 处理文本,是否属于 “不同模态用不同 encode 模块”?

结论:不属于 “不同模态独立 encode 模块”,

需明确 SigLIP 与 Gemma-2B 的角色定位 —— 二者是 “串联协作的组件”,而非 “并行独立的编码器分支”,核心差异在于 “是否能独立完成模态编码” 与 “是否存在权重隔离”。

  • 从 “模块功能” 看:SigLIP 是 “视觉预处理模块”,而非 “独立图像编码器”

根据 2025-ColPali-v6.pdf Section 4.1 与 Appendix E:

SigLIP 的作用是图像 patch 嵌入生成:

将文档截图(如 SlideVQA 幻灯片)分割为 1024 个视觉 patch,通过 SigLIP(So400m/14)生成低维 patch 嵌入(维度与 Gemma-2B 的文本 token 嵌入匹配)。

关键限制:

SigLIP 的输出无法独立作为 “图像嵌入” —— 必须通过一个 “线性投影层” 映射到 Gemma-2B 的文本向量空间,再输入 Gemma-2B 进行上下文编码,才能生成最终的文档多向量(视觉 token 序列)。

对比双塔模型的 “独立编码器”(如 CLIP 的 Image Encoder):

CLIP 的 Image Encoder 可独立输出完整图像嵌入,无需依赖文本编码器;而 ColPali 的 SigLIP 仅负责 “图像→patch 嵌入” 的预处理,不能独立完成编码,本质是 Gemma-2B 编码器的 “前端数据转换器”。

  • 从 “文本处理” 看:Gemma-2B 是 “核心编码器”,而非 “独立文本编码器”

根据 2025-ColPali-v6.pdf Section 4.1:

文本查询(如 ViDoRe 的问题)直接输入 Gemma-2B,但并非 “独立文本编码器” —— Gemma-2B 的权重与处理图像时的权重完全共享 (包括投影层、Transformer 层),不存在 “文本专用 Gemma-2B 分支” 或 “图像专用

Gemma-2B 分支”。

编码逻辑统一 :

无论是文本 token(查询)还是投影后的视觉 patch 嵌入(文档), 输入 Gemma-2B 后均经过相同的 Transformer 层、遵循相同的注意力机制 (前缀注意力,见 Appendix E), 输出格式完全一致 (128 维 /token 的多向量序列)。

  • 本质区别:“串联协作” vs “双塔并行”

对比维度
ColPali 的 SigLIP+Gemma-2B
双塔模型的独立编码器(如 CLIP)
模块独立性
SigLIP 无法独立输出图像嵌入,需依赖 Gemma-2B
文本 / 图像编码器可独立输出嵌入,无需依赖对方
权重共享
全套权重(SigLIP 投影层 + Gemma-2B)查询与文档共享
文本 / 图像编码器权重隔离,仅通过对比损失对齐空间
编码路径
图像:SigLIP→投影层→Gemma-2B;文本:Gemma-2B(统一终点)
图像:Image Encoder;文本:Text Encoder(并行路径)
嵌入生成逻辑
所有模态的嵌入最终由 Gemma-2B 生成
各模态嵌入由专属编码器生成

ColPali 的 SigLIP 与 Gemma-2B 是 “预处理→核心编码” 的串联组件,而非 “不同模态独立编码” 的并行模块,不符合双塔模型 “独立编码器” 的定义。

(2)ColPali 如何体现 “统一编码器(Unified Encoder)”?

根据 2025-ColPali-v6.pdf 的架构设计,其 “统一编码器” 属性体现在权重共享、编码路径统一、嵌入空间统一三大核心特征,完全符合 “单一共享编码系统处理多模态” 的定义。

  • 核心依据 1:查询与文档共享全套编码器权重

ColPali 的统一编码器本质是PaliGemma-3B(SigLIP + 投影层 + Gemma-2B),查询(文本)与文档(图像)的编码过程依赖完全相同的权重,无任何独立分支:

视觉处理权重共享: 文档图像的 SigLIP 预处理、投影层映射,与查询文本无关,但投影层的权重对所有输入(图像 / 文本)统一—— 不会因输入是图像还是文本而切换权重;

LLM 权重共享: Gemma-2B 的 Transformer 层、输出层权重,无论是处理文本 token(查询)还是视觉 patch 嵌入(文档),均使用同一套参数;

LoRA 微调共享 :训练时仅微调 Gemma-2B 的 LoRA 适配器(rank=32)和投影层,这些微调权重对查询与文档的编码完全生效(Section 4.2),无 “查询专用 LoRA” 或 “文档专用 LoRA”。

  • 核心依据 2:多模态输入的编码路径完全统一

所有输入(文本查询 / 图像文档)最终通过同一编码路径生成嵌入,仅在 “前端数据格式转换” 阶段有差异:

图像文档编码路径: 截图→SigLIP 生成 patch 嵌入→投影层映射到 Gemma 空间→Gemma-2B 编码→输出多向量(128 维 /token);

文本查询编码路径: 文本→tokenize→Gemma-2B 编码→输出多向量(128 维 /token);

关键统一点: 两种路径的 “核心编码阶段”(Gemma-2B 处理)完全一致 —— 包括注意力计算(前缀注意力,图像 patch 作为前缀输入)、token 序列处理逻辑、多向量生成规则(每个 token 对应一个 128 维向量)。

  • 核心依据 3:多模态嵌入共享同一语义空间

根据 2025-ColPali-v6.pdf Section 4.1 与 5.1:

图像文档的视觉 patch 多向量与文本查询的文本 token 多向量,通过Late Interaction 机制直接计算相似度(公式:\(LI(q,d) = \sum_{i} max_j <q_i, d_j>\)),无需额外的模态对齐模块;

这证明两种模态的嵌入已处于统一语义空间—— 若为双塔模型,不同模态的嵌入需通过余弦相似度间接匹配,且易存在 “模态 gap”;而 ColPali 的多向量可直接进行 token 级交互,本质是统一编码器确保了模态语义的深度对齐。

  • 关键佐证:训练机制强化统一编码属性

ColPali 的训练过程进一步体现统一编码器特征(Section 4.2):

训练数据为 “查询 - 文档对”(如 NQ 问题 + Wiki-SS 截图),模型同时优化 “文本查询编码” 与 “图像文档编码”,使用同一 in-batch 对比损失(公式:\(\mathcal{L} = \frac{1}{b}\sum log(1+exp(s_k^–s_k^+))\));

若为双塔模型,需分别训练文本编码器与图像编码器,再通过对比损失对齐;而 ColPali 仅需优化一套统一编码器,直接最小化 “查询 - 正文档” 的相似度损失、最大化 “查询 - 负文档” 的相似度损失,证明其是单一编码系统。

  • 总结:ColPali 的 “统一编码器” 本质

ColPali 的 “SigLIP 处理图像、Gemma-2B 处理文本” 是统一编码器内部的功能分工,而非 “不同模态独立编码器”:

  • SigLIP 是 “视觉数据预处理组件”,负责将图像转换为 Gemma-2B 可处理的格式;
  • Gemma-2B 是 “核心统一编码器”,负责将文本 token 和预处理后的视觉 patch 嵌入,统一编码为多向量;
  • 整套系统无独立的 “文本编码器” 或 “图像编码器”,查询与文档共享权重、统一路径、同语义空间,完全符合 “统一编码器” 的定义,不属于双塔模型。

大模型之心Tech知识星球交流社区

我们创建了一个全新的学习社区 —— “大模型之心Tech”知识星球,希望能够帮你把复杂的东西拆开,揉碎,整合,帮你快速打通从0到1的技术路径。 

星球内容包含:每日大模型相关论文/技术报告更新、分类汇总(开源repo、大模型预训练后训练知识蒸馏量化推理模型MoE强化学习RAG提示工程等多个版块)、科研/办公助手AI创作工具/产品测评、升学&求职&岗位推荐,等等。

星球成员平均每天花费不到0.3元,加入后3天内不满意可随时退款,欢迎扫码加入一起学习一起卷!

资讯配图



声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。 
Copyright © 2025 成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号