Как языковые модели научились видеть?
Введение
Сначала большие языковые модели (LLM) работали исключительно с текстом, не обрабатывая входные данные других модальностей: изображения, видео, аудио. Однако развитие архитектур и методов обучения позволило им стать полноценными мультимодальными системами.
Сегодня мы расскажем, как LLM эволюционировали в сложные мультимодальные системы, способные «видеть», а также разберём технические принципы их работы.
BERT (Google), GPT-2, GPT-3 (OpenAI) [2018-2020 гг.]
Еще с середины прошлого века людей интересовала задача машинного перевода. С появлением нейронных сетей её решение получило новый виток развития: от простых sequence-to-sequence (seq2seq) архитектур на основе рекуррентных сетей до механизма внимания.
В 2017 году появляется архитектура-трансформер, основа которой — attention block. Она предполагает отказ от рекуррентности, но следует идее seq2seq в виде энкодер-декодер архитектуры. Механизм внимания в архитектуре реализуется за счёт присвоения трём векторам полученным из исходных эмбеддингов токенов, ролей запросов (queries), ключей (keys) и значений (values). Энкодер обогащает исходное предложение контекстной информацией, а декодер формирует подробное представление предложения-перевода, используя данные (ключи и значения) от энкодера. Такая архитектура легла в основу всех больших языковых моделей (LLM).
Типы моделей
Тип трансформера напрямую влияет на тип задач, с которыми модель может справляться. В зависимости от используемых компонентов выделяют три основные категории моделей:
- Только энкодер — модели строят репрезентативные эмбеддинги текста и хорошо подходят для задач классификации, извлечения информации, поиска. Пример — BERT (см. рисунок 2).
- Только декодер — модели генерируют последовательности (например, продолжения текста, написания ответов, креативных заданий и др.). Именно они лежат в основе современных LLM, способных к генеративным и интерактивным задачам. Пример — GPT (1, 2, 3), см. рисунок 3.
- Энкодер-декодер — модели используются в машинном переводе, суммаризации и ответах на поставленные вопросы. Они одновременно создают представление входного текста (энкодером) и используют его при генерации нового текста (декодером). В некоторых случаях могут склоняться к шаблонным или менее разнообразным ответам. Пример — T5 (см. рисунок 4).
Предварительное обучение LLM
LLM обычно используются в виде предобученных (pre-trained) моделей. На этапе предварительного обучения они обрабатывают огромные объёмы немаркированного текста, что позволяет им:
- Построить представление языка: как слова соотносятся с их значением (семантика), как строятся грамматические конструкции (синтаксис), как учитываются предыдущие слова и фразы при интерпретации текущих (контекст);
- Получить начальные веса для последующего дообучения под конкретные задачи (fine-tuning);
- Сформировать вероятностную модель языка, позволяющую сэмплировать токены на выходе: модель учится предсказывать следующий токен с вероятностной точки зрения, эта способность позволяет ей генерировать текст, выбирая наиболее вероятные последовательности токенов или сэмплируя из распределения.
Одной из первых LLM, продемонстрировавших возможности zero-shot обучения, стала GPT-2 (2019), обученная на 117 млн параметров. Уже тогда она могла решать задачи, на которых не была явно обучена.
Последующие модели (GPT-3, GPT-4 и др.) значительно увеличили масштаб (до сотен миллиардов параметров), процедура предобучения тоже усложнилась и стала многоэтапной. Это привело к улучшению качества генерации, но при этом модели остались текстовыми — без понимания изображений, аудио и других модальностей.
CLIP (OpenAI) [2021 г.]
Задача CLIP — корректно сопоставлять изображение и его текстовое описание. Модель обучалась на парах «изображение-текст». Принцип работы следующий:
- Множество текстов (например, «pepper the aussie pup») подаются в текстовый энкодер.
- Соответствующие текстам изображения подаются в отдельный энкодер изображений.
- Оба энкодера преобразуют текст и изображения в векторные представления (T и I), которые затем сравниваются.
Цель — минимизировать расстояние между векторами соответствующих пар и максимизировать между несоответствующими (рисунок 5). Такой подход называется contrastive learning. Благодаря CLIP появился поиск изображений по текстовому описанию (и наоборот).
Flamingo (DeepMind) [2022 г.]
CLIP стал важным шагом для объединения изображений и текста — предложил эффективный способ сопоставления их представлений в общем эмбеддинг-пространстве с помощью двух независимых энкодеров и contrastive learning. Однако применимость CLIP ограничена задачами, требующими соотнесения модальностей: классификация и поиск (retrieval). Модель слабо адаптируется к новым мультимодальным задачам без дообучения.
Для решения ограничений была предложена мультимодальная модель Flamingo, объединяющая визуальную информацию с мощной языковой моделью. Это достигается за счёт архитектурных механизмов cross-attention и адаптера (perceiver), которые позволяют обрабатывать изображения вместе с текстом и выполнять мультимодальные задачи: генерация описаний, ответы на вопросы по картинке и визуальное рассуждение.
Важно: Flamingo не требует полного переобучения языковой модели — вместо этого она подключается как модуль к уже предобученной LLM, превращая её в VLM (Vision-Language Model) с возможностью генерации и понимания мультимодальных данных. Ключевая особенность этой модели — few-shot обучение (few-shot learning).
Flamingo обучается один раз на большом корпусе разнородных мультимодальных данных, которые включают пары «изображение + текст» из множества задач (описания изображений, QA по картинке, reasoning, см. рисунок 6). Затем используется в few-shot режиме, как GPT-3: достаточно показать несколько примеров задачи прямо во входной последовательности, чтобы модель адаптировалась к новому типу задачи без обновления параметров.
В Flamingo реализованы три ключевых архитектурных элемента (рисунок 7, 8, 9):
- Patch-tokenization изображений — изображение разбивается на части (патчи, например, размером 16×16) и кодируется с помощью ViT (Vision Transformer), как и текст разбивается на токены. Эта последовательность визуальных токенов поступает в мультимодальный модуль.
- Cross-attention (рис. 7, 8) — особый механизм внимания, принимающий на вход как текстовые, так и визуальные эмбеддинги. На этапе генерации каждый слой LLM может «смотреть» на визуальные признаки через перекрёстное внимание по ключам и значениям из визуальных токенов.
- Perceiver Resampler (рис. 7, 9) — модуль, принимающий ViT-эмбеддинги и возвращающий фиксированное число обобщённых визуальных токенов, сокращает количество визуальных токенов и не перегружает LLM. Модуль уменьшает вычислительную сложность и унифицирует визуальное представление независимо от размера входного изображения.
Flamingo работает с чередующимися последовательностями вида:
[Image₁, Text₁, Image₂, Text₂, …, Imageₙ, Textₙ]
Эта последовательность обрабатывается как единый вход в авторегрессионном режиме. На выходе VLM генерирует текст, используя как текущий текстовый контекст, так и мультимодальные ключи / значения из перекрёстного внимания на изображениях.
Именно Flamingo впервые позволил VLM не просто понимать визуальный контекст, но и включать его в полноценную цепочку рассуждений.
3D-LLM и пространственное мышление
Ещё одна важная веха в развитии мультимодальных языковых моделей — переход от понимания 2D-изображений к трёхмерному восприятию мира. Мы живём в объёмной среде, где объекты взаимодействуют, перемещаются и изменяются во времени. Для создания ИИ, способного понимать и действовать в реальности, модели должны уметь интерпретировать трёхмерные сцены и структуры.
Модели нового поколения, как 3D-LLM и Uni3D, работают с различными форматами 3D-данных: облаками точек, вокселями, мешами и сценами, полученными с помощью LiDAR-сканеров, CAD-моделей и AR/VR-устройств.
3D-LLM [2023 г.]
3D-LLM (см. рисунок 10) фокусируется на объединении визуального 3D-входа и языкового выхода. Она может описывать объекты, определять их стиль, материал и функцию. Например, модель распознаёт, что перед ней кресло в стиле модерн из дерева, и может сгенерировать инструкции по сборке или предложения по редизайну (рисунок 11).
Архитектура 3D-LLM состоит из трёх ключевых компонентов:
- Извлечение 3D-признаков (3D Feature Extractor)
3D-признаки извлекаются не напрямую, а из 2D-изображений, сгенерированных рендерингом 3D-сцены с разных ракурсов. То есть, у нас уже есть 3D-сцена (например, в виде 3D-модели, облака точек или неявного представления), и мы виртуально «фотографируем» её с разных ракурсов, чтобы получить 2D-изображения:
- используется предобученный 2D-энкодер (например, CLIP, BLIP);
- признаки с изображений объединяются в пространстве с помощью одного из трёх методов:
- Direct Reconstruction — восстановление 3D-точек из RGBD-изображений и сопоставление с признаками;
- Feature Fusion (gradSLAM) — 2D-признаки из изображений проецируются в 3D-пространство, формируя трёхмерную карту признаков;
- Neural Field — кодирование пространства через воксельное нейросетевое представление, применимое при отсутствии глубины и шумных позах.
Результат — массив размерности <N, Dv>
, где N
— количество точек, Dv
— размерность признака (например, 1408 или 1024).
- Подключение к LLM через 2D VLM (BLIP-2, Flamingo и др.)
Чтобы не обучать LLM с нуля, используются предобученные визуально-языковые модели, куда вводятся 3D-признаки:
- 3D-признаки, извлечённые с помощью 3D Feature Extractor, проецируются в тот же признаковый (эмбеддинг) простор, что и признаки 2D-изображений, полученные, например, с помощью CLIP;
- перцептроноподобный модуль (Perceiver/QFormer) применяется для сжатия признаков и передачи в LLM;
- LLM работает по стандартной схеме: на вход подаются текстовые промпты и признаки сцены, на выходе — генерация текста (ответы, описания, инструкции).
- 3D-локализация (3D Localization Mechanism)
Чтобы LLM могла «понимать» пространство, используется:
- позиционное кодирование: к каждому 3D-признаку добавляются синусо-косинусные эмбеддинги координат (x, y, z);
- дискретизация координат и добавление специальных location tokens в словарь LLM, позволяющих указывать пространственные позиции напрямую в языке;
- веса самой языковой модели остаются замороженными, но веса эмбеддингов location tokens размораживаются и дообучаются, позволяя LLM ассоциировать текст с конкретными областями сцены (например, «под столом» → нижний регион bounding box).
Uni3D [2023 г.]
Один из главных вызовов в работе с трёхмерными данными — отсутствие универсальных моделей, способных решать широкий спектр задач без необходимости настройки под каждую из них. Модель Uni3D (см. рисунок 12) предлагает решение этой проблемы и вводит масштабируемую архитектуру, которая объединяет 3D, изображения и текст в единое мультимодальное пространство признаков.
Ключевая идея Uni3D — единое 3D-представление, совместимое с CLIP-пространством. Это открывает возможности для взаимодействия трёх модальностей (3D–текст–изображение) без перекодирования и дополнительных интерфейсов, что делает Uni3D мощной основой для интеграции с LLM и агентными системами.
В основе Uni3D лежит классическая архитектура Vision Transformer (ViT), адаптированная под 3D-вход. Вместо 2D-патчей здесь используется облачный токенизатор на основе PointBERT: облако точек разбивается на локальные регионы, каждый из которых кодируется компактным признаковым вектором. Эти токены затем подаются в ViT, инициализированный весами из 2D-модели. Такая архитектурная унификация позволяет эффективно переносить знания из визуально-текстовых моделей в 3D-домен.
Uni3D обучается с помощью contrastive triplet learning, выравнивая представления облаков точек с изображениями и текстовыми описаниями. На вход модели подаются триплеты: 3D-объект, изображение, описание. Изображения и тексты проходят через замороженные CLIP-энкодеры, а 3D-энкодер адаптируется, чтобы его выходные представления занимали общее семантическое пространство с другими модальностями.
Благодаря такому обучению Uni3D способна работать в zero-shot (генерация по запросу без примеров) и few-shot (генерация по запросу с несколькими примерами) режимах на множестве задач: классификация форм, сегментация объектов, поиск по описанию, 3D-captioning. При этом модель масштабируется вплоть до миллиарда параметров без изменения архитектуры, а ViT-структура позволяет использовать многообразие подходов из NLP и 2D-зрения (например, позиционное кодирование, визуальные промпты и fine-tuning).
Заключение
Итак, мы проследили путь от классических языковых моделей, работающих только с текстом, к современным системам, способным воспринимать и интерпретировать 2D и 3D-сцены. Эти изменения открывают новую эру в развитии искусственного интеллекта: модели больше не ограничены символьной информацией, они начинают «видеть» — распознавать объекты, сцены, действия, контекст.
Мультимодальность в визуальном измерении — не просто добавление картинок к тексту, а переход к системам, которые могут понимать окружающий мир через зрительное восприятие. Это делает возможным появление ИИ-систем, способных объяснять, рассуждать и взаимодействовать с визуальной информацией на уровне, приближенном к человеческому.
Такие технологии лежат в основе новых приложений: от ассистентов, умеющих интерпретировать фотографии и графики, до научных и медицинских систем, анализирующих визуальные данные. И в центре этих изменений — языковые модели, которые становятся ядром, объединяющим текст и изображение в общее пространство смысла.
Понимание принципов работы LLM — основа, без которой невозможно осваивать современные визуальные ИИ-системы. Ведь именно языковые модели служат центральным связующим элементом, объединяющим различные модальности в единое пространство понимания. Качественную базу можно заложить у нас на курсе по LLM.