Что такое VLM - visual language models (Модели языка и зрения)

Модели языка и зрения (VLM) — это мультимодальные генеративные модели искусственного интеллекта, способные понимать и обрабатывать видео, изображения и текст.

Модели языка и зрения — это мультимодальные системы искусственного интеллекта, созданные путем объединения большой языковой модели (LLM) с кодировщиком зрения, что дает LLM способность «видеть». С этой способностью VLM могут обрабатывать и обеспечивать углубленное понимание видео, изображений и текстовых входных данных, предоставленных в запросе, для генерации текстовых ответов.

Диаграмма, показывающая, что модель языка и зрения способна на различные варианты использования: резюмирование видео, анализ изображений, мультимодальный чат, разбор документов, распознавание документов (OCR).

Схема агента из урока

Рисунок 1: Варианты использования моделей языка и зрения (VLM)

В отличие от традиционных моделей компьютерного зрения, VLM не ограничены фиксированным набором классов или конкретной задачей, такой как классификация объектов или обнаружение объектов на изображениях. Предобученные на огромном корпусе текста и пар изображений/видео с подписями, VLM могут получать инструкции на естественном языке и использоваться для выполнения многих классических задач компьютерного зрения, а также новых задач, поддерживаемых генеративным ИИ, таких как резюмирование и ответы на вопросы по визуальным данным (изображения и видео).

Почему модели языка и зрения важны?

Чтобы понять важность VLM, полезно знать, как работают предыдущие модели компьютерного зрения (CV - computer vision). Традиционные модели CV на основе сверточных нейронных сетей (CNN) обучаются для выполнения конкретной задачи на ограниченном наборе классов.

Например:

  • Модель классификации, которая определяет, содержит ли изображение кошку или собаку.
  • Модель обнаружения и распознавания оптических символов CV, которая читает текст на изображении, но не интерпретирует формат или какие-либо визуальные данные в документе.

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

VLM привносят новый класс возможностей, сочетая мощь фундаментальных моделей, таких как CLIP (Contrastive Language-Image Pre-Training), и LLM, чтобы иметь в одной модели как возможности зрения, так и языка. «Из коробки» VLM демонстрируют сильные показатели zero-shot на различных задачах зрения, таких как визуальные вопросы и ответы, классификация и оптическое распознавание символов (OCR). Они также чрезвычайно гибкие и могут использоваться не только на фиксированном наборе классов, но и для почти любого варианта использования, просто изменяя текстовый запрос.

Использование VLM очень похоже на взаимодействие с LLM. Пользователь предоставляет текстовые запросы, которые могут чередоваться с изображениями. Затем входные данные используются для генерации текстового вывода. Входные запросы являются открытыми, что позволяет пользователю давать инструкции VLM отвечать на вопросы по изображениям (фото, сканы документов, графики), резюмировать видео, объяснять содержимое или рассуждать о изображениях. Пользователи могут общаться с VLM, с возможностью добавлять изображения в контекст беседы. VLM также могут быть интегрированы в визуальные агенты для автономного выполнения задач зрения - определять ситуации на фото, определять наличие объектов на изображениях и др.

Как работают модели языка и зрения?

Большинство VLM следуют архитектуре, состоящей из трех частей:

  • Кодировщик зрения (Vision Encoder)
  • Проектор
  • LLM

Кодировщик зрения обычно представляет собой модель на основе CLIP с архитектурой трансформера, обученную на миллионах пар изображений и текстов (изображение - опсание изображения, изображение + вопрос - ответ на вопрос по изображению), что дает ей возможность ассоциировать изображения и текст.

Проектор — это набор слоев, который переводит вывод кодировщика зрения в форму, понятную LLM, часто интерпретируемую как токены изображений. Этот проектор может быть простым линейным слоем, как в LLaVA и VILA, или чем-то более сложным, как слои кросс-внимания, используемые в Llama 3.2 Vision.

Любая готовая LLM может быть использована для создания VLM. Существуют сотни вариантов VLM, которые сочетают различные LLM с кодировщиками зрения.

Диаграмма, показывающая архитектуру модели языка и зрения VLM

Рисунок 2: Общая трехчастная архитектура для моделей языка и зрения VLM

Под Image Tokens и Text Tokens тут правильнее понимать эмбеддинги - векторы представляющие токены во внутреннем пространстве пространстве LLM.

