ONNX 模型库
返回模型

说明文档

minishlab/M2V_base_output 模型卡片

Model2Vec 模型是 baai/bge-base-en-v1.5 Sentence Transformer 的蒸馏版本。它使用静态嵌入,使文本嵌入能够在 GPU 和 CPU 上以数量级的速度更快地计算。它专为计算资源有限或实时性能至关重要的应用场景而设计。

安装

使用 pip 安装 model2vec:

pip install model2vec

使用方法

使用 from_pretrained 方法加载模型:

from model2vec import StaticModel

# 加载预训练的 Model2Vec 模型
model = StaticModel.from_pretrained("minishlab/M2V_base_output")

# 计算文本嵌入
embeddings = model.encode(["Example sentence"])

或者,您可以使用 distill 方法蒸馏自己的模型:

from model2vec.distill import distill

# 选择一个 Sentence Transformer 模型
model_name = "BAAI/bge-base-en-v1.5"

# 蒸馏模型
m2v_model = distill(model_name=model_name, pca_dims=256)

# 保存模型
m2v_model.save_pretrained("m2v_model")

工作原理

Model2vec 创建了一个小型、快速且强大的模型,在所有我们能找到的任务上,它以较大优势超越其他静态嵌入模型,同时比传统的静态嵌入模型(如 GloVe)创建速度更快。最棒的是,使用 Model2Vec 蒸馏模型不需要任何数据。

它的工作原理是:将词汇表通过 Sentence Transformer 模型传递,然后使用 PCA 对生成的嵌入进行降维,最后使用 zipf 加权对嵌入进行加权。在推理过程中,我们只需对句子中所有词嵌入取平均值。

其他资源

库作者

Model2Vec 由 Minish Lab 团队开发,团队成员包括 Stephan TulkensThomas van Dongen

引用

如果您在工作中使用此模型,请引用 Model2Vec 仓库

@software{minishlab2024model2vec,
  authors = {Stephan Tulkens, Thomas van Dongen},
  title = {Model2Vec: Turn any Sentence Transformer into a Small Fast Model},
  year = {2024},
  url = {https://github.com/MinishLab/model2vec},
}

minishlab/M2V_base_output

作者 minishlab

model2vec
↓ 63.8K ♥ 10

创建时间: 2024-09-19 18:03:34+00:00

更新时间: 2025-01-21 19:16:22+00:00

在 Hugging Face 上查看

文件 (15)

.gitattributes
README.md
config.json
embeddings.safetensors
model.safetensors
modules.json
onnx/model.onnx ONNX
onnx/model_fp16.onnx ONNX
onnx/model_int8.onnx ONNX
onnx/model_quantized.onnx ONNX
onnx/model_uint8.onnx ONNX
special_tokens_map.json
tokenizer.json
tokenizer_config.json
vocab.txt