Узнайте, как эффективно применять модели языка видения для решения проблем
Делиться

Модели визуального языка (VLM) — это мощные модели машинного обучения, способные обрабатывать как визуальную, так и текстовую информацию. В связи с недавним выпуском Qwen 3 VL я хочу подробно рассмотреть, как использовать эти мощные VLM для обработки документов.
Оглавление
- Почему вам нужно использовать VLM
- Области применения
- Варианты использования агентов
- Использование компьютера
- Отладка
- Вопрос-ответ
- Классификация
- Извлечение информации
- Когда VLM являются проблемными
- Стоимость эксплуатации VLM
- Невозможно обрабатывать длинные документы
- Варианты использования агентов
- Заключение
Почему вам нужно использовать VLM
Чтобы продемонстрировать, почему для некоторых задач требуются VLM, я хочу начать с примера задачи, в которой нам нужно интерпретировать текст и визуальную информацию текста.
Представьте, что вы смотрите на изображение ниже. Флажки указывают, следует ли включать документ в отчёт, и теперь вам нужно определить, какие документы следует включить.

Для человека это простая задача: очевидно, что документы 1 и 3 следует включить, а документ 2 — исключить. Однако, если попытаться решить эту задачу исключительно с помощью LLM, возникнут проблемы.
Чтобы запустить чистый LLM, вам сначала нужно будет распознать изображение, и вывод OCR будет выглядеть примерно так, как показано ниже, если вы, например, используете Tesseract от Google, который извлекает текст построчно.
Документ 1 Документ 2 Документ 3 XX
Как вы, возможно, уже заметили, у LLM возникнут проблемы с выбором документов, которые следует включить, поскольку невозможно узнать, к каким документам относятся X. Это лишь один из многих случаев, когда VLM чрезвычайно эффективно решают проблему.
Главное здесь в том, что для определения документов, отмеченных значком X, требуется как визуальная, так и текстовая информация. Вам необходимо знать текст и его визуальное расположение на изображении. Я резюмирую это в цитате ниже:
VLM необходимы, когда значение текста зависит от его визуального положения.
Области применения
Существует множество областей, в которых можно применять VLM. В этом разделе я расскажу о некоторых областях, где VLM оказались полезными, и где я сам успешно применял их.
Варианты использования агентов
Агенты сейчас в тренде, и VLM также играют в этом свою роль. Я выделю две основные области, где VLM могут быть использованы в агентском контексте, хотя, конечно, есть и множество других подобных областей.
Использование компьютера
Использование компьютера — интересный пример использования VLM. Под использованием компьютера я подразумеваю, что VLM просматривает кадр с вашего компьютера и решает, какое действие выполнить дальше. Одним из примеров является оператор OpenAI. Например, это может быть просмотр кадра статьи, которую вы сейчас читаете, и прокрутка страницы вниз, чтобы прочитать продолжение.
VLM полезны для использования на компьютере, поскольку LLM недостаточны для принятия решения о том, какие действия следует предпринять. При работе на компьютере часто приходится интерпретировать визуальное расположение кнопок и информации, что, как я уже описал в начале, является одной из основных областей применения VLM.
Отладка
Отладка кода — также чрезвычайно полезная область применения VLM. Представьте, что вы разрабатываете веб-приложение и обнаруживаете ошибку.
Один из вариантов — начать логирование в консоли, скопировать логи, описать Cursor свои действия и попросить его исправить. Это, естественно, занимает много времени, поскольку требует от пользователя множества действий вручную.
Другой вариант — использовать VLM для более эффективного решения проблемы. В идеале вы описываете, как воспроизвести проблему, а VLM может войти в ваше приложение, воссоздать поток, проверить проблему и, таким образом, отладить неполадку. Существуют приложения для подобных задач, хотя большинство из них не так далеко продвинулись в разработке, как я видел.
Вопрос-ответ
Использование VLM для визуального ответа на вопросы — один из классических подходов к использованию VLM. Ответ на вопросы — это описанный ранее в этой статье пример использования, позволяющий определить, какой флажок принадлежит к тому или иному документу. Вы передаете VLM вопрос пользователя и изображение (или несколько изображений), которые VLM обрабатывает. Затем VLM предоставляет ответ в текстовом формате. Этот процесс показан на рисунке ниже.

Однако следует взвесить все преимущества использования VLM и LLM. Естественно, когда задача требует текстовой и визуальной информации, для получения корректного результата необходимо использовать VLM. Однако VLM обычно обходятся значительно дороже, поскольку требуют обработки большего количества токенов. Это связано с тем, что изображения содержат большой объём информации, что приводит к необходимости обработки большого количества входных токенов.
Кроме того, если VLM должен обрабатывать текст, необходимы изображения высокого разрешения, позволяющие VLM интерпретировать пиксели, составляющие буквы. При более низком разрешении VLM с трудом считывает текст на изображениях, и вы получите результаты низкого качества.
Классификация

