BGE-M3-Embedding
BGE-M3-Embedding
模型基本信息
开源和体验地址
官方介绍与博客
API接口信息
评测得分
发布机构
模型解读
BGE-M3-Embedding是北京智源人工智能研究院开源的一个最新的Embedding大模型,最大的特点是功能很多,体现在三个层面,包括支持100多种语言、支持短句到长文(最高8K输入)、以及支持多种不同的功能。
BGE-M3-Embedding是在三类数据上训练得到,分别是从无监督数据集种获取弱监督数据、有标签数据集中获得的微调数据以及用人工合成的数据。其中,弱监督数据集包含了11亿多语种的数据集,而微调数据集人工挑选的具有丰富语义结构的数据。
为了让BGE-M3-Embedding向量大模型有更多的能力,BAAI研究人员提出了一种self-knowledge distill技术,让模型可以一次学习多个目标。具体来说,BGE-M3-Embedding有如下能力:
- 支持100多种语言:除了英文和中文外,还支持德语、俄语、西班牙语等。此外,就中文来说,在简体中文、中文(香港)和中文(台湾)不同地区的语言表现也很好。
- 跨语种表现良好:BGE-M3-Embedding支持跨语种检索,输入非英语的查询,基于英文结果检索匹配的MKQA评测中效果超过OpenAI的text-embedding-3
- 支持不同长度的Embedding提取:前面说了BGE-M3-Embedding最高支持8K的输入,但是它在短句和长文上表现都不错。长文本测评MLDR等表现上超过了JinaEmbedding、OpenAI的text-embedding-3等。
- 支持密集向量检索(输出指定长度的向量,如1024)、稀疏检索(向量长度等于词汇表长度)以及多向量检索。输入序列长度最高8192,输出向量维度1024。
BAAI在之前也开源过BGE系列的向量大模型,取得了非常好的口碑。而此次发布的BGE-M3-Embedding比之前的BGE系列更强。从输入序列长度和输出的向量维度来看都有更大的进步。虽然官方目前没有公布在MTEB的成绩,但是也在多个不同测评上做了对比,详情可参考论文。
| Model Name | Dimension | Sequence Length |
|---|---|---|
| BAAI/bge-m3 | 1024 | 8192 |
| BAAI/bge-large-en-v1.5 | 1024 | 512 |
| BAAI/bge-base-en-v1.5 | 768 | 512 |
| BAAI/bge-small-en-v1.5 | 384 | 512 |
BGE-M3-Embedding以MIT协议开源,代码和预训练结果均无条件商用授权。
BGE-M3-Embedding在不同语言上和其它模型的对比结果:

另外,BGE-M3-Embedding有2个版本,一个是在大量数据做 contrastive learning之后得到的一个无监督版本(bge-m3-unsupervised,参考: https://www.datalearner.com/ai-models/pretrained-models/BGE-M3-Embedding-Unsupervised ),另一个是基于这个无监督版本微调得到的,就是本模型。
BGE-M3-Embedding支持继续微调,详情参考: https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/finetune