И если Text Tokens берутся из словаря токенов модели и матрицы эмбеддингов текстовых токенов, то Image Tokens - вычисляются на лету по изображению и могут быть совершенно любыми, это набор векторов которые выдает Vision Encoder и эти векторы проецируются в пространство эмбеддингов LLM через обучаемый на этапе создания VLM Пректор.

Как обучаются модели языка и зрения?

VLM обучаются в несколько этапов, которые включают предварительное обучение на котором надо сошласовать уже ранее обученные LLM и Vision Encoder, за которым следует контролируемое тонкое обучение - модель делают более инструктивной, следующей запросам пользователя. Дополнительно, может быть применено эффективное тонкое дообучение (Lora, PEFT) в качестве финального этапа для создания специфичной для домена VLM на пользовательских данных.

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

Данные, используемые на этом этапе, представляют собой смесь примеров запросов с текстовыми и/или графическими входами и ожидаемого ответа модели. Например, эти данные могут быть запросами, которые говорят модели описать изображение или посчитать все объекты в кадре с ожидаемым правильным ответом. После этого раунда обучения VLM поймет, как лучше всего интерпретировать изображения и реагировать на запросы пользователей.

Диаграмма, показывающая трехэтапный процесс обучения для VLM

Рисунок 3: Обучение для VLM часто проводится в несколько этапов, чтобы нацелить определенные части модели

После обучения VLM может использоваться так же, как LLM, предоставляя запросы, которые также могут включать изображения, чередующиеся в тексте. Затем VLM сгенерирует текстовый ответ на основе входных данных. VLM обычно развертываются с интерфейсом REST API в стиле OpenAI, чтобы упростить взаимодействие с моделью. Только помимо текстового промпта модели передают одно или несколько изображений в кодировке base64.

Более продвинутые методы в настоящее время исследуются для улучшения возможностей зрения:

  • Ансамблирование кодировщиков зрения для обработки изображений
  • Разделение изображений с высоким разрешением на более мелкие части для обработки
  • Увеличение длины контекста для улучшения понимания длинных видео

Все эти достижения продвигают возможности VLM от понимания только одиночных изображений к высокоспособным моделям, которые могут сравнивать и сопоставлять изображения, точно читать текст, понимать длинные видео и иметь сильное пространственное понимание.

Как оцениваются модели языка и зрения?

Существует несколько общих тестов, таких как MMMU, Video-MME, MathVista, ChartQA и DocVQA, чтобы определить, насколько хорошо модели языка и зрения справляются с различными задачами, такими как:

  • Визуальные вопросы и ответы
  • Логика и рассуждения
  • Понимание документов
  • Сравнение нескольких изображений
  • Понимание видео

Большинство тестов состоят из набора изображений с несколькими связанными вопросами, часто представленными в виде вопросов с несколькими вариантами ответов. Формат с несколькими вариантами ответов — это самый простой способ последовательно оценивать и сравнивать VLM. Эти вопросы проверяют восприятие, знания и способности к рассуждению VLM. При проведении этих тестов VLM предоставляется изображение, вопрос и несколько вариантов ответов, из которых необходимо выбрать один или несколько правильных.

График, показывающий примеры вопросов с несколькими вариантами ответов для VLM по нескольким предметам из теста MMMU.

Рисунок 4: Примеры вопросов с несколькими вариантами ответов для VLM, используемых в тесте MMMU

Точность VLM — это количество правильных выборов из набора вопросов с несколькими вариантами ответов. Некоторые тесты также включают числовые вопросы, где VLM должна выполнить конкретный расчет и быть в пределах определенной погрешности от эталонного ответа, чтобы считать ответ правильным. Часто эти вопросы и изображения взяты из академических источников, таких как учебники университетского уровня.

Как используются модели языка и зрения?

VLM быстро становятся основным инструментом для всех типов задач, связанных с зрением, благодаря своей гибкости и пониманию естественного языка. VLM можно легко инструктировать выполнять широкий спектр задач через естественный язык:

  • Ответы на визуальные вопросы
  • Резюмирование изображений и видео
  • Разбор текстовых и рукописных документов

Предыдущие приложения, которые потребовали бы большого ансамбля специально обученных моделей, теперь могут быть выполнены с помощью одной VLM.

