jina-embeddings-v5-omni正式发布,团队把 v5-text 向量模型的能力延伸到图像、音频和视频。文本侧不变,v5-omni 产出的文本向量与 v5-text 逐字节一致无需重建任何已有索引


  • jina-embeddings-v5-omni-small 在四模态上平均得分 53.93,以 1/5.7 的参数量追平 LCO-7B(54.43)。

  • jina-embeddings-v5-omni-nano 在 0.95B 参数下,依然能在文档检索上交出有竞争力的成绩。

 

 

资源链接:

魔搭 🧙 https://modelscope.cn/organization/jinaai

技术报告 📖 https://arxiv.org/abs/2605.08384

API 💻 https://jina.ai/embeddings/

 

开源 Omni 向量模型(同时覆盖文本、图像、音频、视频)的帕累托最优。

v5-omni-small(1.57B)的参数量不到 LCO-7B(8.93B)的 1/5,平均分却追平了它;v5-omni-nano(0.95B) 体量更小,但较 LanguageBind(1.14B)高出 8.9 分。横向对比基线包括 LanguageBind、Omni-Embed-Nemotron-3B、LCO-Embedding-Omni-3B 和 LCO-Embedding-Omni-7B。

 

不同模态的表现

按模态拆解,团队分别在 MMTEB(文本)、MIEB(图像)、MMEB-Video(视频)、MAEB(音频)上评测。

  • v5-omni-small 在文本上拿到 67.0,领跑所有 Omni 模型:这一分数从 v5-text-small 原样继承,没有损失。
  • 图像 56.05,其中聚类任务 84.57全榜最高
  • 音频 51.46 与 LCO-7B(52.37)几乎打平,音频分类任务 55.89 同样登顶。
  • 短板在视频上:41.20 对 LCO-7B 的 47.41,这是目前与端到端训练方案之间最显著的差距,时序推理更依赖端到端训练。

 

不同任务的表现

再把四个模态细拆成 13 类任务,图中星星标记的是 v5-omni-small 胜过最强开源基线(对方参数量普遍是它的 3-9 倍)的任务。

  • 领先的三项:图像分类(68.55 vs 64.30)、图像聚类(84.57 vs 83.24)、音频分类(55.89 vs 53.39)。
  • 主要差距:视频检索(27.82 vs 58.73)、组合检索 / VQA(44.23 vs 53.40):与上一张图的结论一致,视频是仍要补的一课。

 

文档检索

单独看文档检索(ViDoRe-in-MIEB)。v5-omni-small 只激活 0.92B 文本 + 图像参数,就拿到 79.08,反超 LCO-3B(78.24,激活参数 4.07B)。

v5-omni-nano 更极致:0.31B 激活参数取得 70.05,把 LanguageBind(37.33)甩开近一倍。Nemotron-3B 以 85.64 暂居榜首,但参数量是 v5-omni-small5.1 倍

模型架构

v5-omni 的做法是:作为文本侧底座的 v5-text、新增的视觉与音频编码器整体冻结,中间只插一层小型可训练投影层(projector),负责把不同模态的表示对齐到 v5-text 的语义空间。三个塔分别长这样:


  • 视觉:基座是 Qwen3.5 视觉编码器(改自 SigLIP2),配合 2x2 空间合并把 token 数压到原来的 1/4。整块编码器都冻起来,只把最后一层 fc_vision_2 换成一层随机初始化的投影,负责把视觉特征对齐到 v5-text 的输入维度,这层也是整个视觉塔里唯一参与训练的部分。

  • 音频:基座是 Qwen2.5-Omni 编码器(改自 Whisper-large-v3),同样整块冻住。一层随机初始化的 fc_audio 把 1280 维输出投到 v5-text

  • 视频:不引入新编码器,而是直接当成一串视觉帧喂给视觉塔,需要的话再带上从视频里抽出的音频段。

任务侧,v5-omni 直接继承 v5-text 的四个任务专用 LoRA 适配器(检索、文本匹配、分类、聚类),每个任务变体单独训练自己的投影层权重。

这种"冻结 + 投影"的架构带来一个直接好处:完全模块化。只用文本,就只加载文本权重(内存占用与 v5-text 一模一样);要做图文,就再挂图像塔;音频、视频按需挂载,只有跑全模态时,所有塔才一齐就位。

 

v5-omni 架构图

真正参与训练的只有中间那条小小的投影层,占总权重的 0.35%。视觉、音频、文本三个塔全部冻结。任务专用 LoRA 适配器分别处理检索、分类、聚类和文本匹配。

 

特性 jina-embeddings-v5-omni-small jina-embeddings-v5-omni-nano
基座文本模型 jina-embeddings-v5-text-small(Qwen3-0.6B) jina-embeddings-v5-text-nano(EuroBERT-210m)
总参数量 ~1.56B ~1.04B
支持模态 文本、图像、音频、视频、PDF 文本、图像、音频、视频、PDF
向量维度 1024 768
Matryoshka 维度 32, 64, 128, 256, 512, 768, 1024 32, 64, 128, 256, 512, 768
上下文长度 32768 tokens 8192 tokens
视觉编码器 Qwen3.5-2B ViT(SigLIP2) SigLIP2 Base
音频编码器 Whisper-large-v3 Whisper-large-v3
任务适配器 4 个(检索、文本匹配、分类、聚类)
文本兼容性 与 v5-text-small 逐字节一致 与 v5-text-nano 逐字节一致
可训练参数 ~18M 投影层(0.35%) ~7M 投影层(0.35%)
池化方式 Last-token Last-token
模型许可 CC BY-NC 4.0 CC BY-NC 4.0

 

