🚀 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
許可證。