🚀 jina-embeddings-v3-separation-distilled模型卡片
本模型是基于 Model2Vec 库的一个模型,它是 jinaai/jina-embeddings-v3 句子转换器的蒸馏版本,并应用了 separation
任务的 LoRA。该模型使用静态嵌入,能让文本嵌入在 GPU 和 CPU 上的计算速度大幅提升。它专为计算资源有限或对实时性能要求较高的应用场景而设计。
🚀 快速开始
本模型可通过 Model2Vec
库加载使用,能快速完成文本嵌入计算。
✨ 主要特性
- 多语言支持:支持多种语言,包括但不限于英语、中文、法语、德语等。
- 高效计算:使用静态嵌入,在 GPU 和 CPU 上都能快速计算文本嵌入。
- 易于使用:提供简单的 API 接口,方便用户加载和使用模型。
📦 安装指南
使用 pip 安装 model2vec
库:
pip install model2vec
💻 使用示例
基础用法
使用 from_pretrained
方法加载模型并计算文本嵌入:
from model2vec import StaticModel
model = StaticModel.from_pretrained("CISCai/jina-embeddings-v3-separation-distilled")
embeddings = model.encode(["Example sentence"])
高级用法
将 Model2Vec
模型加载到 Sentence Transformer
模型中:
from sentence_transformers import SentenceTransformer
from sentence_transformers.models import StaticEmbedding
static_embedding = StaticEmbedding.from_model2vec("CISCai/jina-embeddings-v3-separation-distilled")
model = SentenceTransformer(modules=[static_embedding])
embeddings = model.encode(["Example sentence"])
模型蒸馏用法
使用 distill
方法蒸馏自己的模型:
from model2vec.distill import distill
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
通过以下步骤创建一个小而快且强大的模型:
- 将词汇表输入到句子转换器模型中。
- 使用 PCA 对生成的嵌入进行降维。
- 使用 zipf 加权对嵌入进行加权。
在推理过程中,只需取句子中所有词嵌入的平均值。该模型在所有可找到的任务中都大幅优于其他静态嵌入模型,并且比传统的静态嵌入模型(如 GloVe)创建速度快得多。最重要的是,使用 Model2Vec
蒸馏模型无需任何数据。
📚 详细文档
模型信息
属性 |
详情 |
基础模型 |
jinaai/jina-embeddings-v3 |
支持语言 |
多语言,包括 af、am、ar 等众多语言 |
库名称 |
model2vec |
模型名称 |
jina-embeddings-v3-separation-distilled |
许可证 |
cc-by-nc-4.0 |
标签 |
embeddings、static-embeddings、feature-extraction、sentence-similarity、sentence-transformers |
额外资源
库作者
Model2Vec
由 Minish Lab 团队开发,团队成员包括 Stephan Tulkens 和 Thomas 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},
}
📄 许可证
本模型使用 cc-by-nc-4.0
许可证。