Ещё одна интересная область применения VLM — классификация. Под классификацией я подразумеваю ситуацию, когда у вас есть заранее определённый набор категорий и вам нужно определить, к какой категории принадлежит изображение.
Вы можете использовать VLM для классификации, применяя тот же подход, что и LLM. Вы создаёте структурированное приглашение, содержащее всю необходимую информацию, включая возможные категории выходных данных. Кроме того, желательно охватить различные пограничные случаи, например, в сценариях, где обе категории весьма вероятны, и VLM должен выбрать одну из них.
Например, вы можете задать такую подсказку:
def get_prompt(): return «»» ## Общие инструкции. Вам необходимо определить, к какой категории принадлежит заданный документ. Доступны категории: «юридический», «технический», «финансовый». ## Обработка пограничных случаев. В случае, если у вас есть юридический документ, содержащий финансовую информацию, документ относится к финансовой категории — … ## Формат возврата. Отвечайте только соответствующей категорией, без другого текста. «»»
Извлечение информации
Вы также можете эффективно использовать VLM для извлечения информации, и существует множество задач извлечения информации, требующих визуальной информации. Вы создаёте запрос, аналогичный запросу классификации, созданному мной выше, и обычно предлагаете VLM ответить в структурированном формате, например, в виде JSON-объекта.
При извлечении информации необходимо учитывать, сколько точек данных вы хотите извлечь. Например, если вам нужно извлечь 20 различных точек данных из документа, вам, вероятно, не захочется извлекать их все сразу. Это связано с тем, что модели, скорее всего, будет сложно точно извлечь такой объём информации за один раз.
Вместо этого стоит рассмотреть возможность разделения задачи, например, извлечения 10 точек данных двумя разными запросами, что упростит задачу для модели. С другой стороны, иногда вы столкнётесь с тем, что некоторые точки данных связаны друг с другом, а значит, их следует извлекать одним запросом. Кроме того, отправка нескольких запросов увеличивает стоимость вывода.

Когда VLM являются проблемными
VLM — это удивительные модели, способные решать задачи, которые ещё несколько лет назад было невозможно решить с помощью ИИ. Однако у них есть свои ограничения, о которых я расскажу в этом разделе.
Стоимость эксплуатации VLM
Первое ограничение — это стоимость работы VLM, о которой я уже кратко говорил ранее в этой статье. VLM обрабатывают изображения, состоящие из множества пикселей. Эти пиксели содержат большой объём информации, которая кодируется в токены, обрабатываемые VLM. Проблема в том, что, поскольку изображения содержат так много информации, для каждого изображения требуется создавать много токенов, что, в свою очередь, увеличивает стоимость работы VLM.
Кроме того, вам часто требуются изображения высокого разрешения, поскольку VLM требуется для чтения текста на изображениях, что приводит к обработке ещё большего количества токенов. Таким образом, запуск VLM обходится дорого, как через API, так и с точки зрения вычислительных затрат, если вы решите разместить VLM самостоятельно.
Невозможно обрабатывать длинные документы
Количество токенов, содержащихся в изображениях, также ограничивает количество страниц, которые VLM может обрабатывать одновременно. VLM ограничены своими контекстными окнами, как и традиционные LLM. Это становится проблемой при обработке длинных документов, содержащих сотни страниц. Конечно, можно разбить документ на части, но могут возникнуть проблемы, если VLM не сможет получить доступ ко всему содержимому документа за один раз.
Например, если у вас документ объёмом 100 страниц, вы можете сначала обработать страницы 1–50, а затем страницы 51–100. Однако если для какой-либо информации на странице 53 может потребоваться контекст со страницы 1 (например, название или дата документа), это приведёт к проблемам.
Чтобы узнать, как справиться с этой проблемой, я прочитал кулинарную книгу Qwen 3, где есть страница о том, как использовать Qwen 3 для сверхдлинных документов. Обязательно протестирую этот метод и расскажу о его эффективности в следующей статье.
Заключение
В этой статье я рассмотрел модели языка машинного зрения и способы их применения в различных областях. Сначала я описал, как интегрировать VLM в агентные системы, например, в качестве агента использования компьютера или для отладки веб-приложений. Затем я рассмотрел такие области, как ответы на вопросы, классификация и извлечение информации. Наконец, я также рассмотрел некоторые ограничения VLM, обсудив вычислительные затраты на их запуск и трудности с обработкой длинных документов.
👉 Найдите меня в соцсетях:
🧑💻 Свяжитесь с нами
🐦 X / Твиттер
✍️ Средний
Источник: towardsdatascience.com



























