

今天,我们很高兴宣布 jina-embeddings-v3,这是一个拥有 5.7 亿参数的前沿文本嵌入模型。它在**多语言**数据和**长文本**检索任务上实现了最先进的性能,支持长达 8192 个 token 的输入长度。该模型具有特定任务的低秩适应(LoRA)适配器,使其能够为**查询-文档检索**、**聚类**、**分类**和**文本匹配**等各种任务生成高质量嵌入。
在 MTEB 英语、多语言和 LongEmbed 评估中,jina-embeddings-v3 在英语任务上优于 OpenAI 和 Cohere 最新的专有嵌入,同时在所有多语言任务上的表现都超过了 multilingual-e5-large-instruct
。借助套娃表示学习(MRL)的集成,用户可以在不影响性能的情况下,将默认 1024 维的输出任意截断至 32 维。
jina-embeddings-v2-(zh/es/de)
指的是我们的双语模型套件,该套件仅在中文、西班牙语和德语的单语言和跨语言任务上进行了测试,不包括其他语言。此外,我们没有报告 openai-text-embedding-3-large
和 cohere-embed-multilingual-v3.0
的分数,因为这些模型未在全部多语言和跨语言 MTEB 任务上进行评估。baai-bge-m3
使用的固定位置嵌入和 jina-embeddings-v2
使用的基于 ALiBi 的方法。截至 2024 年 9 月 18 日发布时,jina-embeddings-v3 是**最佳**多语言模型,并在参数少于 10 亿的模型中在 MTEB 英语排行榜上排名**第二**。v3 总共支持 89 种语言,其中包括 30 种性能最佳的语言:阿拉伯语、孟加拉语、中文、丹麦语、荷兰语、英语、芬兰语、法语、格鲁吉亚语、德语、希腊语、印地语、印尼语、意大利语、日语、韩语、拉脱维亚语、挪威语、波兰语、葡萄牙语、罗马尼亚语、俄语、斯洛伐克语、西班牙语、瑞典语、泰语、土耳其语、乌克兰语、乌尔都语和越南语。

jina-embeddings-v2
展现出超线性的改进。该图表是通过从 MTEB 排行榜中选择前 100 个嵌入模型创建的,排除了那些没有规模信息的模型(通常是闭源或专有模型)。明显的恶意提交也被过滤掉了。此外,与最近受到关注的基于 LLM 的嵌入(如 e5-mistral-7b-instruct
)相比,后者参数量为 71 亿(大 12 倍)、输出维度为 4096(大 4 倍),但在 MTEB 英语任务上仅提高了 1%,jina-embeddings-v3 是一个更具成本效益的解决方案,更适合生产和边缘计算环境。
tag模型架构
特性 | 描述 |
---|---|
基础 | jina-XLM-RoBERTa |
基础参数量 | 559M |
含 LoRA 参数量 | 572M |
最大输入 tokens | 8192 |
最大输出维度 | 1024 |
层数 | 24 |
词表大小 | 250K |
支持的语言数 | 89 |
注意力机制 | FlashAttention2,也可不使用 |
池化方式 | Mean pooling |
jina-embeddings-v3 的架构如下图所示。为实现骨干网络架构,我们对 XLM-RoBERTa
模型进行了几个关键修改:(1) 支持长文本序列的高效编码,(2) 允许针对特定任务的嵌入编码,(3) 采用最新技术提升整体模型效率。我们继续使用原始的 XLM-RoBERTa
分词器。虽然 jina-embeddings-v3 的参数量为 5.7 亿,比 1.37 亿参数的 jina-embeddings-v2
更大,但仍远小于从 LLM 微调得到的嵌入模型。
jina-XLM-RoBERTa
模型,包含用于四个不同任务的五个 LoRA 适配器。jina-embeddings-v3 的关键创新在于使用 LoRA 适配器。我们引入了五个任务特定的 LoRA 适配器来优化四种任务的嵌入。模型的输入包含两部分:文本(待嵌入的长文档)和任务。jina-embeddings-v3 支持四种任务,实现了五个可选的适配器:retrieval.query
和 retrieval.passage
用于非对称检索任务中的查询和段落嵌入,separation
用于聚类任务,classification
用于分类任务,以及 text-matching
用于涉及语义相似度的任务,如 STS 或对称检索。LoRA 适配器仅占总参数量的不到 3%,对计算带来的额外开销极小。
为进一步提升性能并减少内存消耗,我们集成了 FlashAttention 2,支持激活检查点,并使用 DeepSpeed 框架进行高效的分布式训练。
tag开始使用
tag通过 Jina AI Search Foundation API
使用 jina-embeddings-v3 最简单的方式是访问 Jina AI 主页并导航至 Search Foundation API 部分。从今天开始,该模型将成为所有新用户的默认选项。您可以直接在那里探索不同的参数和功能。

