DharmaOCR обошла Mistral OCR4 и Unlimited-OCR в распознавании бразильского португальского

DharmaOCR обошла Mistral OCR4 и Unlimited-OCR в распознавании бразильского португальского

Компания Dharma AI три месяца назад выпустила модель DharmaOCR, систему оптического распознавания текста (OCR), обученную специально под бразильский португальский, и открыла одну из версий модели. Обучение шло в два этапа. Сначала, контролируемая тонкая настройка (supervised fine-tuning, SFT) на большом наборе документов на португальском языке разных форматов и уровней сложности: этот этап подстроил веса модели под лексику, синтаксис и структуру именно бразильских документов, а не распределил их между множеством языков. Затем применили прямую оптимизацию предпочтений (Direct Preference Optimization, DPO): модель обучали не только на правильных транскрипциях, а на сравнении пар ответов, какой из двух вариантов лучше как целостный текст. Это решило другую задачу, не точность, а устойчивость: DPO подавляет склонность генеративных моделей «срываться» в повторяющийся или бессвязный текст, снижая при этом время и стоимость вывода.

За прошедшие три месяца на рынке появились две новые заметные OCR-модели, Mistral OCR4 и Unlimited-OCR, обе вышли позже DharmaOCR и показывают сильные результаты на разных языках. Авторы прогнали обе модели через свой бенчмарк, построенный исключительно на бразильском португальском. Результат: DharmaOCR набрала 0.925 балла, Mistral OCR4, 0.798 (примерно на 13 пунктов меньше), Unlimited-OCR, 0.7587 (более чем на 16 пунктов меньше).

Разрыв авторы иллюстрируют на рукописных сочинениях ENEM, бразильского национального выпускного экзамена, где встречаются специфичные для страны имена и культурные отсылки. Имя музыканта и поэта Chico Buarque, широко известное в Бразилии, модель Mistral OCR4 распознала как «Chico Barque», а Unlimited-OCR, как «chico bique». Цитату самого Chico Buarque «O Brasil não exclui, assimila» («Бразилия не исключает, а ассимилирует») Unlimited-OCR превратила в бессмысленный набор слов. DharmaOCR оба фрагмента распознала верно.

Вторая проблема, которую разбирает статья, устойчивость при плохом качестве изображения (мелкий шрифт, деградировавший скан, плотный рукописный текст). Когда визуальный сигнал становится неоднозначным, генеративная модель может продолжать генерацию по выученным шаблонам, а не по содержимому документа, это называют деградацией (degeneration): результат получается повторяющимся, бессвязным и никак не связанным со страницей. На документе с мелким шрифтом Mistral OCR4, по данным авторов, выдала именно такой не связанный с исходником текст. Авторы подчёркивают: обычная ошибка распознавания, это всё же что-то, что относится к исходному документу и в принципе может быть исправлено; деградировавший вывод, нет, это структурно непригодные данные для последующей обработки (классификации документов, извлечения данных, комплаенс-процессов).

Механизм устойчивости DharmaOCR авторы связывают именно со вторым этапом обучения. SFT учит модель предсказывать следующий токен по контексту: если ранний токен в выводе отклонился от содержимого документа, все последующие предсказания опираются уже на это отклонение, и текст «уплывает» дальше. DPO обучает модель иначе, сравнивая целые ответы по их связности, а не отдельные токены по точности, поэтому модель реже фиксирует ошибочное направление вывода.

Общий тезис статьи: архитектура и число параметров модели задают потолок того, чему она вообще способна научиться, а то, как обучение распределяет этот ресурс, определяет, насколько модель приближается к этому потолку в конкретной задаче. Многоязычная модель делит параметры между множеством языков; модель, обученная под один домен, направляет весь ресурс на него. Авторы признают: со временем более новые модели вполне могут превзойти DharmaOCR даже на бразильском португальском, архитектуры и техники обучения продолжат улучшаться. Но, по их мнению, структурное преимущество специализации при этом никуда не денется, поскольку вычислительные и обучающие ресурсы конечны в принципе.

