Descripción general
jina-ocr-v1 convierte una página en Markdown en un solo paso: texto, fórmulas, tablas y orden de lectura juntos. Su diferencia está en dónde concentró la ingeniería. La calidad de análisis está saturada, así que el modelo ataca la parte que realmente cuesta dinero en producción: la decodificación. La salida de OCR es localmente predecible, por lo que el modelo redacta tres tokens por adelantado y deja que el verificador los revise de forma glotona. Como la verificación es glotona, el resultado es sin pérdida, idéntico byte a byte a la decodificación autoregresiva simple, y el modelo confirma hasta 2,7 tokens por pasada de verificador en lugar de uno.
El resto sigue del mismo objetivo. Es una mezcla de expertos con 3,4B parámetros en total pero solo unos 570M activos por token: el costo de ejecución es el de un modelo pequeño, la capacidad no. Con su configuración predeterminada de resolución dinámica obtiene 91,14 en OmniDocBench v1.6 y 83,4 en olmOCR-Bench.
La cobertura de idiomas se hereda del modelo base. DeepSeek-OCR se preentrenó en 30M páginas PDF que abarcan unos 100 idiomas, y jina-ocr-v1 conserva su codificador y decodificador, por lo que la misma amplitud aplica al análisis de documentos.
ReaderLM-v2 convierte HTML ya extraído en Markdown. jina-ocr-v1 comienza un paso antes y lee la propia página renderizada.
Métodos
La arquitectura hereda el DeepEncoder y el decodificador de mezcla de expertos de DeepSeek-OCR. DeepEncoder tiene unos 380M parámetros y encadena una etapa SAM de 80M, un compresor convolucional 16x y luego una etapa CLIP-L de 300M, de modo que una página de 1024x1024 cuesta solo 256 tokens visuales. El modo de resolución dinámica Gundam agrega 100 tokens por cada mosaico adicional, hasta 1.156 tokens por página. El decodificador es DeepSeek-3B-MoE con 12 capas, tamaño oculto 1280, 64 expertos enrutados más 2 compartidos bajo enrutamiento top-6, un vocabulario de 129.280 tokens y un límite de posición de 32.768.
La velocidad de decodificación proviene de FastMTP: un único bloque de borrador denso aplicado recursivamente para K=3 pasos de predicción, en lugar de K cabezas separadas. La verificación es glotona, lo que hace que la ruta especulativa sea sin pérdida. El texto emitido es idéntico al que produciría la decodificación autoregresiva simple.
El posentrenamiento ejecuta alineación de instrucciones, ajuste fino de robustez en documentos difíciles y degradados, y GRPO con recompensas densas y verificables: comprobaciones deterministas de fórmulas, tablas y estructura que otorgan crédito parcial en lugar de una sola señal de pasar/reprobar. Los datos de entrenamiento combinan corpora públicos de OCR limpios como olmOCR-mix, FinePDFs, DoclingMatrix, SynthChartNet y UniMER con material histórico y degradado de periódicos de Europeana, transcripciones de la Library of Congress y archivos de pensiones de la NARA, además de páginas sintéticas específicas con pruebas unitarias estilo olmOCR-Bench para que la recompensa tenga cobertura donde importa.
Rendimiento
En olmOCR-Bench el modelo obtiene 83,4 en total. Por subconjunto: Base 99,9, empatado con el mejor de la comparación; luego LongTiny 93,2, Tables 88,8, Hdr/Ftr 88,7, ArXiv 86,1, Multi-column 85,5, OldScans-Math 82,3 y OldScans 42,6. En OmniDocBench v1.6 alcanza 91,14 en total, con distancia de edición de texto 0,046, CDM de fórmulas 93,28, TEDS de tablas 84,68, TEDS-S 89,01 y distancia de edición de orden de lectura 0,142.
El resultado de eficiencia es el punto central del modelo. Medido en una A100 SXM4 40GB con concurrencia 32 sobre 1.403 páginas, sostiene 2,57 páginas por segundo, lo mejor de la comparación y aproximadamente el doble de los 1,22 de olmOCR-2, mientras gasta 1.085 tokens de salida por página y 2.792 tokens de salida por segundo. Los modelos con puntajes más altos son mucho más lentos. chandra-ocr-2 lidera en calidad con 85,8 pero corre a 0,38 páginas por segundo, y dots.mocr puntúa 83,9 a 0,55. Las cifras de tokens son competitivas pero no las mejores del grupo. PaddleOCR-VL-1.6 es más ligero por página con 1.048, y Surya OCR 2 emite más tokens por segundo con 3.760.
La decodificación especulativa es lo que hace viable una GPU económica. En un NVIDIA L4 con tamaño de lote 1, FastMTP eleva la decodificación en modo eager de 42,7 a 83,1 tokens de salida por segundo con K=3, una aceleración de 1,95× con una tasa de aceptación del 57,6 %. Con grafos CUDA la base ya es de 158,3 tokens por segundo, y K=1 es el punto de operación óptimo con 185,6 para una ganancia de 1,17×. Estas cifras de L4 se midieron con tamaño de lote 1 en hardware diferente y no son comparables con las cifras de throughput de A100 de arriba.
Guía
Use la configuración de resolución dinámica predeterminada para documentos generales. Es la configuración sobre la que se basan los puntajes reportados. La salida es Markdown, por lo que las tablas y las fórmulas llegan ya estructuradas y no requieren un paso de posprocesamiento separado. El modelo apunta a GPUs de bajo presupuesto. Una L4 o similar basta para el análisis interactivo de un solo documento, y la decodificación especulativa da la mayor ganancia en modo eager: active K=3 en ese modo y K=1 cuando ejecute con grafos CUDA. Como la verificación es glotona, activar o desactivar la especulación cambia el throughput, pero nunca el texto.
Más indicado para la ingesta masiva de documentos, pipelines de PDF a Markdown, archivos escaneados e históricos, y cualquier carga donde las páginas por segundo por dólar importen más que el último punto del score de benchmark. Los encabezados y pies de página se transcriben en lugar de descartarse: es el comportamiento deseado para la fidelidad de archivo, pero puntúa bajo en pruebas de ausencia de texto. OldScans sigue siendo el subconjunto más débil con 42,6, por lo que los escaneados muy degradados siguen mereciendo una revisión humana.
Si su entrada es HTML que ya fue obtenido, ReaderLM-v2 es la herramienta más económica para el mismo objetivo de Markdown. Para la respuesta visual a preguntas sobre una página en lugar de transcripción, use jina-vlm. Para la recuperación sobre la salida analizada, combine con jina-embeddings-v4.


