许可证: mit
数据集:
- openbmb/VisRAG-Ret-Train-Synthetic-data
- openbmb/VisRAG-Ret-Train-In-domain-data
- Metric-AI/rag_docmatix_100k
- vidore/colpali_train_set
- llamaindex/vdr-multilingual-train
- Metric-AI/tabfquad_train_set
语言:
- 英语
- 法语
- 西班牙语
- 意大利语
- 德语
基础模型:
- Metric-AI/ColQwenStella-base-2b
- Qwen/Qwen2-VL-2B
- NovaSearch/stella_en_1.5B_v5
标签:
- vidore
- 多模态嵌入
- 多语言嵌入
- 文本到视觉文档检索(T→VD)
库名称: peft
流水线标签: 视觉文档检索
ColQwenStella-2b-multilingual: 基于Qwen2视觉模型与stella_en_1.5B_v5结合的多语言视觉检索器
在Vidore基准测试中(截至2025年2月11日),参数量≤20亿的模型中排名第一,综合排名第八。Vidore排行榜报告分数对应checkpoint-1800版本。
此基础版本使用4块A100 80GB显卡训练,每设备批次大小为128,训练5个周期。
ColQwenStella-2b-multilingual架构融合了Qwen2模型的视觉组件与stella_en_1.5B_v5作为嵌入模型,训练方法遵循ColPali: 基于视觉语言模型的高效文档检索方案。
数据
- 合成数据:选自
openbmb/VisRAG-Ret-Train-Synthetic-data
数据集并经过预处理
- 领域内VQA数据:源自
openbmb/VisRAG-Ret-Train-In-domain-data
- Docmatix数据集:提取自
Metric-AI/rag_docmatix_100k
- Colpali数据集:来自
vidore/colpali_train_set
- 多语言数据集:取自
llamaindex/vdr-multilingual-train
模型训练
参数配置
采用低秩适配器(LoRA)技术,在语言模型的Transformer层、视觉模型merger的mlp层以及随机初始化的最终投影层上设置alpha=128
和r=128
。使用adamw
优化器,在4xA100 GPU上通过分布式数据并行(accelerate实现)进行训练,学习率5e-4配合100步余弦退火热身,每设备批次大小128,采用bfloat16
格式。
安装
pip install transformers>=4.46.3
使用示例
import torch
from PIL import Image
from transformers import AutoModel, AutoProcessor
model = AutoModel.from_pretrained(
"Metric-AI/ColQwenStella-2b-multilingual",
torch_dtype=torch.bfloat16,
device_map="cuda:0",
trust_remote_code=True
).eval()
processor = AutoProcessor.from_pretrained("Metric-AI/ColQwenStella-2b-multilingual", trust_remote_code=True)
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)
许可证
模型适配器部分采用MIT许可证。