快速开始

Elasticsearch(Elastic Inference Service)

如果你已经在 Elasticsearch 中用 jina-embeddings-v5-text,现有的文本索引开箱兼容 v5-omni。Omni 模型对文本输入产出的向量与 v5-text 逐字节一致:同样的输入,同样的向量,无需重新 embed,无需重建索引。要把图像、音频、视频也搜起来,只需新建一个 v5-omni 索引,把多模态内容写进去就行。

用 v5-omni 作为推理端点创建一个 semantic_text 索引,EIS 会在索引和检索时自动选择对应的 LoRA 适配器:

PUT multimodal-semantic-index
{
  "mappings": {
    "properties": {
      "content": {
        "type": "semantic_text",
        "inference_id": ".jina-embeddings-v5-omni-small"
      }
    }
  }
}

把文本、图像(base64 data URI)、音频、视频写入同一个字段、同一个索引:

// 写入文本
POST multimodal-semantic-index/_doc
{
  "content": "'Kraft Dinner' is what Canadians call macaroni and cheese when prepared from a kit."
}

// 写入图像(base64)
POST multimodal-semantic-index/_doc
{
  "content": "data:image/png;base64,iVBORw0KGgoAAAAN..."
}

用一条文本 query 跨所有模态搜索:

GET multimodal-semantic-index/_search
{
  "query": {
    "semantic": {
      "field": "content",
      "query": "Was bedeutet 'Kraft Dinner' für Kanadier?"
    }
  }
}

Jina Embedding API

curl https://api.jina.ai/v1/embeddings \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "jina-embeddings-v5-omni-small",
    "task": "retrieval.query",
    "dimensions": 1024,
    "input": ["What does this image show?"],
    "images": ["data:image/png;base64,..."]
  }'

请前往 jina.ai/embeddings 获取 API Key。

Hugging Face

from sentence_transformers import SentenceTransformer
import torch

model = SentenceTransformer(
    "jinaai/jina-embeddings-v5-omni-small-retrieval",
    model_kwargs={"dtype": torch.bfloat16},
)

# 文本向量(与 v5-text 完全一致)
text_emb = model.encode("What is knowledge distillation?",prompt_name="query")

# 图像向量
from PIL import Image
img = Image.open("photo.jpg")
img_emb = model.encode(img)

# 跨模态相似度
similarity = model.similarity(text_emb, img_emb)

训练方法

团队把这套架构叫做 冻结编码器的模型组合(frozen-encoder model composition),拿一个足够强的文本向量模型做基座,把预训练好的视觉与音频编码器挂上去,中间只留一层小型可训练投影层,除此之外一律冻结。

整个联合模型只有 0.35% 的权重在训练,由此换来三件好处:1.文本表现分毫未动:同样的输入产出同样的向量,字节级一致;2. 训练快、省显存:只训投影层,比全量训练快 1.8-3.9 倍,显存降低 42%-64%; 3. 模块化:各个塔可以独立加载。

 

训练效率

上图是 4x H100、batch size 256、15K steps 下,投影层训练 vs 全量训练的耗时对比。音频侧的提速最明显:small 加速 3.2 倍 (154 min vs 497 min),nano 加速 3.9 倍(112 min vs 441 min)。显存能省下 42%-64%,因为冻结的编码器不需要保存梯度和优化器状态。

v5-omni 完整继承了 v5-text 的 Matryoshka 维度支持。图像与音频向量在维度截断下基本无损,视频向量在小维度下衰减更明显。

 

把四个模态汇总到一张雷达图上,v5-omni 各项 vs 最强基线。v5-omni-small(1.57B)在文本、图像、音频三项上的曲线 都贴住或反超基线;视频是雷达图上唯一明显凹下去的一块,也是团队下一版本要补的功课。

结语

这是 Jina 在全模态向量模型方向上的首次尝试,团队希望换个角度思考这个问题:多模态向量模型,真的必须端到端整体训练吗?

v5-omni 给出的回答是:不一定。

v5-omni 冻结文本底座、只训练 0.35% 的权重,就足以在文本、图像、音频三项追上参数量 5-7 倍于自己的模型。团队得到的经验是:组合(composition)胜过重训(retraining)。真正难的事情是先把一个足够强的文本编码器训出来,这件事一旦做好,通过轻量投影层把视觉和音频挂上去,代价几乎为零。

但这一版最值得说的还不是 benchmark,而是这种冻结底座的设计带给生产级用户的一个直接好处:现有的 v5-text 索引一行都不用动

如果你已经在用 v5-text,把推理端点切到 v5-omni 就行。同样的 query,同样的向量,逐字节一致;不需要重新向量化任何一条数据,就能直接获得图像、音频、视频检索能力。这是团队对多模态检索升级这件事的看法:应该是一次原地升级,而不是一次迁移工程。

jina-embeddings-v5-omni-small 是当前 20 亿参数以下最强的开源 Omni 向量模型。jina-embeddings-v5-omni-nano 在 1 亿参数量级上做到了同样的事。

两个模型现已上线 Hugging Face 与 Jina Search Foundation API,也可以在 Elasticsearch 的原生推理端点直接调用。

 

点击即可跳转模型链接

https://modelscope.cn/organization/jinaai

 

Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