1. Архитектура LMM: Интеграция визуальных энкодеров и языковых моделей
Архитектура LMM: Интеграция визуальных энкодеров и языковых моделей
Большие мультимодальные модели (LMM) представляют собой следующий шаг в эволюции искусственного интеллекта, объединяя возможности компьютерного зрения и обработки естественного языка. В отличие от классических LLM (Large Language Models), которые работают исключительно с текстом, LMM способны «видеть» и анализировать изображения, видео и аудио, преобразуя их в понятные для языковой модели данные.
Ключевая задача при создании LMM — научить языковую модель понимать визуальную информацию так же, как она понимает текст. Для этого используется архитектура, состоящая из трех основных компонентов: визуального энкодера, языковой модели и модуля проекции (адаптера).
!Общая схема архитектуры Большой Мультимодальной Модели
Визуальный энкодер: Глаза модели
Первым этапом обработки изображения является его превращение в набор математических векторов. Эту задачу выполняет визуальный энкодер. В большинстве современных LMM (например, LLaVA) в качестве энкодера используются архитектуры на базе Vision Transformer (ViT), часто предварительно обученные по методике CLIP (Contrastive Language-Image Pre-training) или SigLIP.
Как работает ViT в контексте LMM
На выходе энкодер выдает последовательность векторов признаков (feature embeddings). Если изображение было разбито на 256 патчей, мы получим 256 векторов, каждый из которых описывает определенную часть картинки.
Проблема модального разрыва (Modality Gap)
Здесь возникает главная архитектурная проблема. Векторы, полученные от визуального энкодера (например, CLIP), и векторы, которые понимает языковая модель (например, LLaMA или Vicuna), находятся в совершенно разных векторных пространствах. Они «говорят на разных языках».
Если подать выход визуального энкодера напрямую в LLM, модель увидит просто случайный шум. Визуальные признаки необходимо выровнять (align) с текстовым пространством эмбеддингов языковой модели. Эту задачу решает модуль проекции.
Модуль проекции: Переводчик с визуального на текстовый
Модуль проекции (Projector или Adapter) — это нейронная сеть, которая связывает замороженный визуальный энкодер и замороженную (или обучаемую) LLM. Его цель — трансформировать визуальные векторы так, чтобы LLM воспринимала их как обычные текстовые токены.
Линейная проекция и MLP
Самый простой и эффективный способ интеграции, популяризированный архитектурой LLaVA, — использование многослойного персептрона (MLP). Рассмотрим простейший случай линейной проекции:
Где: * — итоговые визуальные токены, понятные для LLM. * — матрица обучаемых весов проектора. * — исходные векторы признаков от визуального энкодера. * — вектор смещения (bias).
В более сложных архитектурах (например, LLaVA-1.5) используется двухслойный MLP с функцией активации GELU между слоями. Это позволяет моделировать более сложные нелинейные зависимости между визуальным и текстовым пространствами.
!Преобразование визуальных признаков в псевдо-текстовые токены
Q-Former и сложные адаптеры
Существуют и более сложные методы интеграции, например, Q-Former (используется в BLIP-2). Q-Former использует набор обучаемых запросов (learnable queries), чтобы «вытянуть» из визуального энкодера только самую важную информацию, релевантную для текста. Это позволяет сократить количество визуальных токенов, подаваемых в LLM, что ускоряет работу модели, но усложняет архитектуру.
Однако практика показывает, что для большинства задач простой MLP-проектор работает не хуже, а иногда и лучше сложных механизмов, при этом будучи значительно проще в обучении.
Интеграция в LLM: Визуальные токены
После прохождения через проектор изображение превращается в последовательность векторов, которые имеют ту же размерность, что и текстовые эмбеддинги языковой модели. Для LLM эти векторы выглядят как новые, неизвестные слова.
Процесс формирования входных данных для LMM выглядит следующим образом:
Итоговая последовательность для LLM выглядит так:
Где: * — -й визуальный токен (часть изображения). * — -й текстовый токен (часть промпта).
Языковая модель обрабатывает эту объединенную последовательность, используя механизм внимания (Self-Attention). Благодаря этому она может «обращать внимание» на конкретные участки изображения (визуальные токены) при генерации каждого следующего слова ответа.
Стратегии обучения
При обучении такой архитектуры обычно используется двухэтапный подход:
Итоги
* Архитектура LMM состоит из трех частей: визуального энкодера (зрение), LLM (мозг) и проектора (связующее звено). * Визуальный энкодер (обычно ViT) разбивает изображение на патчи и превращает их в векторы признаков. * Модуль проекции (чаще всего MLP) устраняет модальный разрыв, переводя визуальные векторы в пространство текстовых эмбеддингов. * Для языковой модели изображение представляется просто как длинная последовательность «визуальных токенов», которые она обрабатывает наравне с текстом.