新闻
模型
API
keyboard_arrow_down
读取器
读取URL或搜索为大模型提供更好的依据。
向量模型
世界一流的多模态多语言向量模型。
重排器
世界一流的重排器,最大限度地提高搜索相关性。
MCP terminal命令行articlellms.txtsmart_toy代理人data_object模式menu_book文档



登录
login
架构
Getting Started
Conclusion
star
甄选
新闻稿
十二月 04, 2025

Jina-VLM:小型多语言视觉语言模型

全新 2B 视觉语言模型在多语言 VQA 上实现 SOTA,在纯文本任务上没有灾难性遗忘。
Jina AI
Jina AI • 7 分钟的读取量
Jina-VLM: Small Multilingual Vision Language Model
We present Jina-VLM, a 2.4B parameter vision-language model that achieves state-of-the-art multilingual visual question answering among open 2B-scale VLMs. The model couples a SigLIP2 vision encoder with a Qwen3 language backbone through an attention-pooling connector that enables token-efficient processing of arbitrary-resolution images. Across standard VQA benchmarks and multilingual evaluations, Jina-VLM outperforms comparable models while preserving competitive text-only performance.
arXiv.orgAndreas Koukounas
jinaai/jina-vlm · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.

我们发布了 jina-vlm,这是一个24亿参数的视觉语言模型,在开放的2B规模VLM中实现了最先进的多语言视觉问答。通过将SigLIP2视觉编码器与Qwen3语言骨干通过注意力池连接器相结合,jina-vlm 在 29种语言中表现出色,同时保持了足够的效率,可以在消费级硬件上运行。

Model Size VQA Avg MMMB Multi. MMB DocVQA OCRBench
jina-vlm 2.4B 72.3 78.8 74.3 90.6 778
Qwen2-VL-2B 2.1B 66.4 71.3 69.4 89.2 809
Qwen3-VL-2B 2.8B 71.6 75.0 72.3 92.3 858
InternVL3-2B 2.2B 69.2 73.6 71.9 87.4 835
InternVL3.5-2B 2.2B 71.6 74.6 70.9 88.5 836
MMMB基准测试中6种语言的性能分布:阿拉伯语、中文、英语、葡萄牙语、俄语和土耳其语。MMMB通过不同的视觉问题类型评估多语言多模态理解。
Multilingual MMBench中6种语言的性能分布:阿拉伯语、中文、英语、葡萄牙语、俄语和土耳其语。该基准测试跨语言的视觉推理和感知能力。
8个视觉问答基准测试的性能分布:AI2D(图表)、ChartQA(图表)、TextVQA(场景文本)、DocVQA(文档)、InfoVQA(信息图表)、OCRBench(OCR)、SEED-2-Plus(各种场景)和CharXiv(科学图)。
3个真实世界理解基准测试的性能分布:RealWorldQA(实际场景)、MME-RealWorld(真实世界感知)和R-Bench(鲁棒性评估)。
5个纯文本基准测试的性能分布,比较了 jina-vlm 与其Qwen3-1.7B骨干:MMLU(知识)、MMLU-Pro(高级推理)、GSM-8K(数学)、ARC-C(科学)和HellaSwag(常识)。

tag架构

jina-vlm 的架构。图像被调整大小以适应最多12个重叠图块的网格,以及一个全局缩略图。每个图块是一个378x378的正方形裁剪;相邻图块重叠112像素,图块原点之间的步幅为266像素。因此,4x3网格跨越1176x910像素,超过此有效分辨率的图像会被缩小以适应图块预算。每个图块通过SigLIP2生成729个patch。视觉语言连接器连接来自第24层和第18层的特征(倒数第三层和倒数第九层),然后应用2x2注意力池化将729个词元减少到182个,然后投影到解码器维度。视觉词元与文本 Embeddings 结合,用于Qwen3解码器。

