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

模型描述
阅读transformers
🤗模型卡:https://huggingface.co/docs/transformers/en/model_doc/colpali。
模型训练
数据集
我们的127,460组查询-页面训练数据包含公开学术数据集(63%)和由网络爬取PDF文档经VLM(Claude-3 Sonnet)生成伪问题增强的合成数据集(37%)。
训练集为全英文设计,可研究其对非英语语言的零样本泛化能力。我们确保ViDoRe评估集与训练集无多页PDF重复。另设2%样本作为验证集调参。
注:多语言数据可能存在于语言模型(Gemma-2B)预训练语料及PaliGemma-3B多模态训练过程中。
参数配置
所有模型在训练集上训练1个epoch。默认使用bfloat16
格式,在语言模型的Transformer层及随机初始化的投影层应用LoRA适配器(α=32,r=32),优化器为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.3-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继承该许可。
联系方式
- Manuel Faysse: manuel.faysse@illuin.tech
- Hugues Sibille: hugues.sibille@illuin.tech
- Tony Wu: tony.wu@illuin.tech
引用规范
若在研究中使用本组织的任何数据集或模型,请按以下格式引用原始论文:
@misc{faysse2024colpaliefficientdocumentretrieval,
title={ColPali:基于视觉语言模型的高效文档检索},
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},
}