library_name: transformers
tags:
- colpali
license: gemma
datasets:
- vidore/colpali_train_set
language:
- en
base_model:
- vidore/colpaligemma-3b-pt-448-base
new_version: vidore/colpali-v1.3-hf
pipeline_tag: visual-document-retrieval
[!重要提示]
此版本ColPali应使用transformers 🤗
库加载,而非colpali-engine
。
该模型是通过convert_colpali_weights_to_hf.py
脚本
从vidore/colpali-v1.2-merged
检查点转换而来。
ColPali:基于PaliGemma-3B与ColBERT策略的视觉检索模型
ColPali是一种基于创新模型架构和训练策略的视觉语言模型(VLM),用于通过视觉特征高效索引文档。
作为PaliGemma-3B的扩展,它能生成文本与图像的ColBERT风格多向量表示。
该模型由论文ColPali:基于视觉语言模型的高效文档检索首次提出,并发布于此代码库。
HuggingFace transformers
🤗的实现由Tony Wu (@tonywu71)和Yoni Gozlan (@yonigozlan)贡献。

模型描述
本模型迭代构建自现成的SigLIP模型。
我们通过微调创建了BiSigLIP,并将SigLIP输出的图像块嵌入输入大型语言模型PaliGemma-3B以构建BiPali。
通过语言模型输入图像块嵌入的关键优势在于,它们能自然地映射到与文本输入(查询)相似的潜在空间。
这使得采用ColBERT策略计算文本标记与图像块间的交互成为可能,相比BiPali实现了性能的阶跃式提升。
模型训练
数据集
我们的127,460个查询-页面对训练集包含开放学术数据集训练集(63%)和由网络爬取PDF文档页面组成、经VLM(Claude-3 Sonnet)生成伪问题增强的合成数据集(37%)。
训练集设计为全英文,以便研究对非英语语言的零样本泛化能力。我们明确验证ViDoRe与训练集间无多页PDF文档重复,防止评估污染。
验证集包含2%样本用于超参数调优。
注:多语言数据存在于语言模型(Gemma-2B)的预训练语料库中,并可能出现在PaliGemma-3B的多模态训练过程中。
参数
所有模型在训练集上训练1个epoch。除非另有说明,我们以bfloat16
格式训练模型,在语言模型的Transformer层及随机初始化的最终投影层上使用alpha=32
和r=32
的低秩适配器(LoRA),并采用paged_adamw_8bit
优化器。
我们在8GPU设置下进行数据并行训练,学习率5e-5配合2.5%预热步数的线性衰减,批量大小为32。
使用示例
import torch
from PIL import Image
from transformers import ColPaliForRetrieval, ColPaliProcessor
model_name = "vidore/colpali-v1.2-hf"
model = ColPaliForRetrieval.from_pretrained(
model_name,
torch_dtype=torch.bfloat16,
device_map="cuda:0",
).eval()
processor = ColPaliProcessor.from_pretrained(model_name)
images = [
Image.new("RGB", (32, 32), color="white"),
Image.new("RGB", (16, 16), color="black"),
]
queries = [
"我们研发部门的组织架构是怎样的?",
"能否提供去年财务表现的细分数据?",
]
batch_images = processor(images=images).to(model.device)
batch_queries = processor(text=queries).to(model.device)
with torch.no_grad():
image_embeddings = model(**batch_images)
query_embeddings = model(**batch_queries)
scores = processor.score_retrieval(query_embeddings.embeddings, image_embeddings.embeddings)
资源
局限性
- 专注领域:模型主要针对PDF类文档和高资源语言,可能限制其对其他文档类型或低资源语言的泛化能力。
- 支持框架:模型依赖ColBERT延迟交互机制衍生的多向量检索,需工程适配才能兼容缺乏原生多向量支持的通用向量检索框架。
许可
ColPali的视觉语言骨干模型(PaliGemma)遵循模型卡片中指定的gemma
许可协议,ColPali继承此gemma
许可。
联系方式
- Manuel Faysse: manuel.faysse@illuin.tech
- Hugues Sibille: hugues.sibille@illuin.tech
- Tony Wu: tony.wu@illuin.tech
引用
若在研究中使用本组织的任何数据集或模型,请按以下格式引用原始论文:
@misc{faysse2024colpaliefficientdocumentretrieval,
title={ColPali: Efficient Document Retrieval with Vision Language Models},
author={Manuel Faysse and Hugues Sibille and Tony Wu and Bilel Omrani and Gautier Viaud and Céline Hudelot and Pierre Colombo},
year={2024},
eprint={2407.01449},
archivePrefix={arXiv},
primaryClass={cs.IR},
url={https://arxiv.org/abs/2407.01449},
}