两个挑战限制了VLM的实际部署:多语言能力在视觉适应过程中经常下降,以及高质量的VLM在计算上仍然很昂贵。jina-vlm 通过仔细的架构选择解决了这两个问题——我们的注意力池化连接器以最小的性能影响减少了4倍的视觉词元——以及明确保留多语言能力的训练方案。

关键的架构创新是我们的视觉-语言连接器。我们不是将每个图块的所有729个视觉词元传递给语言模型,而是应用2×2注意力池化,将其减少到182个词元——减少了4倍,信息损失最小。连接器的工作方式如下:

  1. 多层特征融合:我们连接来自ViT层18和24(倒数第三层和倒数第九层)的特征,捕获细粒度的空间细节和高级语义。
  2. 注意力池化:对于每个2×2 patch邻域,我们将邻域特征的平均值计算为一个查询,然后应用交叉注意力以产生单个池化表示。
  3. SwiGLU投影:池化的特征通过门控线性单元投影到语言模型维度。

下面描述了这种效率提升:

Metric No Pooling With Pooling Reduction
Visual tokens (12 tiles + thumbnail) 9,477 2,366 4.0×
LLM prefill FLOPs 27.2 TFLOPs 6.9 TFLOPs 3.9×
KV-cache memory 2.12 GB 0.53 GB 4.0×

由于ViT处理每个图块的方式相同,无论是否进行池化,因此这些节省仅适用于语言模型,而语言模型是推理期间的主要成本。

tag训练过程

VLM训练中一个常见的失败模式是灾难性遗忘:语言模型在适应视觉输入时会失去其纯文本能力。对于多语言模型来说,这一点尤其严重,因为视觉适应会降低非英语语言的性能。

我们通过一个两阶段的训练流程来解决这个问题,该流程具有明确的多语言数据和纯文本保留。

阶段1:对齐训练

第一阶段侧重于使用跨越不同视觉领域的字幕数据集进行跨语言语义基础:自然场景、文档、信息图表和图表。至关重要的是,我们包括15%的纯文本数据以保持骨干的语言理解。连接器使用更高的学习率(2e-4)和比编码器和解码器更短的预热期,使其能够快速适应,而预训练的组件则逐渐变化。

阶段2:指令微调

第二个阶段训练用于VQA和推理任务的指令遵循能力。我们将涵盖学术VQA、文档理解、OCR、数学和推理的公共数据集与纯文本指令数据相结合,以保持语言能力。

合并后的数据包含大约500万个多模态样本和29种语言的120亿个文本词元,其中大约一半是英语,其余的包括中文、阿拉伯语、德语、西班牙语、法语、意大利语、日语、韩语、葡萄牙语、俄语、土耳其语、越南语、泰语、印度尼西亚语、印地语、孟加拉语等。

tagGetting Started

tagVia Jina API

我们在https://api-beta-vlm.jina.ai提供了一个与 OpenAI 兼容的 API。

tagImage from URL

Format Example
HTTP/HTTPS URL https://example.com/image.jpg
Base64 data URI data:image/jpeg;base64,/9j/4AAQ...
curl https://api-beta-vlm.jina.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -d '{
    "model": "jina-vlm",
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "Describe this image"},
        {"type": "image_url", "image_url": {"url": "https://example.com/photo.jpg"}}
      ]
    }]
  }'

Local image (base64)

curl https://api-beta-vlm.jina.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -d '{
    "model": "jina-vlm",
    "messages": [{
      "role": "user",
      "content": [
        {"type": "text", "text": "What is in this image?"},
        {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,'$(base64 -i image.jpg)'"}}
      ]
    }]
  }'

Text-only query

curl https://api-beta-vlm.jina.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -d '{
    "model": "jina-vlm",
    "messages": [{"role": "user", "content": "What is the capital of France?"}]
  }'

Streaming response

添加 "stream": true 以在生成时接收词元:

curl https://api-beta-vlm.jina.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $JINA_API_KEY" \
  -d '{
    "model": "jina-vlm",
    "stream": true,
    "messages": [{"role": "user", "content": "Write a haiku about coding"}]
  }'

当服务冷启动时,您将收到:

