Jina CLIP v2:多语言多模态的文本图像向量模型

Jina CLIP v2:多语言多模态的文本图像向量模型

原创 Jina AI Jina AI 2024年11月22日 12:47 北京

多模态向量通过统一的数据表示,实现了不同模态数据的搜索和理解,是神经检索和多模态生成式 AI 应用的基石。今天,我们推出了全新的通用多语言多模态向量模型 ------ jina-clip-v2。该模型基于 jina-clip-v1jina-embeddings-3 构建,并实现了多项关键改进:

  • 性能提升 :v2 在文本-图像和文本-文本检索任务中,性能较 v1 提升了 3%。此外,与 v1 类似,v2 的文本编码器也能高效地应用于多语言长文本密集检索索,其性能可与我们目前最先进的模型 ------ 参数量低于 1B 的最佳多语言向量模型 jina-embeddings-v3(基于 MTEB 排行榜)------ 相媲美。

  • 多语言支持 :以 jina-embeddings-v3 作为文本塔,jina-clip-v2 支持 89 种语言的多语言图像检索,并在该任务上的性能相比 nllb-clip-large-siglip 提升了 4%。

  • 更高图像分辨率 :v2 支持 512x512 像素的输入图像分辨率,相比 v1 的 224x224 有了大幅提升。能够更好地捕捉图像细节,提升特征提取的精度,并更准确地识别细粒度视觉元素。

  • 可变维度输出jina-clip-v2 引入了俄罗斯套娃表示学习(Matryoshka Representation Learning,MRL)技术,只需设置 dimensions 参数,即可获取指定维度的向量输出,且在减少存储成本的同时,保持强大的性能。

模型开源链接 **:**https://huggingface.co/jinaai/jina-clip-v2

API 快速上手 : https://jina.ai/?sui=\&model=jina-clip-v2

模型架构

jina-clip-v2 是一个 9 亿参数的类 CLIP 模型,它结合了两个强大的编码器:文本编码器 Jina XLM-RoBERTajina-embeddings-v3 的骨干网络)和视觉编码器 EVA02-L14(由 BAAI 开发的高效视觉 Transformer)。这些编码器经过联合训练,生成图像和文本的对齐表示。

跨模态检索性能

Jina CLIP v2 支持 89 种语言,在包括中文、英语、法语、德语、日语、俄语、阿拉伯语和西班牙语在内的主要语种中都表现优异。

在多语言图像检索基准测试中,8.65 亿参数的jina-clip-v2 的性能比目前最先进的 CLIP 模型 NLLB-CLIP-SigLIP 相当甚至更好。

Jina CLIP v2 的参数量介于 NLLB-CLIP-SigLIP 的两个版本之间:其 base 版本参数量为 5.07 亿,比 Jina CLIP v2 小 41%,large 版本参数量则高达 12 亿,比 Jina CLIP v2 大 39%。

英语文本和图像检索性能

jina-clip-v2 在标准跨模态检索基准(Flickr30k 和 COCO)取得了全面的性能提升。

尤其在 Flickr30k 图像到文本检索任务中,jina-clip-v2 达到 98% 的 SOTA 精度,超越了前代版本 jina-clip-v1 和 NLLB-CLIP-SigLIP。

即使在 COCO 数据集上,jina-clip-v2 相比 v1 提升了 3.3% 的性能,并在其他基准和模态组合上保持了与 NLLB-CLIP-SigLIP 的强劲竞争力。

Flickr30k Recall@5 性能:

COCO Recall@5 性能:

多语言文本和图像检索性能

jina-clip-v2 在多语言跨模态基准测试中同样表现出色,特别在图像到文本检索。

在所有测试数据集上,jina-clip-v2 的性能都优于 NLLB-SigLIP-Large,在 Crossmodal 3600 数据集上提升了 3.8%。虽然 NLLB-SigLIP-Large 在文本到图像检索方面略强,但性能差距仍然很小,在 3% 以内。

图像到文本召回率@5 性能:

文本到图像召回率@5 性能:

纯文本密集检索性能

与其前代模型类似,jina-clip-v2 的文本编码器也可以作为一个高效的多语言密集检索器。

在综合性的多语言 MTEB 基准测试中,jina-clip-v2 表现出色,在检索任务和语义相似度任务中分别取得了 69.86% 和 67.77% 的高分,展现了其多功能性,和专门的文本向量模型 jina-embeddings-v3 相比也有竞争力。

此外,在英语文本检索任务中,jina-clip-v2 的性能持续优于前代版本和 NLLB-SigLIP,尤其在检索性能方面,其得分几乎是 NLLB-SigLIP 的两倍。

可变维度输出的性能评估

jina-clip-v2 的文本和图像编码器均引入了俄罗斯套娃表征学习(Matryoshka Representation Learning, MRL)技术,来实现灵活的灵活的输出维度长度。输出维度可以从 1024 截断至 64 维,并在很大程度上能保持原有性能。

我们的评估结果表明,即使是激进的 75% 维度削减,模型在文本、图像和跨模态任务中仍能保持 99% 以上的性能,展现出了 jina-clip-v2 极高的压缩效率。

图像分类(截断维度)

为了全面评估图像分类性能,我们使用了涵盖多个领域的基准数据集,包括 VTAB(19 个基准测试)、VOC 2007、SUN397、STL10、Rendered SST2、ObjectNet、MNIST、GTSRB、FGVC-Aircraft、FER 2013、Country211、Cars196 以及 ImageNet 系列(A、O、1k、Sketch、v2)。

