许可协议: cc-by-nc-4.0
数据集:
- tattrongvu/vqa_de_en_batch1
- vidore/colpali_train_set
语言:
- 英文
- 德文
基础模型:
- vidore/colqwen2-base
标签:
- vidore
- 多模态嵌入
库名称: peft
管道标签: 视觉文档检索
ColQwen2-2B:基于Qwen2-VL-2B-Instruct与ColBERT策略的视觉检索模型
此为批量大小8x128训练5个周期且更新了填充标记的基础版本
ColQwen是基于视觉语言模型(VLMs)的新型模型架构和训练策略,旨在通过视觉特征高效索引文档的模型。它是Qwen2-VL-2B的扩展版本,能够生成ColBERT风格的多向量文本与图像表示。该模型在论文ColPali:基于视觉语言模型的高效文档检索中首次提出,并发布于此代码库。
此版本为未经训练的基准版本,以确保投影层初始化的确定性。

版本特性
本模型接受动态分辨率图像输入且不调整其尺寸,保持与ColPali相同的宽高比。最大分辨率设定为最多生成1024个图像块。实验表明,增加图像块数量能显著提升效果,但会提高内存需求。
此版本使用colpali-engine==0.3.4
训练。
训练数据与论文中描述的ColPali数据相同。
模型训练
参数配置
我们采用低秩适配器(LoRA)进行训练,语言模型转换器层的alpha=128
、r=128
,同时对随机初始化的最终投影层进行训练,优化器选用paged_adamw_8bit
。在8xH100 GPU上通过分布式数据并行(基于accelerate)进行训练,学习率2e-4并采用1%预热步数的线性衰减策略,每设备批量大小为128,使用bfloat16
格式。
使用说明
请确保安装版本不低于0.3.4的colpali-engine
,且transformers
版本需高于4.46.1。
pip install git+https://github.com/illuin-tech/colpali
import torch
from PIL import Image
from colpali_engine.models import ColQwen2, ColQwen2Processor
model = ColQwen2.from_pretrained(
"tsystems/colqwen2-2b-v1.0",
torch_dtype=torch.bfloat16,
device_map="cuda:0",
).eval()
processor = ColQwen2Processor.from_pretrained("tsystems/colqwen2-2b-v1.0")
images = [
Image.new("RGB", (32, 32), color="white"),
Image.new("RGB", (16, 16), color="black"),
]
queries = [
"注意力机制真的就是全部所需吗?",
"萨尔瓦多香蕉种植量是多少?",
]
batch_images = processor.process_images(images).to(model.device)
batch_queries = processor.process_queries(queries).to(model.device)
with torch.no_grad():
image_embeddings = model(**batch_images)
query_embeddings = model(**batch_queries)
scores = processor.score_multi_vector(query_embeddings, image_embeddings)
局限性
- 专注领域:模型主要针对PDF类文档和高资源语言,对其他文档类型或低资源语言的泛化能力可能有限。
- 技术支持:模型依赖ColBERT延迟交互机制衍生的多向量检索,需工程适配才能兼容缺乏原生多向量支持的通用向量检索框架。
许可声明
ColQwen2的视觉语言主干模型(Qwen2-VL)采用apache2.0
许可协议。
本微调适配器遵循CC BY NC 4.0许可协议,当前仅限研究用途。
引用文献
若使用本组织的模型进行研究,请按以下格式引用原始论文:
@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},
}