{
  "error": {
    "message": "Model is loading, please retry in 30-60 seconds. Cold start takes ~30s after the service scales up.",
    "code": 503
  }
}

只需等待后重试您的请求即可。

tagVia CLI

HuggingFace 仓库包含一个 infer.py 脚本,用于快速实验:

# Single image
python infer.py -i image.jpg -p "What's in this image?"

# Streaming output
python infer.py -i image.jpg -p "Describe this image" --stream

# Multiple images
python infer.py -i img1.jpg -i img2.jpg -p "Compare these images"

# Text-only
python infer.py -p "What is the capital of France?"

tagVia Transformers

from transformers import AutoModelForCausalLM, AutoProcessor
import torch
from PIL import Image

# Load model and processor
model = AutoModelForCausalLM.from_pretrained(
    "jinaai/jina-vlm",
    torch_dtype=torch.bfloat16,
    trust_remote_code=True,
    device_map="auto"
)
processor = AutoProcessor.from_pretrained(
    "jinaai/jina-vlm",
    trust_remote_code=True
)

# Load an image
image = Image.open("document.png")

# Create the conversation
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "image": image},
            {"type": "text", "text": "What is the main topic of this document?"}
        ]
    }
]

# Process and generate
inputs = processor.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt"
).to(model.device)

outputs = model.generate(**inputs, max_new_tokens=256, do_sample=False)
response = processor.decode(outputs[0], skip_special_tokens=True)
print(response)

tagConclusion

jina-vlm 证明了小型 VLM 可以通过仔细的架构和训练选择来实现强大的跨语言视觉理解。注意力池化连接器提供 4 倍的词元缩减,且性能影响最小,并且在多模态训练期间合并纯文本数据可以保留语言能力,否则这些能力会退化。

我们注意到当前方法的几个限制:

  • 平铺开销:处理与平铺数量成线性比例。对于非常高分辨率的图像,这可能会变得非常重要。此外,平铺可能会损害需要整体场景理解的任务,例如对象计数或跨平铺边界的空间推理。全局缩略图部分缓解了这个问题,但原生分辨率方法可能更适合此类任务。
  • 多图像推理:由于此机制中的训练数据有限,因此在多图像基准测试中的性能较弱。优化简洁的视觉响应似乎与扩展的多步骤推理相冲突,MMLU-Pro 的退化证明了这一点。

未来的工作可以探索更有效的分辨率处理、针对计数和空间任务的改进,并研究我们的多语言训练方法是否可以转移到更大的模型规模。

类别:
star
甄选
新闻稿
rss_feed

更多新闻
二月 19, 2026 • 7 分钟的读取量
jina-embeddings-v5-text: New SOTA Small Multilingual Embeddings
Han Xiao
Abstract digital artwork in black and white, featuring scattered dots forming letters in a halftone effect. The central lette
十月 03, 2025 • 7 分钟的读取量
Jina Reranker v3:用于 SOTA 多语言检索的 0.6B Listwise 重排器
Jina AI
Light blue background with stylized text in the center, composed of small dots or squares, evoking a modern and minimalistic
九月 04, 2025 • 6 分钟的读取量
Jina Code Embeddings:0.5B 和 1.5B 参数规模下的 SOTA 代码检索向量模型
Jina AI
Green "Code Embeddings" text displayed in a LED dot style on a black background, evoking a futuristic and technological atmos
办公室
location_on
加利福尼亚州桑尼维尔
710 Lakeway Dr, Ste 200, 桑尼维尔, 加州 94085, 美国
location_on
德国柏林
Prinzessinnenstraße 19-20,10969 柏林,德国
搜索底座
读取器
向量模型
重排器
获取 Jina API 密钥
速率限制
API 状态
公司
关于我们
联系销售
新闻
实习生项目
下载 Jina 标志
open_in_new
下载 Elastic 徽标
open_in_new
条款
安全
条款及条件
隐私
管理 Cookie
email
Elastic Jina AI © 2020-2026.