Elastic
Jina AI
Modelos
API
keyboard_arrow_down
Lector
Lea las URL y busque en la web para obtener una base más sólida para su LLM.
Incrustaciones
Incrustaciones multimodales y multilingües.
reclasificador
Reclasificador para maximizar la relevancia de los resultados de búsqueda.
Elastic Inference Service
Ejecuta modelos Jina de forma nativa dentro de Elasticsearch.
MCP
terminal
CLI
article
llms.txt
smart_toy
Agentes
data_object
Esquema
menu_book
Documentos
Acceso
login
Arquitectura
Empezando
Conclusión
star
Presentado
presione soltar
diciembre 04, 2025

Jina-VLM: Modelo de Lenguaje de Visión Multilingüe Pequeño

Nuevo modelo de lenguaje de visión de 2B logra SOTA en VQA multilingüe, sin olvido catastrófico en tareas de solo texto.
Jina AI • 7 minutos de lectura
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.

Estamos lanzando jina-vlm, un modelo de lenguaje visual con 2.4B de parámetros que logra un rendimiento de vanguardia en el cuestionamiento visual multilingüe entre los VLMs abiertos de escala 2B. Al combinar un codificador de visión SigLIP2 con una columna vertebral de lenguaje Qwen3 a través de un conector de agrupación de atención, jina-vlm ofrece un sólido rendimiento en 29 idiomas, a la vez que sigue siendo lo suficientemente eficiente como para ejecutarse en hardware de consumo.

Modelo Tamaño VQA Promedio 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
Distribución del rendimiento en 6 idiomas en el benchmark MMMB: árabe, chino, inglés, portugués, ruso y turco. MMMB evalúa la comprensión multimodal multilingüe a través de diversos tipos de preguntas visuales.
Distribución del rendimiento en 6 idiomas en Multilingual MMBench: árabe, chino, inglés, portugués, ruso y turco. Este benchmark prueba las capacidades de razonamiento visual y percepción interlingüística.
Distribución del rendimiento en 8 benchmarks de cuestionamiento visual: AI2D (diagramas), ChartQA (gráficos), TextVQA (texto de escena), DocVQA (documentos), InfoVQA (infografías), OCRBench (OCR), SEED-2-Plus (escenas diversas) y CharXiv (figuras científicas).
Distribución del rendimiento en 3 benchmarks de comprensión del mundo real: RealWorldQA (escenarios prácticos), MME-RealWorld (percepción del mundo real) y R-Bench (evaluación de robustez).
Distribución del rendimiento en 5 benchmarks de solo texto comparando jina-vlm con su columna vertebral Qwen3-1.7B: MMLU (conocimiento), MMLU-Pro (razonamiento avanzado), GSM-8K (matemáticas), ARC-C (ciencia) y HellaSwag (sentido común).

tagArquitectura

Arquitectura de jina-vlm. Las imágenes se redimensionan para ajustarse a una cuadrícula de hasta 12 mosaicos superpuestos, más una miniatura global. Cada mosaico es un recorte cuadrado de 378x378; los mosaicos adyacentes se superponen en 112 píxeles con un paso de 266 píxeles entre los orígenes de los mosaicos. Por lo tanto, una cuadrícula de 4x3 abarca 1176x910 píxeles, y las imágenes que exceden esta resolución efectiva se reducen para ajustarse al presupuesto de mosaicos. Cada mosaico produce 729 parches a través de SigLIP2. El conector VL concatena las características de las capas 24 y 18, las capas tercera y novena desde el final, luego aplica una agrupación de atención de 2x2 para reducir 729 tokens a 182 antes de proyectar a la dimensión del decodificador. Los tokens visuales se combinan con los embeddings de texto para el decodificador Qwen3.

Dos desafíos han limitado la implementación práctica de VLM: las capacidades multilingües a menudo se degradan durante la adaptación visual, y los VLMs de alta calidad siguen siendo computacionalmente caros. jina-vlm aborda ambos problemas mediante elecciones arquitectónicas cuidadosas (nuestro conector de agrupación de atención reduce los tokens visuales en 4× con un impacto mínimo en el rendimiento) y una receta de entrenamiento que preserva explícitamente las capacidades multilingües.

La innovación arquitectónica clave es nuestro conector de lenguaje visual. En lugar de pasar los 729 tokens visuales por mosaico al modelo de lenguaje, aplicamos una agrupación de atención de 2×2 que reduce esto a 182 tokens, una reducción de 4× con una pérdida mínima de información. El conector funciona de la siguiente manera:

  1. Fusión de características multicapa: Concatenamos las características de las capas ViT 18 y 24 (la tercera desde el final y la novena desde el final), capturando tanto detalles espaciales de grano fino como semántica de alto nivel.
  2. Agrupación de atención: Para cada vecindario de parches de 2×2, calculamos una consulta como la media de las características del vecindario, luego aplicamos la atención cruzada para producir una única representación agrupada.
  3. Proyección SwiGLU: Las características agrupadas se proyectan a la dimensión del modelo de lenguaje a través de una unidad lineal cerrada.

Esta ganancia de eficiencia se describe a continuación:

Métrica Sin Agrupación Con Agrupación Reducción
Tokens visuales (12 mosaicos + miniatura) 9,477 2,366 4.0×
FLOPs de prellenado del LLM 27.2 TFLOPs 6.9 TFLOPs 3.9×
Memoria de caché KV 2.12 GB 0.53 GB 4.0×

