Мощные модели, работающие с изображениями вместо текста
Это модели, которые вместо текста, как традиционные языковые модели (LLM), используют изображения в качестве входных данных. Это открывает множество возможностей, поскольку мы можем напрямую обрабатывать содержимое документа, вместо того чтобы использовать OCR для извлечения текста, а затем вводить этот текст в LLM.
В этой статье я расскажу, как можно применять модели языка видения (VLM) для задач понимания длинных контекстных документов. Это означает применение VLM к очень длинным документам (более 100 страниц) или к очень насыщенным документам, содержащим много информации, например, чертежи. Я расскажу, что следует учитывать при применении VLM и какие задачи можно с их помощью выполнять.
Зачем нужны VLM?
Основная причина, по которой требуются VLM, заключается в том, что для понимания большого объёма информации в документах требуется визуальный ввод.
Альтернативой VLM является использование OCR, а затем LLM. Проблема здесь в том, что вы извлекаете из документа только текст, не включая визуальную информацию, такую как:
- расположение разного текста относительно друг друга;
- несловесную информацию (по сути, всё, что не является буквой, например, символы или чертежи);
- расположение текста относительно другой информации.
Эта информация часто имеет решающее значение для понимания документа, поэтому лучше использовать VLM напрямую, где вы напрямую подаёте изображение, и, следовательно, можете интерпретировать визуальную информацию.
Для длинных документов использование VLM является сложной задачей, поскольку для представления визуальной информации требуется много токенов. Обработка сотен страниц — это серьёзная проблема. Однако благодаря недавним достижениям в технологии VLM модели стали лучше и лучше сжимать визуальную информацию до разумной длины контекста, что делает возможным и удобным применение VLM к длинным документам для задач понимания документов.
OCR с использованием VLM
Один из хороших вариантов обработки длинных документов и одновременного включения визуальной информации — это использование VLM для выполнения OCR. Традиционное OCR, такое как Tesseract, извлекает только текст непосредственно из документов вместе с ограничивающей рамкой текста. Однако VLM также обучены выполнять OCR и могут выполнять более продвинутое извлечение текста, такое как:
- извлечение Markdown;
- объяснение чисто визуальной информации (например, если есть рисунок, объясните рисунок текстом);
- добавление недостающей информации (например, если есть поле с надписью «Дата» и пустое поле после, вы можете указать OCR извлечь «Дата <пусто>»).
Недавно Deepseek выпустила мощную модель OCR на основе VLM, которая в последнее время привлекла много внимания и популярности, сделав VLM для OCR более популярными.
Markdown
Markdown очень мощный, потому что вы извлекаете форматированный текст. Это позволяет модели:
- предоставлять заголовки и подзаголовки;
- точно представлять таблицы;
- выделять текст жирным шрифтом.
Это позволяет модели извлекать более репрезентативный текст, который более точно отображает текстовое содержимое документов. Если вы теперь примените LLM к этому тексту, LLM будут работать намного лучше, чем если бы вы применили их к простому тексту, извлечённому с помощью традиционного OCR.
LLM лучше работают с форматированным текстом, таким как Markdown, чем с чистым текстом, извлечённым с помощью традиционного OCR.
Объяснение визуальной информации
Ещё одна вещь, которую вы можете использовать для OCR с помощью VLM, — это объяснение визуальной информации. Например, если у вас есть рисунок без текста, традиционное OCR не извлечёт никакой информации, поскольку оно обучено только извлекать текстовые символы. Однако вы можете использовать VLM для объяснения визуального содержимого изображения.
Представьте, что у вас есть следующий документ:
This is the introduction text of the document
<image showing the Eiffel tower>
This is the conclusion of the document
Если вы применили традиционное OCR, такое как Tesseract, вы получите следующий результат:
This is the introduction text of the document
This is the conclusion of the document
Это явно проблема, поскольку вы не включаете информацию об изображении с Эйфелевой башней. Вместо этого вы должны использовать VLM, которые вывели бы что-то вроде:
This is the introduction text of the document
<image>
This image depicts the Eiffel tower during the day
</image>
This is the conclusion of the document
Если вы использовали LLM для первого текста, он, конечно, не знал бы, что документ содержит изображение Эйфелевой башни. Однако если вы использовали LLM для второго текста, извлечённого с помощью VLM, LLM, естественно, лучше справятся с ответами на вопросы о документе.
Добавление недостающей информации
Вы также можете настроить VLM на вывод содержимого, если есть недостающая информация. Чтобы понять эту концепцию, посмотрите на изображение ниже:
Если вы применили традиционное OCR к этому изображению, вы получили бы:
Address Road 1
Date
Company Google
Однако было бы более репрезентативно, если бы вы использовали VLM, которые при инструкциях могли бы вывести:
Address Road 1
Date <empty>
Company Google
Это более информативно, потому что мы сообщаем любой нижестоящей модели, что поле даты пустое. Если мы не предоставим эту информацию, невозможно узнать позже, пропущена ли дата, OCR не смогло её извлечь или по какой-либо другой причине.
Однако OCR с использованием VLM всё ещё страдает от некоторых проблем, с которыми борется традиционное OCR, потому что оно не обрабатывает визуальную информацию напрямую. Вы, наверное, слышали поговорку, что «картинка стоит тысячи слов», которая часто верна для обработки визуальной информации в документах. Да, вы можете предоставить текстовое описание рисунка с помощью VLM в качестве OCR, но этот текст никогда не будет таким же описательным, как сам рисунок. Таким образом, я утверждаю, что во многих случаях лучше напрямую обрабатывать документы с помощью VLM, как я расскажу в следующих разделах.
Модели с открытым исходным кодом против закрытых моделей
Существует множество VLM. Я слежу за таблицей лидеров HuggingFace VLM, чтобы быть в курсе любых новых высокопроизводительных моделей. Согласно этой таблице лидеров, вам следует выбрать Gemini 2.5 Pro или GPT-5, если вы хотите использовать закрытые модели через API. Из моего опыта, это отличные варианты, которые хорошо подходят для понимания длинных документов и работы со сложными документами.
Однако вы также можете захотеть использовать модели с открытым исходным кодом из-за конфиденциальности, стоимости или для того, чтобы иметь больше контроля над своим приложением. В этом случае SenseNova-V6-5-Pro возглавляет таблицу лидеров. Я не пробовал эту модель лично, но у меня есть большой опыт работы с Qwen 3 VL. Qwen также выпустила специальную поваренную книгу для понимания длинных документов.
VLM в длинных документах
В этом разделе я расскажу о применении VLM к длинным документам и о соображениях, которые необходимо учитывать при этом.
Соображения по вычислительной мощности
Если вы используете модель с открытым исходным кодом, одним из основных соображений является размер модели, которую вы можете запустить, и сколько времени это займёт. Вы зависите от доступа к более крупной GPU, по крайней мере, к A100 в большинстве случаев. К счастью, это широко доступно и относительно дёшево (обычно стоит 1,5–2 доллара в час, и многие облачные провайдеры предлагают такие услуги). Однако вы должны учитывать приемлемую для вас задержку. Для работы VLM требуется много вычислений, и вы должны учитывать следующие факторы:
- Сколько времени можно потратить на обработку одного запроса?
- Какое разрешение изображения вам нужно?
- Сколько страниц вам нужно обработать?
Если у вас есть, например, чат в реальном времени, вам нужен быстрый процесс, однако если вы просто обрабатываете данные в фоновом режиме, вы можете позволить себе более длительные процессы обработки.
Разрешение изображения также является важным фактором. Если вам нужно иметь возможность читать текст в документах, вам нужны изображения высокого разрешения, обычно более 2048×2048, хотя это, естественно, зависит от документа. Подробные чертежи, например, с мелким текстом, потребуют ещё более высокого разрешения. Увеличение разрешения значительно увеличивает время обработки и является важным фактором. Вы должны стремиться к минимально возможному разрешению, которое всё ещё позволяет вам выполнять все задачи, которые вы хотите выполнить. Кроме того, количество страниц — это аналогичное соображение. Добавление большего количества страниц часто необходимо для того, чтобы иметь доступ ко всей информации в документе. Однако часто наиболее важная информация содержится в начале документа, поэтому вы можете обойтись, например, обработкой только первых 10 страниц.
Обработка, зависящая от ответа
Чтобы снизить требуемую вычислительную мощность, можно начать с простого и переходить к более тяжёлой обработке только в том случае, если вы не получите желаемых ответов.
Например, вы можете начать с просмотра только первых 10 страниц и посмотреть, сможете ли вы правильно решить поставленную задачу, например, извлечь фрагмент информации из документа. Только если мы не сможем извлечь фрагмент информации, мы начнём просматривать больше страниц. Вы можете применить тот же принцип к разрешению ваших изображений, начиная с изображений с более низким разрешением и переходя к более высокому разрешению по мере необходимости.
Такая иерархическая обработка снижает требуемую вычислительную мощность, поскольку большинство задач можно решить, просматривая только первые 10 страниц или используя изображения с более низким разрешением. Затем, только при необходимости, мы переходим к обработке большего количества изображений или изображений с более высоким разрешением.
Стоимость
Стоимость — важный фактор при использовании VLM. Я обработал много документов и обычно вижу примерно 10-кратное увеличение количества токенов при использовании изображений (VLM) вместо текста (LLM). Поскольку входные токены часто являются движущей силой затрат в задачах с длинными документами, использование VLM обычно значительно увеличивает затраты. Обратите внимание, что для OCR этот момент не применим, поскольку OCR естественным образом производит много выходных токенов при выводе всего текста на изображениях.
Таким образом, при использовании VLM невероятно важно максимально использовать кэшированные токены — тема, которую я обсуждал в своей недавней статье об оптимизации LLM для снижения затрат и задержек.
Заключение
В этой статье я рассказал, как можно применять модели языка видения (VLM) к длинным документам для решения сложных задач понимания документов. Я обсудил, почему VLM так важны, и подходы к использованию VLM для длинных документов. Вы можете, например, использовать VLM для более сложного OCR или напрямую применять VLM к длинным документам, хотя и с мерами предосторожности относительно требуемой вычислительной мощности, стоимости и задержек. Я думаю, что VLM становятся всё более и более важными, о чём свидетельствует недавний выпуск Deepseek OCR. Поэтому я считаю, что VLM для понимания документов — это тема, с которой вам стоит ознакомиться, и вам следует научиться использовать VLM для приложений обработки документов.