在 37 个不同的图像分类基准测试中,jina-clip-v2 的图像编码器对维度截断表现出良好的鲁棒性。从 1024 维压缩到 64 维,94% 的压缩率,仅仅导致 top-5 准确率下降 8%,top-1 准确率下降 12.5%,体现了 jina-clip-v2 在低资源环境下高效部署的潜力。

跨模态检索 (截断维度)

我们基于六个基准测试对 Jina CLIP v2 的跨模态检索性能进行了评估,其中三个为多语言基准测试:Crossmodal-3600(36 种语言)、flickr30k(仅英语)、flickr8k(仅英语)、MS COCO Captions(仅英语)、Multilingual MS COCO Captions(10 种语言)和 XTD 200(27 种语言)。

即使在维度大幅减少 94%(降至 64 维)的情况下,使用截断后的图像和文本向量进行跨模态检索仍能保持出色的性能,图像到文本和文本到图像检索性能分别保持在 93% 和 90%。

纯文本检索 (截断维度)

在仅英语的 MTEB 基准测试中,将向量维度从 1024 压缩至 64 维后,语义相似度得分仅下降 2.1%,而检索性能下降 17.5%。

快速开始

通过 API 调用

调用我们的 API 最快最简单的上手方式,你只需发送一段文本、一张图片(Base64 编码或图片链接),并指定向量维度即可(默认为 1024 维,下面示例中使用了 768 维)。

import requests
import numpy as np
from numpy.linalg import norm

cos_sim = lambda a,b: (a @ b.T) / (norm(a)*norm(b))

url = 'https://api.jina.ai/v1/embeddings'

headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer <YOUR_JINA_AI_API_KEY>'
}

data = {
  'input': [
     {"text": "Bridge close-shot"},
     {"url": "https://fastly.picsum.photos/id/84/1280/848.jpg?hmac=YFRYDI4UsfbeTzI8ZakNOR98wVU7a-9a2tGF542539s"}],
  'model': 'jina-clip-v2',
  'encoding_type': 'float',
  'dimensions': '768'
}

response = requests.post(url, headers=headers, json=data)
sim = cos_sim(np.array(response.json()['data'][0]['embedding']), np.array(response.json()['data'][1]['embedding']))
print(f"Cosine text<->image: {sim}")

请将代码中的 <YOUR_JINA_AI_API_KEY> 替换成你自己的 Jina API Key。还没有 API Key?没关系,点击官网即可获取,内含一百万免费 Toekn。

📎 https://jina.ai/?sui=apikey

Token 消耗计算

API 调用会根据处理的文本和图片大小计算 Token 消耗量。图片的计费方式是:将图片切分成多个 512x512 像素的小块,每个小块计费 4,000 Token。为了控制成本,我们建议在调用 API 前,将图片调整到 512x512 像素。

如果是正方形图片,调整到 512x512 像素是最经济的选择。如果需要保持图片原比例,把图片最长边缩放到 512 像素,图片居中,用黑色填充。一般来说,直接将图片调整到 512x512 像素就能满足需求。

云平台部署

Jina CLIP v2 还可以直接部署在 AWS、Azure 和 GCP 等主流云平台上,方便大家根据需求灵活选择。更多定价信息请参考对应平台官方页面:

向量数据库集成

结论

Jina AI 继今年 6 月推出 Jina CLIP v1,9 月推出前沿的多语言模型 Jina Embeddings v3 之后,再次凭借 Jina CLIP v2 取得了重大进展。

Jina CLIP v1 扩展了 OpenAI CLIP 模型的文本输入能力,最高可达 8192 个 token。如今,Jina CLIP v2 在此基础上实现了三大突破:支持 89 种语言图像分辨率提升至 512x512并实现了灵活的输出维度长度,进一步提升了模型表征性能和鲁棒性。

类 CLIP 模型已成为通用多模态应用的基石。Jina CLIP v2 进一步提升了 CLIP 模型的性能,打破语言障碍,实现了更精准的跨模态理解和检索。我们相信这次发布兑现了承诺,Jina CLIP v2 让全球开发者能够应用更强大、更易用的多模态搜索能力。

相关推荐
Elastic 中国社区官方博客25 天前
使用 Jina Embeddings v2 在 Elasticsearch 中进行后期分块
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·jina
王多头发2 个月前
【大模型开发指南】llamaindex配置deepseek、jina embedding及chromadb实现本地RAG及知识库(win系统、CPU适配)
embedding·jina
飞来又飞去4 个月前
ansible playbook使用jinja2语法渲染inventory下的主机名和IP到/etc/hosts
python·ansible·运维开发·jina
jieshenai5 个月前
langchain使用jina-embeddings构建Chroma向量库,解决加载模型初始化失败
langchain·jina
Jina AI6 个月前
Jina CLIP v1:多模态向量模型,为文本和图像而生!
人工智能·jina
007php00710 个月前
智慧餐饮系统架构的设计与实现
java·人工智能·经验分享·redis·分布式·python·sql·深度学习·jmeter·mysql·mongodb·elasticsearch·ajax·微服务·设计模式·zookeeper·架构·golang·spark·系统架构·json·rabbitmq·php·nosql·hbase·postman·sass·健康医疗·dba·接口隔离原则·easyui·xss·activemq·yarn·oneapi·composer·storm·jira·iotdb·单一职责原则·交通物流·jina
Jina AI1 年前
Jina AI 的 8K 向量模型上线 AWS Marketplace,支持本地部署!
人工智能·云计算·aws·jina
comli_cn1 年前
论文阅读:JINA EMBEDDINGS: A Novel Set of High-Performance Sentence Embedding Models
论文阅读·embedding·jina