Ключевые факты

  • DharmaOCR (Dharma AI) обучена в два этапа: сначала тонкая настройка (SFT) на бразильском португальском, затем оптимизация предпочтений (DPO) для устойчивости вывода
  • На бенчмарке по бразильскому португальскому DharmaOCR набрала 0.925 против 0.798 у Mistral OCR4 и 0.7587 у Unlimited-OCR, при том что обе конкурирующие модели вышли позже
  • На рукописных сочинениях ENEM конкуренты искажают известные бразильские имена: 'Chico Buarque' → 'Chico Barque' (Mistral OCR4) и 'chico bique' (Unlimited-OCR)
  • На документе с мелким шрифтом Mistral OCR4, по данным авторов, выдала текст, вообще не связанный с содержимым страницы (деградация вывода)
  • Тезис статьи: обучение, сфокусированное на одном домене, даёт структурное преимущество перед многоязычными моделями независимо от того, насколько новая и крупная у конкурента архитектура

Почему это важно

Материал показывает конкретный случай, где узкоспециализированная модель обходит более новые и в целом более сильные многоязычные модели именно на своей узкой задаче, распознавании текста на бразильском португальском. Это иллюстрирует общий принцип для практиков ИИ: параметры и вычислительный ресурс модели конечны, и чем шире домен, под который её обучают, тем меньше ресурса достаётся любой конкретной подзадаче. При прочих равных специализированная модель может стабильно опережать более крупную и новую общую модель на своей узкой территории, и это преимущество не исчезает автоматически просто потому, что у конкурента вышла более новая архитектура.

Кому это важно

Прежде всего, командам, которые строят конвейеры обработки документов под конкретный язык или узкий тип документов: госструктурам, образовательным организациям, банкам и другим компаниям с комплаенс-процессами в Бразилии или других странах с нетипичной для мультиязычных моделей лексикой. Также, инженерам, которые выбирают между использованием крупной универсальной модели «из коробки» и обучением узкой модели под свою задачу, и разработчикам обучающих конвейеров, которым интересна связка SFT + DPO как рецепт против деградации генеративного вывода.

Как это применить

Статья описывает конкретный практический рецепт: сначала, SFT на большом корпусе документов целевого домена (в данном случае, бразильский португальский, разные форматы и уровни сложности), это выстраивает словарный и синтаксический фундамент. Затем, DPO на парах сравниваемых ответов, где модель учится выбирать более связный вывод целиком, а не оптимизировать каждый токен по отдельности, это снижает частоту 'деградации' (повторяющегося, бессвязного текста) при сложных изображениях. Для оценки такого подхода стоит тестировать модель именно на документах, характерных для целевого домена (в примере, рукописные экзаменационные сочинения, мелкий шрифт, деградировавшие сканы), а не на общих мультиязычных бенчмарках.

Можно ли доверять

Материал написан самими разработчиками DharmaOCR на официальном блоге компании и опирается на бенчмарк, который они сами спроектировали, а значит модель, естественно, оказывается на нём лучшей. Методология и состав тестового набора в тексте раскрыты не полностью, независимой проверки или рецензирования результатов не упомянуто. При этом конкретные числовые результаты (0.925 против 0.798 и 0.7587) и разбор конкретных ошибок конкурентов на конкретных документах (искажённое имя, деградировавший вывод) делают претензии проверяемыми в принципе, но сам текст стоит читать как заявление вендора о своём продукте, а не как независимое исследование.

Риски и подводные камни

Ключевой риск, конфликт интересов: тест строила и оценивала та же команда, что продаёт модель-победителя. Авторы честно признают ограничение своего же тезиса: более новые модели со временем вполне могут превзойти DharmaOCR даже на бразильском португальском, то есть специализация не даёт постоянного преимущества, а лишь смещает планку, на которую конкурентам нужно ориентироваться. Другой риск, цена специализации: DharmaOCR намеренно не претендует на качество распознавания вне бразильского португальского, то есть выигрыш в одном домене означает отказ от универсальности. Наконец, описанная проблема деградации вывода на сложных изображениях, это отраслевой риск для всех генеративных OCR-моделей, а не уникальная слабость только конкурентов Dharma AI.

«Имя Chico Buarque, не малоизвестная деталь, оно широко узнаваемо в стране. Систематическое искажение этого имени во всех выводах, не случайная ошибка, а диагностический признак того, куда именно не дотянулось обучение модели.»

— блог Dharma AI на Hugging Face