curl https://api.jina.ai/v1/embeddings \
-H "Content-Type: application/json" \
-H "Authorization: Bearer jina_387ced4ff3f04305ac001d5d6577e184hKPgRPGo4yMp_3NIxVsW6XTZZWNL" \
-d '{
"model": "jina-embeddings-v3",
"task": "text-matching",
"dimensions": 1024,
"late_chunking": true,
"input": [
"Organic skincare for sensitive skin with aloe vera and chamomile: ...",
"Bio-Hautpflege für empfindliche Haut mit Aloe Vera und Kamille: Erleben Sie die wohltuende Wirkung...",
"Cuidado de la piel orgánico para piel sensible con aloe vera y manzanilla: Descubre el poder ...",
"针对敏感肌专门设计的天然有机护肤产品:体验由芦荟和洋甘菊提取物带来的自然呵护。我们的护肤产品特别为敏感肌设计,...",
"新しいメイクのトレンドは鮮やかな色と革新的な技術に焦点を当てています: 今シーズンのメイクアップトレンドは、大胆な色彩と革新的な技術に注目しています。..."
]}'
与 v2 相比,v3 在 API 中引入了三个新参数:task
、dimensions
和 late_chunking
。
参数 task
task
参数至关重要,必须根据下游任务进行设置。生成的嵌入将针对该特定任务进行优化。详细信息请参考下面的列表。
task 值 |
任务描述 |
---|---|
retrieval.passage |
在查询-文档检索任务中嵌入文档 |
retrieval.query |
在查询-文档检索任务中嵌入查询 |
separation |
文档聚类、语料库可视化 |
classification |
文本分类 |
text-matching |
(默认) 语义文本相似度、通用对称检索、推荐、查找相似项、去重 |
请注意,API 不是先生成通用的元嵌入,然后用额外的微调 MLP 来适配它。相反,它将特定任务的 LoRA 适配器插入到每个 transformer 层(共 24 层)中,并一次性完成编码。更多详细信息可以在我们的 arXiv 论文中找到。
参数 dimensions
dimensions
参数允许用户以最低成本在空间效率和性能之间做出权衡。得益于 jina-embeddings-v3 中使用的 MRL 技术,您可以根据需要减少嵌入的维度(甚至可以降到单个维度!)。较小的嵌入对向量数据库更友好,其性能成本可以从下图中估算。
参数 late_chunking

最后,late_chunking
参数控制是否使用我们上个月引入的新分块方法来编码一批句子。当设置为 true
时,我们的 API 将连接 input
字段中的所有句子,并将它们作为单个字符串输入模型。换句话说,我们将输入中的句子视为原本来自同一个章节、段落或文档。在内部,模型嵌入这个长的连接字符串,然后执行后期分块,返回一个与输入列表大小相匹配的嵌入列表。因此,列表中的每个嵌入都受到前面嵌入的影响。
从用户的角度来看,设置 late_chunking
不会改变输入或输出格式。您只会注意到嵌入值的变化,因为它们现在是基于整个前文上下文而不是独立计算的。在使用时需要重要注意的是late_chunking=True
意味着每个请求中所有 input
的令牌总数限制为 8192,这是 jina-embeddings-v3 允许的最大上下文长度。当 late_chunking=False
时,没有这样的限制;令牌总数仅受制于Embedding API 的速率限制。


晚期分块开启与关闭对比:输入和输出格式保持相同,唯一的区别在于嵌入值。当启用 late_chunking
时,嵌入会受到 input
中整个前文上下文的影响,而不启用时,嵌入则是独立计算的。
tag通过 Azure 和 AWS
jina-embeddings-v3 现已在 AWS SageMaker 和 Azure Marketplace 上线。

如果您需要在这些平台之外或在公司内部使用它,请注意该模型是在 CC BY-NC 4.0 许可下发布的。如有商业使用需求,请随时与我们联系。
tag通过向量数据库和合作伙伴
我们与 Pinecone、Qdrant 和 Milvus 等向量数据库提供商,以及 LlamaIndex、Haystack 和 Dify 等 LLM 编排框架密切合作。在发布时,我们很高兴地宣布 Pinecone、Qdrant、Milvus 和 Haystack 已经集成了对 jina-embeddings-v3 的支持,包括三个新参数:task
、dimensions
和 late_chunking
。其他已经集成了 v2
API 的合作伙伴只需将模型名称改为 jina-embeddings-v3 即可支持 v3
。不过,他们可能还未支持 v3
中引入的新参数。
通过 Pinecone

通过 Qdrant

通过 Milvus

通过 Haystack

tag总结
2023 年 10 月,我们发布了 jina-embeddings-v2-base-en,这是世界上第一个支持 8K 上下文长度的开源嵌入模型。它是唯一一个支持长上下文并能与 OpenAI 的 text-embedding-ada-002
相媲美的文本嵌入模型。今天,经过一年的学习、实验和宝贵经验,我们很自豪地发布 jina-embeddings-v3——这是文本嵌入模型的一个新境界,也是我们公司的一个重要里程碑。
通过这次发布,我们继续在我们擅长的领域保持卓越:长上下文嵌入,同时也满足了来自行业和社区最迫切的需求——多语言嵌入。与此同时,我们将性能推向新高。通过任务特定 LoRA、MRL 和晚期分块等新功能,我们相信 jina-embeddings-v3 将真正成为各种应用的基础嵌入模型,包括 RAG、智能代理等。与近期基于 LLM 的嵌入模型(如 NV-embed-v1/v2
)相比,我们的模型参数效率非常高,使其更适合生产和边缘设备部署。
展望未来,我们计划专注于评估和改进 jina-embeddings-v3 在低资源语言上的性能,并进一步分析由数据可用性限制导致的系统性失败。此外,jina-embeddings-v3 的模型权重及其创新功能和独特见解,将作为我们即将推出的模型的基础,包括 jina-clip-v2,jina-reranker-v3
和 reader-lm-v2
。