Второе поколение модели Baidu для OCR-распознавания длинных документов: изображения страниц многостраничных документов (включая целые книги) подаются на вход последовательно одним пакетом, результаты распознавания выводятся постранично с использованием межстраничного контекста. Первое поколение было ориентировано на развитие DeepSeek-OCR, а во втором поколении добавлено внимание SR-SWA, что позволяет обрабатывать документы длиной, не ограниченной размером контекстного окна.
Рост интереса на 234 · Лайки 245 · Загрузки 513
Причины
- SR-SWA (Sparse Reference Sliding Window Attention) сжимает внимание к тексту и изображениям в сверхдлинных последовательностях до фиксированного количества рабочих референсов (например, 512 токенов). По официальным данным, задержка декодирования на каждом шаге и потребление памяти практически не зависят от длины документа.
- По официальным данным, модель показывает лучшие результаты на бенчмарках уровня десятков страниц (MPDocBench) и сотен страниц (MarathonDocBench), при этом набор данных MarathonDocBench также опубликован. Конкретные баллы представлены только на изображениях в таблице лидеров, в основном тексте они не указаны.
- Лицензия MIT; релиз состоялся 27 10 месяца, ранее в выпусках не упоминалась. В карточке модели приведена анимация распознавания целой книги «Гарри Поттер» за один запрос; модель также доступна на ModelScope и Baidu Intelligent Cloud. Рост интереса на 234 отражает только уровень внимания.
Использование
- Быстрое тестирование через Transformers (официальная среда: Python 3.10, torch 2.13.0, transformers 4.52.1, A800-80GB): AutoModel.from_pretrained("baidu/Unlimited-OCR-2", trust_remote_code=True, use_safetensors=True, torch_dtype=torch.bfloat16); для многостраничных документов передавайте список изображений в порядке страниц в model.infer_multi(tokenizer, image_files=...), для одностраничных используйте model.infer(...), режим gundam с разбиением на блоки включен по умолчанию.
- Для развертывания в качестве сервиса официально рекомендуется SGLang: установите официальный кастомный wheel SGLang (0.5.20.dev10) и PyMuPDF, настройте переменные окружения согласно карточке модели (по умолчанию одно окно на каждые 10 страниц, лимит вывода на страницу — 20000 токенов), запустите с параметром --chat-template unlimited-ocr и используйте интерфейс, совместимый с OpenAI; PDF-файлы предварительно конвертируйте в изображения с разрешением 300 dpi.
- В запросе установите temperature 0 и, согласно примеру, подключите n-gram logit processor для предотвращения повторений (ngram_size 35, window_size 1024 для многостраничных документов и 128 для одностраничных).
Риски
- Требуется trust_remote_code, для SGLang необходим кастомный wheel; в карточке модели не указаны количество параметров и минимальные требования к памяти, путь через Transformers протестирован только на A800-80GB.
- Уменьшение размера окна страниц снижает потребление памяти, но, по официальным данным, контент на границах окон теряет контекст; настройки по умолчанию для смещения внимания SAM могут привести к переполнению памяти, их необходимо изменить на 64 согласно карточке модели.
- «Лучшие результаты» получены в ходе самостоятельного тестирования разработчиками, таблица лидеров содержит только изображения без проверяемых числовых данных.