作者 | 飞狗 编辑 | 大模型之心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 是 “预处理→核心编码” 的串联组件,而非 “不同模态独立编码” 的并行模块,不符合双塔模型 “独立编码器” 的定义。
(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天内不满意可随时退款,欢迎扫码加入一起学习一起卷!