bge-m3
BAAI
sentence-similarity
sentence-transformers
BAAI/bge-m3
22,848,282
下载量
3184
收藏数
28
浏览量
mit
许可
简介
更多详情请参考我们的GitHub仓库:https://github.com/FlagOpen/FlagEmbedding
模型卡片
许可协议
mit
任务
sentence-similarity
sentence-transformers
feature-extraction
sentence-similarity
模型配置
模型类型
xlm-roberta
架构
XLMRobertaModel
模型详情
已翻译更多详情请参考我们的GitHub仓库:https://github.com/FlagOpen/FlagEmbedding
BGE-M3(论文,代码)
在本项目中,我们推出BGE-M3,该模型以其多功能性、多语言性和多粒度性而著称。
- 多功能性:可同时执行embedding模型的三种常见检索功能:dense检索、multi-vector检索和sparse检索。
- 多语言性:支持超过100种工作语言。
- 多粒度性:能够处理不同粒度的输入,从短句到长达8192个token的长文档。
RAG检索流程的一些建议
我们推荐使用以下流程:混合检索 + 重排序。
- 混合检索结合了多种方法的优势,具有更高的准确性和更强的泛化能力。
一个经典示例:同时使用embedding检索和BM25算法。
现在,您可以尝试使用BGE-M3,它同时支持embedding检索和sparse检索。
这意味着在生成dense embeddings时,您可以无需额外成本获得token权重(类似于BM25)。
要使用混合检索,请参考Vespa和Milvus。
- 作为cross-encoder模型,re-ranker比bi-encoder embedding模型具有更高的准确性。
在检索后使用重排序模型(例如bge-reranker、bge-reranker-v2)可以进一步筛选所选文本。
新闻:
- 2024/7/1:我们更新了BGE-M3在MIRACL上的评估结果。要复现新结果,请参考:bge-m3_miracl_2cr。我们还在arXiv上更新了论文。
详情
之前的测试结果较低,是因为我们错误地从搜索结果中移除了与查询具有相同ID的段落。纠正此错误后,BGE-M3在MIRACL上的整体性能高于之前的结果,但实验结论保持不变。其他结果不受此错误影响。要复现之前较低的结果,您需要在通过pyserini.search.faiss或pyserini.search.lucene搜索段落时添加--remove-query参数。
- 2024/3/20:感谢Milvus团队! 现在您可以在Milvus中使用bge-m3的混合检索:pymilvus/examples/hello_hybrid_sparse_dense.py。
- 2024/3/8:感谢@Yannael的实验结果。在该基准测试中,BGE-M3在英语和其他语言上均达到顶级性能,超越了OpenAI等模型。
- 2024/3/2:发布统一微调示例和数据。
- 2024/2/6:我们发布了MLDR(一个覆盖13种语言的长文档检索数据集)和评估流程。
- 2024/2/1:感谢Vespa提供的优秀工具。 您可以按照此notebook轻松使用BGE-M3的多种模式。
规格
- 模型
| 模型名称 | 维度 | 序列长度 | 简介 |
|---|---|---|---|
| BAAI/bge-m3 | 1024 | 8192 | 多语言;基于bge-m3-unsupervised的统一微调(dense、sparse和colbert) |
| BAAI/bge-m3-unsupervised | 1024 | 8192 | 多语言;基于bge-m3-retromae的对比学习 |
| BAAI/bge-m3-retromae | -- | 8192 | 多语言;将xlm-roberta的最大长度扩展至8192,并通过retromae进一步预训练 |
| BAAI/bge-large-en-v1.5 | 1024 | 512 | 英文模型 |
| BAAI/bge-base-en-v1.5 | 768 | 512 | 英文模型 |
正在翻译中,请稍候...
标签
onnx
xlm-roberta
feature-extraction
arxiv:2402.03216
arxiv:2004.04906
arxiv:2106.14807
arxiv:2107.05720
arxiv:2004.12832