说明文档
bge-m3-m2v-distilled-768 模型卡片
该 Model2Vec 模型是 BAAI/bge-m3(https://huggingface.co/BAAI/bge-m3) 句子转换器的蒸馏版本。它使用静态嵌入,可以在 GPU 和 CPU 上以快几个数量级的速度计算文本嵌入。它专为计算资源有限或实时性能要求高的应用场景而设计。Model2Vec 模型是目前最小、最快且性能最优的静态嵌入器。蒸馏后的模型比传统句子转换器体积小 50 倍,速度快 500 倍。
安装
使用 pip 安装 model2vec:
pip install model2vec
使用方法
使用 Model2Vec
Model2Vec 库 是运行 Model2Vec 模型最快、最轻量的方式。
使用 from_pretrained 方法加载该模型:
from model2vec import StaticModel
# 加载预训练的 Model2Vec 模型
model = StaticModel.from_pretrained("bge-m3-m2v-distilled-768")
# 计算文本嵌入
embeddings = model.encode(["Example sentence"])
使用 Sentence Transformers
你也可以使用 Sentence Transformers 库 来加载和使用该模型:
from sentence_transformers import SentenceTransformer
# 加载预训练的 Sentence Transformer 模型
model = SentenceTransformer("bge-m3-m2v-distilled-768")
# 计算文本嵌入
embeddings = model.encode(["Example sentence"])
蒸馏 Model2Vec 模型
你可以使用 distill 方法从句子转换器模型蒸馏出一个 Model2Vec 模型。首先,使用 pip install model2vec[distill] 安装 distill 额外组件。然后,运行以下代码:
from model2vec.distill import distill
# 蒸馏一个句子转换器模型,此处以 BAAI/bge-base-en-v1.5 模型为例
m2v_model = distill(model_name="BAAI/bge-base-en-v1.5", pca_dims=256)
# 保存模型
m2v_model.save_pretrained("m2v_model")
工作原理
Model2Vec 创建了一个小型、快速且强大的模型,在我们能找到的所有任务上,其性能大幅超越其他静态嵌入模型,同时比 GloVe 等传统静态嵌入模型的创建速度快得多。最棒的是,使用 Model2Vec 蒸馏模型不需要任何数据。
它的工作原理是:将词表通过句子转换器模型处理,然后使用 PCA 降低所得嵌入的维度,最后使用 SIF 加权 对嵌入进行加权。在推理过程中,我们只需取句子中所有 token 嵌入的平均值。
更多资源
库作者
Model2Vec 由 Minish Lab 团队开发,团队成员包括 Stephan Tulkens 和 Thomas van Dongen。
引用
如果你在工作中使用了该模型,请引用 Model2Vec 仓库。
@software{minishlab2024model2vec,
authors = {Stephan Tulkens and Thomas van Dongen},
title = {Model2Vec: Fast State-of-the-Art Static Embeddings},
year = {2024},
url = {https://github.com/MinishLab/model2vec}
}
xnohat/bge-m3-m2v-distilled-768
作者 xnohat
创建时间: 2025-03-09 20:19:57+00:00
更新时间: 2025-03-09 20:25:13+00:00
在 Hugging Face 上查看