HuggingFace镜像/jina-embedding-t-en-v1
模型介绍文件和版本分析
下载使用量0



Finetuner logo: Finetuner helps you to create experiments in order to improve embeddings on search tasks. It accompanies you to deliver the last mile of performance-tuning for neural search applications.

由 Jina AI、Finetuner 团队训练的文本嵌入模型。

预期用途与模型信息

jina-embedding-t-en-v1 是一款小型语言模型,使用 Jina AI 的 Linnaeus-Clean 数据集训练而成。 该数据集包含 3.8 亿对句子,其中包括查询-文档对。 这些句子对来源于多个领域,并经过严格清洗精心筛选。 Linnaeus-Clean 数据集衍生自 Linnaeus-Full 数据集,后者最初包含 16 亿对句子。

该模型具有多种用途,包括信息检索、语义文本相似度计算、文本重排序等。

模型参数规模极小,仅 1400 万参数, 可在 CPU 上实现闪电般的推理速度,同时仍能提供出色的性能。 此外,我们还提供以下型号:

  • jina-embedding-1b-en-v1:12 亿参数,规模为 bert-base 的 10 倍(即将推出)。
  • jina-embedding-6b-en-v1:60 亿参数,规模为 bert-base 的 30 倍(即将推出)。

数据与参数

详情请查阅我们的 技术博客。

评估指标

我们将该模型与 sbert 的 all-minilm-l6-v2/all-mpnet-base-v2 以及 OpenAI 的 text-embeddings-ada-002 进行了对比:

名称参数规模维度
all-minilm-l6-v22300 万384
all-mpnet-base-v21.1 亿768
ada-embedding-002未知/OpenAI API1536
jina-embedding-t-en-v11400 万312
jina-embedding-s-en-v13500 万512
jina-embedding-b-en-v11.1 亿768
jina-embedding-l-en-v13.3 亿1024
名称STS12STS13STS14STS15STS16STS17TRECOVIDQuoraSciFact
all-minilm-l6-v20.7240.8060.7560.8540.790.8760.4730.8760.645
all-mpnet-base-v20.7260.8350.780.8570.80.9060.5130.8750.656
ada-embedding-0020.6980.8330.7610.8610.860.9030.6850.8760.726
jina-embedding-t-en-v10.7170.7730.7310.8290.7770.8600.4820.8400.522
jina-embedding-s-en-v10.7430.7860.7380.8370.800.8750.5230.8570.524
jina-embedding-b-en-v10.7510.8090.7610.8560.8120.8900.6060.8760.594
jina-embedding-l-en-v10.7450.8320.7810.8690.8370.9020.5730.8810.598

推理速度

我们在以下设备上对单个句子“What is the current weather like today?”进行了1万次编码:

  1. cpu:MacBook Pro 2020,2 GHz 四核 Intel Core i5
  2. gpu:1 块 Nvidia 3090

并记录了所花费的时间以展示嵌入速度:

名称参数维度cpu耗时gpu耗时
jina-embedding-t-en-v114m3125.78s2.36s
all-minilm-l6-v223m38411.95s2.70s
jina-embedding-s-en-v135m51217.25s2.81s

使用方法

与 Jina AI Finetuner 配合使用

# coding = utf-8
import os
import torch
import torch_npu

from sentence_transformers import SentenceTransformer
from sentence_transformers.util import cos_sim

import argparse
from openmind import pipeline, is_torch_npu_available
parser = argparse.ArgumentParser(description='manual to this script')
parser.add_argument("--model_name_or_path", type=str, default="./")
args = parser.parse_args()
model_path = args.model_name_or_path
device = None
if is_torch_npu_available():
    device = "npu:0"
else:
    device = "cpu"

sentences_1 = ['how is the weather today']
sentences_2 = [ 'What is the current weather like today?']

model = SentenceTransformer(model_path)
model = model.to(device)
embeddings_1 = model.encode(sentences_1)
embeddings_2 = model.encode(sentences_2)


cosine_scores = cos_sim(embeddings_1, embeddings_2)
print(f"cosine_scores: {cosine_scores}")

微调

请参考 Finetuner。

计划

  1. jina-embedding-s-en-v2 目前正在开发中,主要有两个目标:提升性能和增加最大序列长度。
  2. 我们目前正在研发一个结合英语和 X 语言的双语嵌入模型。即将推出的模型将命名为 jina-embedding-s/b/l-de-v1。

联系方式

加入我们的 Discord 社区,与其他社区成员交流想法。

引用

如果您在研究中发现 Jina Embeddings 有用,请引用以下论文:

@misc{günther2023jina,
      title={Jina Embeddings: A Novel Set of High-Performance Sentence Embedding Models}, 
      author={Michael Günther and Louis Milliken and Jonathan Geuter and Georgios Mastrapas and Bo Wang and Han Xiao},
      year={2023},
      eprint={2307.11224},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}