Dado que el ViT procesa cada mosaico de forma idéntica independientemente de la agrupación, estos ahorros se aplican exclusivamente al modelo de lenguaje, que es el coste dominante durante la inferencia.

tagProcedimiento de Entrenamiento

Un modo de fallo común en el entrenamiento de VLM es el olvido catastrófico: el modelo de lenguaje pierde sus capacidades de solo texto a medida que se adapta a las entradas visuales. Esto es particularmente grave para los modelos multilingües, donde la adaptación visual puede degradar el rendimiento en idiomas que no son el inglés.

Abordamos esto a través de un pipeline de entrenamiento de dos etapas con datos multilingües explícitos y preservación de solo texto.

Etapa 1: Entrenamiento de Alineación

La primera etapa se centra en el anclaje semántico entre idiomas utilizando conjuntos de datos de subtítulos que abarcan diversos dominios visuales: escenas naturales, documentos, infografías y diagramas. Crucialmente, incluimos un 15% de datos de solo texto para mantener la comprensión del lenguaje de la columna vertebral. El conector utiliza una tasa de aprendizaje más alta (2e-4) y un calentamiento más corto que el codificador y el decodificador, lo que le permite adaptarse rápidamente mientras los componentes preentrenados cambian gradualmente.

Etapa 2: Ajuste Fino de Instrucciones

La segunda etapa entrena el seguimiento de instrucciones para las tareas de VQA y razonamiento. Combinamos conjuntos de datos públicos que abarcan VQA académico, comprensión de documentos, OCR, matemáticas y razonamiento, con datos de instrucciones solo de texto para mantener las capacidades lingüísticas.

Los datos combinados comprenden aproximadamente 5 millones de muestras multimodales y 12.000 millones de tokens de texto en 29 idiomas, con aproximadamente la mitad en inglés y el resto en chino, árabe, alemán, español, francés, italiano, japonés, coreano, portugués, ruso, turco, vietnamita, tailandés, indonesio, hindi, bengalí y otros.

tagEmpezando

tagA través de la API de Jina

Proporcionamos una API compatible con OpenAI en https://api-beta-vlm.jina.ai.

tagImagen desde URL

Formato Ejemplo
URL HTTP/HTTPS https://example.com/image.jpg
URI de datos Base64 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"}}
      ]
    }]
  }'

Imagen local (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)'"}}
      ]
    }]
  }'

Consulta solo de texto

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?"}]
  }'

Respuesta en streaming

Añade "stream": true para recibir los tokens a medida que se generan:

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"}]
  }'

Cuando el servicio se inicia en frío, recibirás:

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

Simplemente vuelve a intentar tu solicitud después de esperar.

tagA través de la CLI

El repositorio de HuggingFace incluye un script infer.py para experimentos rápidos:

# 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?"

tagA través de 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)

tagConclusión

jina-vlm demuestra que los VLMs pequeños pueden lograr una sólida comprensión visual multilingüe a través de una arquitectura cuidadosa y opciones de entrenamiento. El conector de agrupación de atención proporciona una reducción de tokens de 4× con un impacto mínimo en el rendimiento, y la incorporación de datos solo de texto durante el entrenamiento multimodal preserva las capacidades lingüísticas que de otro modo se degradarían.

Observamos varias limitaciones del enfoque actual:

  • Sobrecarga de mosaicos: el procesamiento se escala linealmente con el número de mosaicos. Para imágenes de muy alta resolución, esto puede ser significativo. Además, el mosaico puede perjudicar las tareas que requieren una comprensión holística de la escena, como el conteo de objetos o el razonamiento espacial a través de los límites de los mosaicos. La miniatura global mitiga parcialmente esto, pero los enfoques de resolución nativa pueden ser más adecuados para tales tareas.
  • Razonamiento multiimagen: el rendimiento en los benchmarks multiimagen es más débil debido a los datos de entrenamiento limitados en este régimen. La optimización para respuestas visuales concisas parece entrar en conflicto con el razonamiento extendido de varios pasos, como lo demuestra la degradación de MMLU-Pro.

El trabajo futuro podría explorar un manejo de resolución más eficiente, mejoras específicas para tareas de conteo y espaciales, e investigar si nuestra receta de entrenamiento multilingüe se transfiere a escalas de modelos más grandes.

Categorías:
star
Presentado
presione soltar
rss_feed

Leer más
agosto 03, 2026 • 11 minutos de lectura
jina-reranker-v3.5: Faster Listwise Reranking with Hybrid Attention and Self-Distillation
Jina AI
mayo 12, 2026 • 7 minutos de lectura
jina-embeddings-v5-omni: Embeddings for Text, Image, Audio and Video
Han Xiao
febrero 19, 2026 • 7 minutos de lectura
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
Idioma / tema actual
Search Foundation
Lector
Incrustaciones
reclasificador
Obtener la clave API de Jina
Límite de velocidad
Sobre nosotros
Noticias
Descargar el logotipo de Jina
open_in_new
Descargar el logotipo de Elastic
open_in_new
Estado de la API
Elastic © 2026.SeguridadTérminos y condicionesPrivacidadAdministrar cookiesNo venda ni comparta mi información personal.
Este sitio web y todo su contenido, software, productos y servicios asociados están destinados exclusivamente al uso profesional. No se permite ni se recomienda su uso por parte de consumidores.