24.10.2026

Дообучение LightOnOCR-3 0.8B: синтетика учит рамки, почерку учат только живые тетради

Можно ли улучшить маленькую OCR-модель, если обучать её только на данных с заведомо верной разметкой — синтетике и электронных PDF? Четыре итерации LoRA-дообучения LightOnOCR-3 0.8B.

Правило данных

Обучаться только на разметке, которая верна по построению:

  • синтетика — страницы рисуются из HTML в Chromium, текст и рамки каждого блока снимаются из DOM, поэтому совпадают с пикселями точно;
  • электронные PDF — текст и координаты берутся из текстового слоя.

Псевдоразметку от сильных моделей (например, ответы Glimmer на реальных сканах) не использовали: тогда модель училась бы ошибкам учителя. Все рамки проверялись автоматически (пересечение блоков больше 5 % — брак) и глазами на нескольких страницах каждого источника.

Оценка — MWS-Vision-Bench, 120 страниц, режим grounding, по три повтора каждой модели. Повтор базовой модели гуляет в пределах ±0.004, это и есть шум.

Итерации

Версия Что в обучении MWS 120 Печатные Рукопись
База — 0.732 0.849 0.349
v0 5 шаблонов судебных писем, 600 синтетических таблиц, 207 страниц PDF 0.713 — 0.297
v1 15 семейств макетов, 147 PDF, письма, таблицы; брак рамок отсеян 0.715 0.857 0.247
v1b те же данные, адаптер только на языковой части 0.712 0.840 0.290
v2 v1 + 290 страниц настоящих школьных тетрадей 0.762 0.857 0.452

Результаты v0 недействительны: в данных были пересекающиеся рамки. Обучение — LoRA r=32 на языковой части и визуальном энкодере (23.4 млн параметров), 57–74 шага, 36–47 минут на RTX 3090, около 5 ГБ видеопамяти.

Что дала синтетика: рамки

На отложенных страницах модель уверенно выучила нашу разметку блоков. Доля блоков с IoU ≥ 0.5 у v1:

Отложенный набор База v1
Все 488 страниц 0.72 0.91
Семейства макетов, которых не было в обучении (протокол, двухколоночная статья, чек) 0.61 0.89
Новые электронные PDF 0.69 0.80

Оговорка: это частично согласие с нашим способом нарезать блоки. На реальных сканах эталонных рамок нет, поэтому там сравнивали только на глаз.

Страница MWS 1311 с рамками блоков базовой модели

Страница MWS 1311, базовая модель: строки объединены в крупные блоки.

Та же страница с рамками дообученной модели

Дообученная модель режет на блоки по строкам и полям. Балл страницы 0.755 → 0.875.

Что сломала синтетика: почерк

Печатный текст после дообучения на синтетике стал чуть лучше, а рукопись провалилась: 0.349 → 0.247. Синтетические «рукописные» шрифты не похожи на настоящий почерк. Гипотеза, что виноваты адаптеры на визуальном энкодере, не подтвердилась: v1b без них тоже хуже базы.

Тогда собрали настоящие рукописные данные: 2482 страницы из открытых наборов школьных тетрадей (Sber school_notebooks_RU и другие). Наклон выровнен, рамки построчные и без пересечений, порядок строк — по геометрии, текст проверен глазами. При сборке нашлась утечка: страница MWS 900 на 39 % совпадала с тетрадями по 6-граммам. Такие страницы отсекаются отдельной проверкой.

290 таких страниц в обучении v2 подняли рукопись на MWS с 0.349 до 0.452, а общий балл — с 0.732 до 0.762. Печатные страницы не пострадали.

Обратная сторона v2

На отложенных таблицах v2 стала хуже базы: сходство ячеек 0.929 → 0.895. Синтетические таблицы база и так читает почти идеально (0.97–0.98), и обучение на них мало что даёт.

Тот же опыт на Indra OCR

Распознаватель строк Indra OCR — маленькая модель на CPU — дообучили на тех же тетрадях:

Версия MWS 120 Печатные Рукопись
База 0.649 0.812 0.113
v1: строки тетрадей 0.681 0.804 0.274
v2: + больше печатных строк 0.684 0.807 0.280
v3: + 1000 страниц, собранных из отдельных слов 0.681 0.801 0.287

На отложенных тетрадях весь конвейер Indra вырос с 0.18 до 0.77, а на рукописи MWS упёрся в 0.28. Объём строк больше не помогает: в MWS другой почерк и другие носители, нужна разнообразная рукопись.

Итог

  • Синтетика с точной разметкой хорошо учит структуре: рамкам блоков и конвенции разметки.
  • Почерку синтетика не учит и даже портит его. Нужны настоящие рукописные страницы.
  • Любой набор для обучения нужно проверять на пересечение с бенчмарком: одна совпавшая страница незаметно завышает результат.