Hugging Face 发布 vdr-2b-multi-v1 多语言视觉文档检索模型
Hugging Face 推出了 vdr-2b-multi-v1,这是一个专为视觉文档检索设计的多语言嵌入模型,它将文档页面截图编码为密集的单向量表示。这种方法使用户能够在不需要 OCR、数据提取管道或手动分块的情况下搜索和查询视觉丰富的文档。
关键模型能力
vdr-2b-multi-v1 相较于以前的视觉检索方法提供了几项技术优势:
- 多语言支持: 该模型在意大利语、西班牙语、英语、法语和德语上进行训练,实现跨语言检索(例如,使用意大利语查询搜索德语文档)。
- 效率和速度: 英文专用版本
vdr-2b-v1通过使用 768 个图像补丁而非 2560 个,实现了 3 倍更快的推理速度以及显著降低的 VRAM 使用量,相较于基础模型。 - 马特罗什卡表示学习(MRL): 该模型支持可变向量大小;用户可以将向量维度降低 3 倍,同时保留 98% 的嵌入质量,以优化存储和检索速度。
- 免 OCR 检索: 通过直接编码截图,该模型绕过了传统文本提取管道的复杂性。
vdr-multilingual-train 数据集
为了解决多语言多模态数据集稀缺的问题,Hugging Face 发布了 vdr-multilingual-train 数据集。这是目前最大的开源多语言合成视觉文档检索数据集,包含 50 万个高质量样本。
数据生成管道
- 数据收集: 使用基于主题的搜索从公共互联网抓取了大约 50,000 份多语言文档。为确保多样性,页面使用文档布局分析模型被分类为纯文本、纯视觉或混合类型。
- 合成查询生成: 使用 Gemini 1.5 Pro 和 Qwen2-VL-72B 生成查询。这些模型被指派生成特定和通用问题,以提高用于训练的特定问题的强度。
- 清洗和过滤: 查询经历了清洗过程,以确保语言正确、格式恰当,并移除基础短语(例如,“根据图 1”)。
- 难例负样本挖掘: 为了提高检索精度,使用 voyage-3 嵌入模型挖掘难例负样本。如果查询相关的广泛问题出现在索引的前 100 结果中,则认为该查询是“良好”的。
性能与评估
vdr-2b-multi-v1 在 ViDoRe 基准和自定义多语言测试集上进行了评估。该模型相较于基础模型 (dse-qwen2-2b-mrl-v1) 展示了显著的性能提升,特别是在非英语纯视觉和混合页面类型上。
基准结果(NDCG@5)
多语言模型在所有测试语言上平均比基础模型高出 2.2%。显著改进包括:
- 德语(纯视觉): 比基础模型提高 +6.33%。
- 意大利语(混合): 提高 +2%。
- 西班牙语(纯视觉): 提高 +1.4%。
交叉语言性能
该模型展示了有效的交叉语言检索能力。在使用意大利语翻译查询德语评估集的测试中,该模型在所有文档类型上相比基础模型平均提高了 2.3%。
实现与集成
这些模型通过 SentenceTransformers 和 LlamaIndex 与标准机器学习工作流兼容。
对于 LlamaIndex 用户,集成通过 llama-index-embeddings-huggingface 包处理。
对于 SentenceTransformers,该模型支持 torch_dtype=torch.bfloat16 和 flash_attention_2,以在 CUDA 设备上获得优化性能。