Когда инженеры NVIDIA проверили первую версию Nemotron OCR на нелатинских языках, результаты оказались неприемлемыми: показатель NED (Normalized Edit Distance, нормализованное редакционное расстояние) для корейского составил 0,923, для японского — 0,723, для китайского упрощённого — 0,784. Это означает, что распознанный текст почти не совпадал с оригиналом. Расширение набора символов с 855 до 14 244 дало лишь незначительный прирост: модель теоретически могла выводить нужные символы, но никогда не видела их в обучающих данных. Узким местом оказались данные, а не архитектура.
Собрать и разметить миллионы реальных документов на шести языках с аннотациями на уровне слова, строки и абзаца — задача, которая требует огромных ресурсов и времени. Команда выбрала другой путь: синтетическую генерацию данных. Подход не новый — он применяется в компьютерном зрении с начала 2010-х, — но для многоязычного OCR его реализовали в особенно масштабном варианте. Ключевое наблюдение: рецепт синтетических обучающих данных не зависит от языка. Нужны два компонента — исходный текст на целевом языке и шрифты, поддерживающие соответствующую систему письма. Всё остальное генерируется программно с точными метками.
| Language | Nemotron OCR v1 NED |
|---|---|
| Japanese | 0.723 |
| Korean | 0.923 |
| Russian | 0.564 |
| Chinese (Simplified) | 0.784 |
| Chinese (Traditional) | 0.700 |
Для исходных текстов использовался корпус mOSCAR — многоязычная веб-выборка, охватывающая 163 языковых подмножества, включая латиницу, CJK-скрипты, кириллицу, арабское письмо, деванагари и тайский. Это обеспечивает реалистичное распределение словарного запаса и частотности символов — в отличие от словарных списков или машинно-сгенерированных текстов. Рендеринг построен на модифицированной версии SynthDoG (Synthetic Document Generator) из проекта Donut. Оригинальный инструмент давал только постраничные метки; в NVIDIA расширили его до трёхуровневой аннотации: слово, строка, абзац — каждый с ограничивающими прямоугольниками и четырёхточечными квадами. Дополнительно пайплайн генерирует граф порядка чтения — структуру, которую большинство публичных OCR-датасетов не содержит вовсе.
Для генерации текста использовался корпус mOSCAR, охватывающий 163 языковых подмножества и десятки систем письма.

Граф порядка чтения критичен для документов с нестандартной структурой: многоколоночные макеты, таблицы, вертикальный текст в японском и китайском. Без него модель, обученная на простом принципе «сверху вниз, слева направо», будет перемешивать колонки и строки таблиц. Пайплайн поддерживает несколько шаблонов макетов: многоколоночный текст, разрозненные слова в стиле сцен, вертикальные колонки, таблицы с заголовками, страницы содержания с отточием, слайды в стиле PowerPoint и документы в стиле Word. При каждой генерации шаблон выбирается случайно.
Архитектура модели основана на принципе FOTS (Fast Oriented Text Spotting): детекция и распознавание объединены в единую сеть с общим свёрточным бэкбоном RegNetX-8GF. Изображение проходит через дорогостоящий свёрточный проход ровно один раз, а полученные карты признаков переиспользуются детектором, распознавателем и реляционной моделью. Распознаватель получает выровненные фрагменты из обнаруженных регионов и декодирует их небольшим Transformer-ом. Реляционная модель рассуждает о взаимосвязях между регионами с помощью компактного Transformer-энкодера. Именно это переиспользование признаков обеспечивает скорость 34,7 страницы в секунду на одном GPU A100.
Итоговые показатели NED для нелатинских языков снизились до 0,035–0,069 — на порядок лучше, чем у первой версии. Датасет nvidia/OCR-Synthetic-Multilingual-v1 и модель nvidia/nemotron-ocr-v2 опубликованы в открытом доступе на Hugging Face. Пайплайн генерации данных достаточно универсален, чтобы распространить его на любой язык, для которого существуют шрифты и корпус текстов.

