SotaOCR
Newsfeed
OCR
vLLM
Document AI
Baidu

Поддержка Unlimited-OCR в vLLM: парсинг длинных документов и фиксированный KV-кэш

Unlimited-OCR теперь можно запускать через vLLM. Разбираем, что дает фиксированный KV-кэш, какие метрики заявляют авторы и где остаются ограничения.

June 29, 20264 min read

Интеграция в популярный движок инференса

Проект PaddlePaddle в социальной сети X обратил внимание на обновление от сообщества vLLM: модель Unlimited-OCR от Baidu теперь поддерживается в этом фреймворке. В своем сообщении разработчики PaddlePaddle поблагодарили команду vLLM за помощь в адаптации модели и расширении доступа к эффективному OCR для длинных контекстов. В цитируемом посте проекта vLLM подтверждается, что Unlimited-OCR теперь работает в их движке и нацелена на парсинг длинных документов и книг за один проход.

Для ML-инженеров, разработчиков продуктов document-AI и технических основателей, выбирающих стек для анализа документов, это обновление меняет статус проекта. Unlimited-OCR переходит из категории исследовательского артефакта, представленного в виде научной статьи и весов модели, в инструмент с задокументированным путем сервинга. Ранее веса были опубликованы на платформе Hugging Face, где в логе релизов отмечено добавление поддержки vLLM, а также приведены ссылки на репозиторий GitHub, ModelScope и Spaces.

Теперь команды могут тестировать OCR-модель для длинных документов в знакомом движке инференса, с меньшим объемом собственного кода вокруг демо-запуска. Главное практическое следствие этой новости заключается не просто в появлении очередного бенчмарка OCR, а в том, что заявленные возможности парсинга длинных документов теперь подкреплены рабочим рецептом и интеграцией в мейнстримный фреймворк.

Проблема длинного контекста и механизм R-SWA

Техническая актуальность интеграции связана с задачей long-horizon OCR: распознаванием объемных документов целиком. Классические системы OCR и многие конвейеры на базе визуально-языковых моделей проще проектировать и контролировать при постраничной обработке. При попытке парсинга длинных документов системы на базе LLM-декодеров сталкиваются с серьезными ограничениями: длинные выходные последовательности создают нагрузку на память и увеличивают задержку. По мере генерации текста растет объем потребляемой памяти под KV-кэш, что в итоге замедляет процесс вывода.

В техническом отчете на arXiv под названием "Unlimited OCR Works: Welcome the Era of One-shot Long-horizon Parsing" исследователи из Baidu предлагают решение этой проблемы. Они используют архитектурный механизм Reference Sliding Window Attention, или R-SWA. Согласно статье, этот механизм заменяет стандартный слой внимания декодера. Заявлено, что R-SWA позволяет зафиксировать размер KV-кэша на этапе декодирования. Таким образом, механизм должен предотвращать рост потребления памяти и сохранять пропускную способность по мере увеличения длины сгенерированного текста.

Требования к сервингу и конфигурация vLLM

Переход к практическому использованию описан в официальном рецепте vLLM для Unlimited-OCR. Документация описывает модель как решение от Baidu, оптимизированное для полностраничного OCR и генерации разметки Markdown.

Рецепт содержит конкретные требования к сервингу, выполнение которых необходимо для корректной работы пайплайна. Приложению требуется использовать выделенный образ vLLM и подключить n-gram logits processor. Формат входных данных строго регламентирован: пользовательский промпт должен начинаться с тега `<image>`.

Кроме того, документация предписывает передавать специфические аргументы процессора на уровне каждого отдельного запроса. Также требуется устанавливать параметр `skip_special_tokens=False`. Наличие этих инструкций делает анонс в X проверяемым инженерным маршрутом, а не только ссылкой на модельные веса: разработчик видит, какие параметры нужно выставить, чтобы воспроизвести работу Unlimited-OCR через API vLLM.

Заявленные метрики и ограничения архитектуры

В публикациях vLLM, Baidu и в оригинальном препринте приводится ряд метрик производительности. Авторы утверждают, что модель способна транскрибировать более 40 страниц за один проход, укладываясь в максимальный бюджет контекста в 32K токенов. По заявлениям исследователей, в их тестовом окружении на отметке в 6000 выходных токенов Unlimited-OCR работает на 35% быстрее, чем DeepSeek-OCR, сохраняя при этом константный показатель пропускной способности и неизменный объем потребляемой видеопамяти.

Несмотря на наличие модели в vLLM и опубликованные веса, перед использованием системы в рабочих задачах необходимо учитывать несколько ограничений. Во-первых, название "Unlimited" не следует воспринимать буквально. В самом техническом отчете авторы прямо указывают, что по-настоящему безлимитный парсинг остается недостижимым: система по-прежнему ограничена конечной длиной контекста и лимитами фазы предварительной обработки.

Во-вторых, заявленные показатели производительности, включая парсинг десятков страниц, преимущество в скорости на 35% и константный TPS, являются метриками из тестов авторов статьи. Эти данные требуют независимой проверки ML-инженерами на собственных наборах документов. Интеграция в vLLM предоставляет удобный инструмент для такой проверки, однако сама по себе не гарантирует готовности модели к production-нагрузкам без предварительного тестирования.

Try this workflow in SotaOCR

Upload a document in the OCR playground or wire the asynchronous API into an agent pipeline.