项目概述
colbertv2-camembert-L4-mmarcoFR是一个用于法语语义搜索的轻量级ColBERTv2模型。该项目主要通过将查询和文本段落编码为矩阵形式的词级嵌入,并使用可扩展的向量相似度(MaxSim)运算符来高效查找与查询在上下文中匹配的段落。
主要特点
- 基于ColBERTv2架构开发
- 专门针对法语进行优化
- 模型体积轻量,仅54M参数
- 支持高效的语义搜索
- 提供完整的使用示例和评估数据
技术实现
该模型基于camembert-L4检查点进行初始化,采用了KL散度损失和批内采样的softmax交叉熵损失的组合方式进行优化。训练过程使用了一块80GB的NVIDIA H100 GPU,经过325k步训练,采用AdamW优化器,批量大小为32,峰值学习率为1e-5。模型的嵌入维度设置为32,问题和段落的最大序列长度分别固定为32和160个词元。
使用方法
该项目提供了两种使用方式:
- 通过RAGatouille库使用
- 通过ColBERT-AI库使用
两种方式都支持文档索引和搜索功能,用户可以根据具体需求选择合适的使用方式。
性能评估
该模型在mMARCO-fr数据集上进行了评估,测试集包含6,980个查询和880万个候选段落。评估指标包括:
- Recall@1000: 91.9%
- Recall@500: 90.3%
- Recall@100: 81.9%
- Recall@10: 56.7%
- MRR@10: 32.3%
与其他公开的法语ColBERT模型相比,该模型在保持较小模型体积的同时,展现出了出色的性能表现。
训练数据
模型使用mMARCO数据集的法语部分进行训练,包含880万个段落和539K训练查询。训练过程中采用了62个来自12个不同密集检索器的困难负样本,并使用交叉编码器重排序器对所有查询-段落对进行相关性评分,最终得到约1040万个64路元组用于模型训练。
应用价值
这个项目为法语文本检索和语义搜索提供了一个高效且实用的解决方案,特别适合需要处理大规模法语文本数据的应用场景。其轻量级的特性使其能够在资源受限的环境中得到良好应用。