Jina AI представи jina-ocr-v1: парсер на документи с 3,4 млрд параметъра и MoE архитектура, с вградено спекулативно декодиране за бюджетни GPU
Jina AI, част от Elastic, пусна jina-ocr-v1 — визуален парсер на документи от край до край. Той приема PDF файлове, сканирани документи, таблици, диаграми или фактури и връща чист Markdown за 1 проход. Моделът има общо 3,4B параметъра, като около 570M параметъра на декодера са активни за всеки токен. Глава за спекулативно декодиране е включена в чекпойнта. Jina AI го е създала за работа на GPU с ограничен бюджет, като NVIDIA L4. Техническият доклад посочва резултат 91,14 в OmniDocBench v1.6 и 83,4 в olmOCR-Bench.
Може ли да бъде внедрен? Да, за изследователска и некомерсиална употреба. Отворените тегла са с размер около 6,8 GB в BF16 и работят с Transformers или vLLM. Лицензът CC BY-NC 4.0 означава, че за комерсиална употреба е необходимо да се свържете с Jina AI.
Какво представлява jina-ocr-v1?
Моделът дообучава DeepSeek-OCR и запазва двата му компонента за ефективност. DeepEncoder има около 380M параметъра и комбинира SAM, 16x конволюционен компресор и CLIP-L. Той преобразува изглед на страница с размер 1024×1024 от 4096 пача в 256 визуални токена. Режимът с динамична резолюция добавя до 9 локални плочки по 100 токена всяка. Така една страница се ограничава до 1156 визуални токена.
Декодерът е DeepSeek-3B-MoE с 12 слоя, 64 маршрутизирани експерта и 2 споделени експерта. Маршрутизирането Top-6 активира около 570M параметъра на токен. Ограничението за позицията е 32 768. Изходът е във формат Markdown, като таблиците са в HTML, а формулите — в LaTeX.
Как работи спекулативното декодиране FastMTP
OCR изходът е почти детерминистичен и локално структуриран. Това го прави подходящ за спекулативно декодиране. Jina AI добавя глава FastMTP: 1 плътен блок за генериране на чернова, прилаган рекурсивно за K=3 стъпки. Параметрите на черновата остават постоянни с увеличаването на дълбочината.
След това декодерът проверява черновите алчно. Той приема най-дългия префикс, който съвпада със собствените му избори, и сам добавя още 1 токен. Ако и трите чернови съвпадат, този допълнителен токен е бонус. Полученият текст винаги е идентичен с този при стандартно алчно декодиране, така че ускорението е без загуби. При K=3 моделът генерира средно по 2,73 токена на стъпка.
Дообучаване с плътни проверими награди
Дообучаването комбинира подравняване с инструкции, фино настройване за устойчивост върху влошени страници и GRPO. Всеки компонент на наградата е детерминистичен код, оценяван спрямо референтна транскрипция. Компонентите обхващат съдържание, формули, таблици, структурна валидност, модулни тестове, повторения и формат.
Компонентите се умножават и всеки от тях се оценява, така че частично правилните страници получават частичен резултат. Компонентите за структура, модулни тестове и формат имат минимална стойност 0,2, а компонентът за таблици — 0,1. Компонентът за повторения няма минимална стойност, тъй като циклите могат да завишат резултата за съдържание.
При естествени страници наградите за формули и таблици се прилагат към малко на брой примери. Затова Jina AI създава JinaOCRSynth — синтетични страници, изпълнени и с двете, като всяка съдържа модулни тестове в стила на olmOCR-Bench. Агент също така обединява кандидат-чекпойнти при фиксиран бюджет за оценяване. Главата за черновата се обучава последна спрямо замразения финален верификатор.
Бенчмаркове и пропускателна способност
| Модел | Параметри, както са посочени в статията | OmniDocBench v1.6 | olmOCR-Bench |
|---|---|---|---|
| jina-ocr-v1 | 3B/570M | 91,14 | 83,4 |
| DeepSeek-OCR | 3B/570M | не е посочено | 76,0 |
| DeepSeek-OCR-2 | 3B/570M | 90,25 | не е посочено |
| PaddleOCR-VL-1.6 | 0,9B | 96,34 | не е посочено |
| chandra-ocr-2 | 4B | не е посочено | 85,8 |
| Qwen3-VL-235B | 235B/22B | 89,78 | не е посочено |
При MoE моделите параметрите показват общия брой параметри на декодера и броя на активните параметри. Целият модел jina-ocr-v1 е с размер около 3,4B.
Моделът не води по точност. PaddleOCR-VL-1.6 и HunyuanOCR-1.5 (94,74) постигат по-високи резултати в OmniDocBench. chandra-ocr-2 и dots.mocr (83,9) постигат по-високи резултати в olmOCR-Bench. Дообучаването добавя 7,4 точки спрямо базовата архитектура DeepSeek-OCR в olmOCR-Bench.
Пропускателната способност е основният резултат. На 1 A100 с 40 GB при паралелност 32 jina-ocr-v1 обработва 2,57 страници в секунда. Това е най-високият резултат сред 14-те системи, измерени от Jina AI, спрямо 1,22 за olmOCR-2 и 0,38 за chandra-ocr-2. Моделът генерира 1085 изходни токена на страница. Jina AI твърди, че това е най-краткият изход сред системите с резултат над 83.
На NVIDIA L4 с размер на партидата 1 нетърпеливото декодиране се увеличава от 42,7 до 83,1 токена в секунда. Това е ускорение от 1,95x при процент на приемане 57,6%. С CUDA графи базовата стойност вече е 158,3 токена в секунда. В този случай K=1 работи най-добре — със 185,6 токена в секунда, което е 1,17x увеличение.
Как да го стартирате
Най-бързият начин е чрез Jina Reader. Изпратете URL адрес към r.jina.ai с хедъра X-Respond-With: jina-ocr-v1. Reader извлича страницата или PDF файла, стартира модела и връща Markdown. Хедърът X-Page транскрибира 1 страница от по-дълъг документ.
Jina AI също хоства съвместим с OpenAI интерфейс на https://api.jina.ai/v1/chat/completions. Хоствана демонстрация е достъпна за бързи тестове.
За самостоятелно хостване теглата и персонализираният код са налични в 1 хранилище и се зареждат с trust_remote_code=True. FastMTP изисква vLLM 0.21 или по-нова версия и еднократно извикване на register(). Пътят през Transformers стартира само MoE декодера и игнорира теглата за черновата.
Основни изводи
- Общо 3,4B параметъра, около 570M активни на токен, изграден върху DeepSeek-OCR.
- FastMTP генерира чернова от 3 токена на стъпка, а алчната проверка запазва декодирането без загуби.
- Постига 91,14 в OmniDocBench v1.6 и 83,4 в olmOCR-Bench.
- Достига 2,57 страници в секунда на 1 A100 — най-високият резултат сред 14 измерени системи.
- Достъпен е в Hugging Face и чрез хедър в Jina Reader още днес.
Разгледайте статията, теглата на модела, публикацията за пускането, страницата на модела и съобщението. Всички заслуги са за изследователя на този проект. Също така можете да ни последвате в Twitter и не забравяйте да се присъедините към нашия 150k+ ML SubReddit и да се абонирате за нашия бюлетин. Чакайте! В Telegram ли сте? Вече можете да се присъедините към нас и в Telegram.
Имате нужда от партньорство с нас за популяризиране на вашето GitHub хранилище, страница в Hugging Face, пускане на продукт, уебинар и т.н.? Свържете се с нас
Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.