VLM особенно хороши в резюмировании содержимого изображений и могут быть настроены на выполнение конкретных задач на основе содержимого. Возьмем, например, образовательный вариант использования — VLM можно предоставить изображение рукописной математической задачи, и она может использовать свои возможности оптического распознавания символов и рассуждений для интерпретации задачи и создания пошагового руководства по ее решению. VLM могут не только понимать содержимое изображения, но и рассуждать и выполнять конкретные задачи.

Диаграмма, показывающая, как визуальные ИИ-агенты могут применяться в реальном мире для складских, транспортных и спортивных вариантов использования.

Диаграмма, показывающая, как визуальные ИИ-агенты могут применяться в реальном мире для складских, транспортных и спортивных вариантов использования

Рисунок 5: ИИ-агенты видеоаналитики преобразуют видеоданные и изображения в реальные инсайты

С огромным количеством видео, производимого каждый день, невозможно просматривать и извлекать инсайты из этого объема видео, производимого всеми отраслями. VLM могут быть интегрированы в более крупную систему для создания ИИ-агентов видеоаналитики, способных обнаруживать конкретные события по запросу. Эти системы могут использоваться для обнаружения неисправных роботов на складе или генерации оповещений о отсутствии товара, когда полки пусты, мониторинга драк и дорожных происшествий и многое другое. Их общее понимание выходит за рамки простого обнаружения и может использоваться для генерации автоматизированных отчетов. Например, интеллектуальная транспортная система может обнаруживать, анализировать и создавать отчеты о дорожных опасностях, таких как упавшие деревья, остановившиеся транспортные средства или столкновения.

VLM могут использоваться с такими технологиями, как графовые базы данных, для понимания длинных видео. Это помогает им улавливать сложность объектов и событий в видео. Такие системы могут использоваться для резюмирования операций на складе, чтобы находить узкие места и неэффективность, или создания спортивных комментариев для футбольных, баскетбольных или футбольных матчей.

Каковы проблемы моделей языка и зрения?

Модели языка и зрения быстро развиваются, но у них все еще есть некоторые ограничения, особенно в области пространственного понимания и понимания длинных видео.

Большинство VLM используют модели на основе CLIP в качестве кодировщика зрения, которые ограничены размером входного изображения 224x224 или 336x336. Этот относительно небольшой входной размер изображения затрудняет обнаружение мелких объектов и деталей. Например, кадр HD 1080x1920 из видео должен быть уменьшен или обрезан до гораздо меньшего входного разрешения, что затрудняет сохранение деталей для мелких объектов или мелких деталей. Для решения этой проблемы VLM начинают использовать методы разбиения на части, которые позволяют разбить большое изображение на более мелкие части и затем передать их в модель отдельными иображениями. Также ведутся исследования по использованию кодировщиков изображений с более высоким разрешением.

VLM также испытывают трудности с предоставлением точных местоположений для объектов. Обучающие данные для кодировщиков зрения на основе CLIP состоят в основном из коротких текстовых описаний изображений, таких как подписи. Эти описания не включают детальные описания местоположения объектов, и это ограничение влияет на пространственное понимание CLIP. Это наследуется VLM, которые используют его в качестве кодировщика зрения. Новые подходы исследуют использование ансамблирования нескольких кодировщиков зрения для решения этих проблем и снижения ограничений.

Понимание длинных видео является проблемой из-за необходимости учитывать визуальную информацию в течение потенциально часов видео, чтобы правильно анализировать или отвечать на вопросы. Как и LLM, VLM имеют ограниченную длину контекста, что означает — только определенное количество кадров из видео может быть включено для ответа на вопросы. Исследуются подходы к увеличению длины контекста и обучению VLM на больших видеоданных, такие как LongVILA.

VLM могут не иметь достаточно данных для очень специфичных вариантов использования, таких как поиск производственных дефектов в конкретной производственной линии. Это ограничение можно преодолеть, тонко дообучая VLM на конкретных данных, специфичных для домена, или используя примеры в качестве Few-Shot, чтобы предоставлять примеры, которые могут показать модели как интерпретировать изображения. Обучение модели на данных, специфичных для домена, с PEFT и LoRA — это еще одна техника, которая может быть использована для улучшения точности VLM на пользовательских данных.