Datalab выпустила OmniParseBench: открытый бенчмарк OCR с 16 288 тестами «пройдено/не пройдено» для аудита OCR-парсеров
Datalab выпустила OmniParseBench — открытый OCR-бенчмарк для парсеров документов. Он оценивает парсеры с помощью 16 288 тестов «да/нет» на 2 937 страницах из 2 343 документов. Страницы охватывают 92 языка. Датасет и код находятся в открытом доступе. Он помогает инженерам ответить на более точный вопрос, чем рейтинг: какой парсер справится с документами вроде моих? Datalab продаёт парсер, и его собственная топовая настройка Datalab accurate занимает второе место в рейтинге запуска, уступая Gemini 3.8 Flash.
Можно ли его развернуть? Да. OmniParseBench — это средство оценки, а не модель. Оно устанавливается с помощью uv pip install omni-parse-bench, требует Python 3.11+ и оценивает результаты офлайн, без API-ключей.
Кратко
- Размер: 16 288 тестов, 2 937 страниц, 2 343 документа, 22 набора, 92 языка.
- Запускается на: любой машине с Python 3.11+. Для оценки сеть не требуется. Для запусков поставщиков нужен API-ключ каждого поставщика.
- Производительность: три системы, по которым опубликованы результаты, находятся в пределах 1,3 балла по основному показателю.
- Лучший результат: Gemini 3.8 Flash лидирует с результатом 92,9; Datalab accurate следует за ним с 92,7.*
- Итог: каждый результат — это доля пройденных тестов, которую можно разбить по тегам.
* использовался при создании некоторых тестов
Что такое OmniParseBench?
OmniParseBench — это бенчмарк парсинга документов от Datalab, в котором каждый тест представляет собой вопрос «да/нет» об одной странице. Результат парсера — это доля пройденных им тестов. Datalab создала его, чтобы сделать оценку понятной, проверяемой и удобной для изучения.
Зачем создавать ещё один OCR-бенчмарк?
Datalab указывает на две проблемы существующих бенчмарков. olmOCR-bench показал, что модульные тесты с результатом «пройден/не пройден» работают. Теперь Datalab считает его насыщенным. По её мнению, топовые системы различаются не качеством чтения, а соглашениями о формате результатов и переобучением. Кроме того, каждый тест olmOCR-bench относится к 1 категории, определённой источником страницы. Рукописная таблица усредняется в ту категорию, к которой была отнесена её страница.
ParseBench от LlamaIndex разделяет парсинг на 5 возможностей, каждая со своей метрикой. Datalab утверждает, что эти показатели не имеют общей единицы измерения, поэтому их нельзя корректно сравнивать или объединять.
Как работает оценка в OmniParseBench?
Итоговый результат — это среднее значение 3 групповых оценок: текста, таблиц и макета. Эти группы формируют пять типов тестов:
- present: на странице присутствует текст, число или уравнение (текст)
- order: текст A находится перед текстом B (текст)
- repeat: строка встречается ровно N раз (текст)
- table_cell: ячейка находится под указанными заголовками и рядом с указанными соседями (таблицы)
- layout_kind: блок, содержащий строку, является заголовком, текстом или таблицей (макет)
Числа должны совпадать до каждой цифры, хотя 1,240 соответствует 1240. Уравнения сравниваются по тому, как их отображает KaTeX, поэтому \frac{a}{b} равно \dfrac{a}{b}. Каждое решение получает статус «пройдено», «не пройдено», «не поддерживается» или «ошибка». Последние 2 статуса исключаются из всех оценок. Результаты не оценивает ни одна модель; код средства оценки открыт.
Что дают теги и методы происхождения данных?
Тест проверяет один или несколько аргументов, каждый из которых представляет собой содержимое в определённом месте страницы. Каждый аргумент имеет теги по 5 направлениям: структура, отображение, роль, система письма и язык. Для систем письма используются коды ISO 15924, для языков — коды ISO 639-3. Теги никогда не определяют вердикт или основной показатель. Они лишь выбирают тесты, поэтому каждый срез получает собственную оценку.
Тег таблиц охватывает 6 767 тестов на 1 000 страницах из 875 документов. На английский язык приходится 10 089 тестов. На неанглоязычные языки приходится 1 931 тест на 529 страницах из 321 документа.
В каждом тесте также фиксируется его происхождение — то есть способ установления ответа. Существует 10 методов происхождения. Среди них — JATS XML издателя, текстовый слой PDF, созданные авторами страницы, тесты olmOCR-bench, панели моделей и проверка людьми.
Каковы результаты запуска OmniParseBench?
| Парсер | Основной показатель | Текст | Таблицы | Макет |
| Gemini 3.8 Flash* | 92.9 | 91.3 | 95.2 | 92.2 |
| Datalab accurate | 92.7 | 90.8 | 91.8 | 95.6 |
| Datalab balanced | 91.6 | 90.0 | 89.2 | 95.5 |
| Reducto | 90.8 | 85.4 | 91.2 | 95.8 |
| LlamaParse | 90.4 | 88.2 | 92.6 | 90.4 |
| Mistral OCR | 89.5 | 82.8 | 91.9 | 93.8 |
| Claude Sonnet 5.5* | 88.7 | 93.1 | 95.4 | 77.5 |
| GPT-5.6 Sol | 87.8 | 85.4 | 91.6 | 86.5 |
| Extend | 83.3 | 64.1 | 92.5 | 93.4 |
| Azure | 83.0 | 74.6 | 81.7 | 92.8 |
| Tesseract | нет | 17.6 | 0.0 | не поддерживается |
*По данным Datalab, использовался при создании и проверке как минимум некоторых тестов.
Claude Sonnet 5.5 показывает лучшие результаты по тексту (93,1) и таблицам (95,4). Его оценка макета в 77,5 снижает основной показатель до 88,7. Reducto лидирует по макету с результатом 95,8. Datalab также сопоставила каждый основной показатель с медианной задержкой и стоимостью обработки 1 000 страниц. Задержка измерялась на 200 выбранных страницах, отправленных партиями по 8.
Datalab не занимает первое место в собственном бенчмарке. Она отмечает две модели, помогавшие создавать тесты, и предлагает читателям учитывать тот факт, что сама продаёт парсер. Компания обязуется публиковать результаты OmniParseBench для будущих релизов. Её совет: лучший бенчмарк — это ваши собственные документы.
Как запустить OmniParseBench?
uv pip install omni-parse-bench # score(): no network, no API keys
uv pip install 'omni-parse-bench[harness]' # + vendor adapters, to predict
uv pip install 'omni-parse-bench[benchmark]' # + dataset access, to run the benchmark
opb benchmark --out runs/ --limit 5 --providers datalab openai/gpt-5.6-solПоставщикам нужны такие ключи, как DATALAB_API_KEY или OPENROUTER_API_KEY. CLI показывает план и запрашивает подтверждение перед обращением к поставщику. Запуски можно возобновлять. В руководстве по запросам показано, как сравнивать запуски по тегу, набору или типу теста.
OmniParseBench и olmOCR-bench, ParseBench и OmniDocBench
| Характеристика | OmniParseBench | olmOCR-bench | ParseBench | OmniDocBench |
| Разработчик | Datalab | Ai2 | LlamaIndex | OpenDataLab |
| Масштаб | 16 288 тестов, 2 937 страниц, 2 343 документа | 7 010 тестов, 1 403 PDF | 169 011 правил, 2 078 страниц, 1 211 документов | 1 651 страница PDF |
| Языки | 92 | Английский | Не раскрыты | 5 типов языков |
| Единица оценки | Тест «пройден/не пройден»; основной показатель = среднее значение 3 групп | Модульные тесты «пройден/не пройден» | 5 измерений, каждое со своей метрикой | Общий показатель на основе расстояния редактирования текста, TEDS таблиц и CDM формул |
| Модель-судья | Нет | Не используется для оценки | По умолчанию нет (можно включить для графиков) | Не используется для оценки |
| Теги содержимого | Для каждого аргумента: структура, отображение, роль, система письма, язык | 7 категорий источников | 5 измерений возможностей | Атрибуты страницы, текста и таблицы |
| Происхождение каждого теста | Да, происхождение указано для каждого теста | Метод извлечения для каждой категории | Проверенные людьми страницы | Не для каждого теста |
| Задержка и стоимость | Медианные секунды на страницу, долларов за 1 000 страниц | Не указаны в карточке датасета | Центы за страницу в рейтинге | Не раскрыты |
| Лицензия | Код Apache 2.0; тесты CC BY 4.0 с исключениями; данные страниц лицензированы согласно источнику | Датасет ODC-BY 1.0 | Apache 2.0 | Код Apache 2.0; данные только для исследований |
Основные выводы
- 16 288 тестов «да/нет» на 2 937 страницах на 92 языках.
- Основной показатель = среднее значение долей пройденных тестов по тексту, таблицам и макету.
- Теги позволяют разбивать результаты; они никогда не меняют вердикт.
- Datalab создала бенчмарк и занимает второе место: Gemini 3.8 Flash — 92,9*, Datalab accurate — 92,7.
- Код Apache 2.0; оценка выполняется офлайн без API-ключей.
* использовался при создании некоторых тестов
Ознакомьтесь с публикацией в блоге, датасетом и репозиторием GitHub.
Спасибо команде Datalab за материалы, использованные для этой статьи. Datalab поддержала и спонсировала этот материал.
Переведено автоматически с английского. Оригинал статьи — по ссылке ниже.