Ранее мы разбирали методы самосупервизируемого обучения в компьютерном зрении, которые преобразуют изображения и видео в информативные векторные представления (эмбеддинги). Несмотря на их мощь, такие представления обычно требуют дообучения последующих моделей под конкретные задачи. В отличие от этого, большие языковые модели (LLM) блестяще справляются с zero-shot- и few-shot-задачами без какого-либо дообучения. Мы хотим добиться таких же возможностей для визуальных данных.
Лучший способ задать few-shot-задачу — через язык. Например, вы можете передать любое изображение в ChatGPT или Gemini и спросить: «Что за птица на этом фото?». Без языка вам пришлось бы собирать обучающие датасеты с видами птиц и формулировать задачу как задачу классификации. В качестве альтернативы можно было бы использовать few-shot-обучение с опорными выборками, показывая модели по нескольку размеченных примеров каждого вида птиц, но такой подход по своей природе хрупкий и ненадёжный. Нужно заранее перечислить все возможные категории, и он не подходит для абстрактных понятий вроде миграционных паттернов или поведенческих особенностей. Zero-shot-обучение без языка по сути невозможно, потому что нет способа сформулировать новые задачи, на которые модель изначально не обучалась. Связав зрение с языком, мы можем задавать произвольные задачи, не обучая отдельную модель под каждую. Некоторые задачи по своей сути ещё и требуют генерации текста, например генерация описаний к изображениям (image captioning) и визуальный вопрос-ответ (Visual Question Answering, VQA).
В этой статье мы рассмотрим методы, которые связывают компьютерное зрение с языком, и разберёмся, как устроены Vision-Language Models (VLM). Граница между VLM и LLM заметно размыта: большинство современных передовых LLM уже умеют работать с изображениями. Тем не менее некоторые лаборатории по-прежнему выпускают отдельные чекпоинты для VLM и чисто текстовых LLM.
Сначала уточним терминологию:
Large Language Model (LLM): большая языковая модель, в первую очередь обученная на текстах, однако этот термин нередко используется и для обозначения мультимодальных моделей.
Vision Language Model (VLM): языковая модель (LLM) с визуальным энкодером, который позволяет ей понимать изображения.
Multimodal Language Model (MLLM): более общий тип модели, изначально построенный для обработки нескольких типов данных (модальностей): изображений, видео, аудио.
Открытые VLM
PaliGemma, PaliGemma 2 (2024)
DeepSeek-VL, DeepSeek-VL2 (2024)
Qwen-VL (2023), Qwen2.5-VL (2025)
Kimi-VL (2025)
GLM (2025)
В этой статье мы рассмотрим визуальные энкодеры, используемые в VLM, различные типы архитектур VLM, а также тактики обучения, применяемые для обучения передовых (state-of-the-art, SOTA) моделей.
Визуальные энкодеры
Чтобы построить VLM, нам нужен визуальный энкодер, который отображает изображения и видео в эмбеддинги или последовательности эмбеддингов. Теоретически мы могли бы использовать «чистую» модель визуального энкодера, но на практике лучшая точность достигается, когда визуальные энкодеры обучаются вместе с текстом. Давайте рассмотрим несколько методов предобучения визуальных энкодеров на парах «изображение–текст».
CLIP
Предложенная Radford и др. в 2021 году модель CLIP — это простой способ научиться представлять изображения. Авторы используют датасет из 400 миллионов пар «изображение–текст», собранных из интернета.

Энкодер изображений извлекает эмбеддинг для каждого изображения в батче. Текстовый энкодер делает то же самое для соответствующих текстов. Затем используется контрастная функция потерь, которая «сдвигает» эмбеддинги совпадающих пар «изображение–текст» ближе друг к другу и отталкивает эмбеддинги, относящиеся к разным примерам. Выходы энкодеров сначала линейно проектируются в «мультимодальные эмбеддинги». Затем для каждой пары этих мультимодальных эмбеддингов изображения и текста считается косинусное сходство. Функция потерь на основе перекрёстной энтропии вычисляется по каждой строке (image-to-text) и каждому столбцу (text-to-image) матрицы сходства. Для каждого изображения мы хотим уметь предсказать соответствующий ему текст — и наоборот.
Функция потерь CLIP — это сумма двух функций потерь с перекрёстной энтропией. $\tau$ — это температура, равная экспоненте от обучаемого скаляра $t$: $\tau = e^t$. Первое слагаемое кросс-энтропии — это loss для направления image-to-text (потеря при сопоставлении изображения с текстом), который минимизируется, когда эмбеддинг текста, соответствующего изображению, имеет большой скалярный (dot) продукт с эмбеддингом этого изображения. Второе слагаемое симметрично определяет loss для text-to-image.
CLIP использует раздельные энкодеры для изображений и текстов, отображая их в общее эмбеддинговое пространство, где и измеряется сходство. Хотя основная цель CLIP — обучение представлений, получившиеся энкодеры можно использовать и для zero-shot-задач. Многие задачи компьютерного зрения можно сформулировать как выбор текста из набора. Например, так можно делать классификацию изображений: вы подаёте батч изображений, а вместо соответствующих им подписей подаёте модельке названия классов в виде текстов. Модель CLIP затем сопоставляет изображения с этими произвольными текстовыми классами без какого-либо дообучения. Благодаря обучению на огромном количестве пар «изображение–текст» такой подход хорошо обобщается.
Точность zero-shot-задач может зависеть от того, как именно сгенерированы тексты. Промпт-инжиниринг описания классов способен заметно улучшить качество. Несколько текстовых промптов можно «ансамблировать», усредняя их эмбеддинги.
CLIP можно использовать и в few-shot-сценариях, обучая поверх энкодера изображений линейный классификатор. Это всего лишь один линейный слой над визуальным энкодером.
Один из изящных трюков — использовать текстовые эмбеддинги для инициализации такого линейного классификатора. Сравнение с набором текстовых эмбеддингов математически эквивалентно умножению на матрицу, в которой количество строк совпадает с числом классов.
Jia и др. в 2021 году вскоре после этого представили ALIGN, который реализует похожий подход. В нём используется иная архитектура модели, но тот же контрастивный метод обучения. При этом датасет значительно больше, но и заметно шумнее.
SigLIP
SigLIP, предложенный Zhai и др. в 2023 году, заменяет использующий softmax контрастивный подход из CLIP на попарную (pairwise) сигмоидную функцию потерь. Вместо вычисления softmax по всем парам в батче SigLIP рассматривает каждую пару «изображение–текст» как независимую бинарную задачу классификации. Это упрощает параллелизацию обучения по батчу.
Функция потерь вычисляется независимо для каждой пары изображения и текста. Поскольку большинство из $N^2$ пар не являются совпадающими, вводится обучаемое смещение $b$, которое компенсирует этот дисбаланс.
Преимущество этого подхода по сравнению с CLIP в том, что нам не нужно вычислять глобальный нормировочный множитель для кросс-энтропии. Функцию потерь SigLIP проще и эффективнее параллелизовать между устройствами.

Каждое устройство получает свой фрагмент набора изображений. На первом шаге оно вычисляет функцию потерь по отношению к соответствующему фрагменту текстов. Затем каждое устройство по очереди проходит по остальным блокам текстовых эмбеддингов (содержащим только негативные примеры) и накапливает вклад в функцию потерь.
CapPa
Альтернативой контрастивным методам обучения, используемым в CLIP/ALIGN и SigLIP, является генерация подписей к изображениям (image captioning). В задаче предобучения модель учится восстанавливать текст по изображению. Это также ближе к тому, как визуальный энкодер будет использоваться в составе VLM.

Генерация подписей — это альтернативный способ обучения. Трансформер-декодер (LLM) обучается предсказывать текст, одновременно «смотря» на изображение через механизм перекрёстного внимания (cross-attention). В отличие от контрастивных подходов, здесь мы генерируем сам текст, а не текстовые эмбеддинги. Для этого требуется декодерная архитектура для текстового компонента.
Помимо генерации подписей (Cap), в этой работе добавляется параллельное декодирование, что даёт CapPa. Вместо авторегрессионного предсказания токенов модель предсказывает все токены одновременно. Для этого все входные токены маскируются, а причинное внимание (causal attention) заменяется двунаправленным самовниманием. Модель переключается между авторегрессионным и параллельным режимами декодирования. Авторы показывают, что такая смесь работает лучше, чем использование любого из этих режимов по отдельности.
CoCa
В этой работе представлена модель Contrastive Captioner (CoCa) — метод, который объединяет контрастивный подход и генерацию подписей к изображениям для обучения на парах «изображение–текст».

CoCa совмещает оба подхода с помощью многозадачной функции потерь, включающей и контрастивное обучение, и задачу генерации подписей. В отличие от CapPa, текстовый декодер CoCa разделён на одномодальный и мультимодальный компоненты.
Функция потерь представляет собой взвешенную сумму контрастивной и «captioning»-составляющих.
Механизм агрегации на основе внимания (attention pooling) собирает визуальные эмбеддинги в один общий эмбеддинг, который затем объединяется с CLS-токеном текстового декодера для вычисления контрастивной части функции потерь. Это реализует CLIP-подобный loss. Отдельный слой агрегации на основе внимания формирует эмбеддинги для мультимодального текстового декодера. Сам декодер затем обучается с использованием стандартной функции потерь на предсказание следующего токена для генерации подписей.
У контрастивной функции потерь есть проблема сложных негативных примеров: при случайной выборке негативов модель редко видит действительно «трудные» примеры, необходимые для того, чтобы научиться различать тонкие отличия. У задачи генерации подписей другая сложность: модель вынуждена предсказывать очень конкретные детали, которые в больших датасетах могут быть шумными или просто непоследовательными, из-за чего модель становится чрезмерно чувствительной к тонким вариациям — по сути, к тому же классу проблем, что и hard negatives. Комбинация этих двух типов потерь выглядит перспективным способом получить лучшее из обоих подходов.
Динамическое разрешение
До этого момента мы обсуждали энкодеры, которые обрабатывают изображения фиксированного разрешения, например 224×224 или 384×384 пикселей. Однако такой подход имеет фундаментальные ограничения. При уменьшении разрешения высокодетализированные изображения теряют важные детали, а при увеличении разрешения малых изображений и добивке паддингами впустую тратятся вычислительные ресурсы. В отличие от сверточных сетей (CNN), трансформеры умеют обрабатывать входы переменного размера — и этим стоит пользоваться в задачах компьютерного зрения.
Современные VLM постепенно переходят к подходам с динамическим разрешением, которые эффективнее работают с переменным размером входных изображений. Вместо того чтобы принудительно приводить все изображения к одному разрешению, такие методы подстраивают обработку под исходное соотношение сторон и «плотность» информации на изображении. Среди реализаций можно отметить Native Resolution ViT и динамическое разбиение на тайлы (dynamic tiling), хотя в этом посте мы не будем подробно в них углубляться.
Архитектуры VLM
В мультимодельном машинном обучении и обработке данных есть разные способы комбинировать модальности:
Early fusion: объединять модальности уже на входе и дальше обрабатывать их вместе одной моделью
Late fusion: обрабатывать каждую модальность отдельно и объединять результаты только на выходе
Middle fusion: объединять модальности на некотором промежуточном уровне представлений
В современных VLM обычно используют визуальные энкодеры для дополнительной обработки визуальных данных. LLM при этом остаётся «главной», и основная часть обучения сосредоточена на языке. Визуальные данные обрабатываются и адаптируются так, чтобы их можно было эффективно подать в языковую модель.
Позднее слияние (late fusion) плохо подходит для VLM, потому что LLM нужна информация о визуальных данных уже на более ранних этапах, чтобы генерировать осмысленные текстовые ответы.
Промежуточное слияние (middle fusion), когда визуальные эмбеддинги добавляются на каком-то среднем слое, потенциально может уменьшить вычислительные затраты. Визуальные данные добавляют много эмбеддингов и сильно увеличивают длину контекста. Пропуская ранние слои, можно снизить объём вычислений и уменьшить размер KV-кэша (кэша ключей и значений). Однако такой подход пока редко используется в передовых VLM, так как качество модели обычно важнее эффективности.
В архитектурах VLM с ранним слиянием (early fusion) визуальный энкодер выдаёт последовательность визуальных эмбеддингов. Эти эмбеддинги проходят через адаптер, после чего добавляются к входной последовательности LLM. Как правило, языковая модель применяет полное внимание ко всем визуальным токенам, а к текстовым — причинное (causal) внимание. Это работает, потому что модель не генерирует токены изображения, а лишь использует их для генерации текста. Модели, которые выполняют авторегрессионную генерацию изображений, являются исключением из этого правила (есть слухи, что GPT-4o использует такой подход). Модель Chameleon от Meta как раз его реализует. Сейчас, однако, более распространённый вариант — иметь отдельные модели для генерации изображений, поэтому дальше мы будем фокусироваться на сценариях, где изображения выступают входными данными, а не выходом модели.

Архитектура Chameleon требует квантизации изображения в дискретные токены с помощью энкодера VQ-VAE, а затем декодирования этих токенов обратно. Модель генерирует специальные стартовые и конечные токены вокруг изображений.
У трансформеров квадратичная вычислительная сложность по длине последовательности токенов. Изображения добавляют очень много токенов, особенно при высоком разрешении, что существенно увеличивает вычислительную нагрузку на LLM. Поэтому при проектировании архитектур VLM становится критично важным сжимать токены. Существует несколько техник, которые уменьшают количество визуальных токенов, поступающих в языковую модель.
Далее мы рассмотрим архитектурные паттерны, используемые в VLM. Для раннего слияния (early fusion) есть два основных подхода:
— вставлять визуальные токены во входную последовательность через MLP-адаптер;
— использовать перекрёстное внимание с обучаемыми запросными эмбеддингами.
Адаптеры перекрёстного внимания
Адаптеры перекрёстного внимания (cross attention adapters), их также называют «пулерами внимания» (attention poolers), сжимают набор эмбеддингов в фиксированное количество выходных эмбеддингов с помощью обучаемых запросных векторов. Эти обучаемые query-эмбеддинги «смотрят» на визуальные токены через механизм перекрёстного внимания, где ключи и значения берутся из выходов визуального энкодера.
В Qwen-VL это реализовано как «position-aware vision-language adapter» — адаптер «зрение–язык», учитывающий позиционную информацию. Количество query-эмбеддингов определяет, сколькими эмбеддингами мы в итоге представим изображение. Здесь есть компромисс между объёмом сохраняемой информации и длиной последовательности, которую видит LLM.

Этот слой перекрёстного внимания добавляется между ViT и LLM. Сами трансформерные блоки визуального энкодера и языковой модели при этом не модифицируются.
Такая архитектура хорошо справляется с разными разрешениями изображений, однако обучение проводится на 224×224, а пост-обучение — на 448×448. Для более высокого разрешения на этапе пост-трейнинга число query-эмбеддингов увеличивают с 256 до 1024.
MLP адаптер
В работе LLaVA Liu и др. (2023) авторы обучают простую архитектуру VLM, комбинируя предобученную языковую модель (Vicuna — open-source версия LLaMA, дообученная на инструкциях) и предобученный визуальный энкодер (CLIP ViT-L). Визуальные токены линейно проектируются, а затем конкатенируются с входной последовательностью декодера LLM.

Сейчас этот подход более популярен, чем перекрестное внимание. В Qwen перешли на MLP-адаптеры, начиная с Qwen-VL2. MLP-адаптеры также используются в LLaMA 3.2-Vision, PaliGemma 2 и DeepSeek-VL.
С MLP у нас меньше контроля над длиной последовательности токенов. Самый простой способ уменьшить длину — спроецировать несколько эмбеддингов визуального энкодера в один входной эмбеддинг. Такой подход применяется в Qwen2.5-VL: группы из 4 визуальных токенов конкатенируются и подаются в двухслойный MLP. На выходе каждый такой блок превращается в один эмбеддинг размерности, соответствующей размерности LLM.
BLIP
BLIP-2 (Li и др., 2023) использует Querying Transformer, или Q-Former, в качестве адаптера. Эти архитектуры похожи на Flamingo тем, что визуальный энкодер и текстовый декодер остаются «замороженными» (их веса не обучаются). Однако BLIP при этом относится к архитектурам с ранним слиянием.

Q-Former похож на Perceiver тем, что обрабатывает изображения через фиксированное количество обучаемых query-эмбеддингов. Но при этом он также принимает на вход текстовые токены. Текстовая последовательность использует тот же слой самовнимания (self-attention), но не участвует в перекрёстном внимании к визуальным токенам и обучает отдельный новый полносвязный слой.
Обучение проводится в два этапа. На первом этапе оптимизируются три функции потерь: Image-Text Matching (ITM, бинарная классификация — совпадает ли пара «изображение–текст»), Image-Grounded Text Generation (ITG, loss на предсказание следующего токена с условием на изображение) и Image-Text Contrastive Learning (ITC, CLIP-подобная контрастивная функция потерь). Эти различные лоссы получаются за счёт изменения масок внимания.

На втором этапе они подключают Q-Former к замороженной LLM, конкатенируя визуальные выходы с входной последовательностью LLM. Текстовая часть Q-Former при этом отбрасывается. Далее модель дообучается уже на генерацию текста.
Промежуточное слияние с перекрёстным вниманием
Кросс-аттеншен-адаптер использует механизм внимания, чтобы отображать (проецировать) эмбеддинги на вход языковой модели. Альтернативный подход — добавлять перекрестное внимание непосредственно в блоки трансформера самой языковой модели. Эти методы не настолько популярны, как архитектуры с ранним слиянием (early fusion), но их всё же имеет смысл рассмотреть.
Flamingo
Alayrac и др. (2022) представили архитектуру VLM под названием Flamingo. В ней параметры визуального энкодера и LLM остаются замороженными, а сверху добавляются perceiver-resamplers и плотные блоки с перекрёстным вниманием и гейтингом. Поскольку параметры LLM не изменяются, текстовая производительность исходной модели не ухудшается, и мы легко можем вернуть «чистую» текстовую LLM, просто удалив добавленные модули.

Perceiver-resampler принимает переменное количество входных эмбеддингов и выдаёт фиксированное количество выходных эмбеддингов. По сути, это пулер внимания (attention pooler) с полносвязным слоем, повторённым num_layers раз.

Плотные слои с управляемым перекрёстным вниманием похожи на слои перекрёстного внимания в трансформерах с архитектурой энкодер–декодер. Ими управляют (гейтят) обучаемые α-параметры, специфичные для каждого слоя. Изначально они инициализируются нулём, поэтому новые визуальные модули в начале обучения никак не влияют на поведение модели. Активация tanh обеспечивает ненулевые градиенты по параметрам α сразу после инициализации.
Хотя архитектурно Flamingo выглядит интересно, в современных VLM этот подход в основном вытеснен более простыми схемами раннего слияния. В целом мы стремимся не разделять «зрительные» и языковые параметры модели, а строить фундаментальные модели, которые с самого начала являются нативно мультимодальными.
LLaMA
LLaMA 3.2 использует ViT-энкодер, обученный с контрастной функцией потерь для понимания визуальной информации. Однако оказалось, что чисто контрастная цель плохо сохраняет детальную локализационную информацию. Чтобы компенсировать это, они извлекают признаки сразу с нескольких слоёв энкодера (4-го, 8-го, 16-го, 24-го и 31-го).
Далее энкодер усиливают, добавляя ещё 8 трансформер-блоков. Исходный ViT-энкодер, обученный в составе CLIP, содержит 32 слоя. Эти 8 дополнительных слоёв увеличивают их общее число до 40 и специально нацелены на обучение признаков, более релевантных генерации текста. И в слоях внимания, и в полносвязных слоях этих добавленных блоков используется tanh-gating. В отличие от Flamingo, параметры гейтинга инициализируются значением $\pi/4$, а не нулём (см. код), что эффективно уменьшает вклад этих слоёв примерно на 40%.
Языковой декодер добавляет перекрестное внимание к изображениям в каждом четвёртом трансформер-блоке. В отличие от Flamingo, в LLaMA это перекрестное внимание не гейтится.
Архитектура LLaMA 3 выделяется тем, что использует подход промежуточного слияния (mid fusion), что отличает её от большинства других моделей. Такой подход был необходим, потому что LLaMA 3 изначально разрабатывалась как чисто текстовая модель, и mid fusion часто требуется при адаптации текстовых моделей к работе с изображениями. Однако в LLaMA 4 Meta перешла к подходу раннего слияния с MLP-адаптером, который они позиционируют как «родную мультимодальность» (native multimodality). Чтобы раннее слияние работало эффективно, модель должна обучаться end-to-end уже с самых ранних этапов обучения.
Стратегии обучения
Обучение LLM обычно строится как многошаговый прогрессивный пайплайн. Для чисто текстовых моделей этапы, как правило, такие: предварительное обучение (pretraining) → дообучение с учителем (SFT, supervised fine-tuning) → обучение с подкреплением (RL). Давайте посмотрим, как визуальные возможности встраиваются в эти тренировочные пайплайны.
LLaVA
Тактика тренировки LLaVA состоит из двух стадий. На первом этапе модель предобучают на 595 тысячах пар «изображение–текст», отфильтрованных из датасета CC3M. Цель — выровнять визуальные и языковые представления. На этом этапе размораживается только MLP-проектор. Модели задают промпт с просьбой кратко описать изображение; формулировка этой просьбы случайно выбирается из набора (например: «Кратко опиши визуальное содержимое изображения»). Этот промпт универсальный и не подстраивается под конкретное содержимое пары «изображение–текст», но на данном шаге нам важно только обучить адаптер.
На втором этапе параметры LLM и проектора размораживаются, в то время как визуальный энкодер остаётся замороженным. Модель дообучается на более качественных данных и более сложных промптах. На момент релиза мультимодальных датасетов для обучения следованию инструкциям почти не было. Авторы закрыли этот пробел с помощью синтетических данных. Они использовали чисто текстовую модель GPT-4 для генерации разнообразных вопросов, связанных с изображением. Важно, что само изображение при этом GPT-4 не показывается: на вход передаются подпись к изображению (caption), а также, при наличии, bounding box’ы.
Чтобы направлять генерацию GPT-4, авторы вручную подготовили затравочные примеры трёх типов.
Conversations — это многотуровые диалоги с простыми вопросами и ответами о деталях изображения: типы объектов, подсчёт, расположение, пространственные отношения.
Detailed descriptions — это подробные описания сцены, в которых по очереди описывается каждый объект на изображении.
Complex reasoning — это более сложные вопросы, для ответа на которые требуется несколько рассуждательных шагов.
Эти затравочные примеры были единственной частью, размеченной людьми, и позволили GPT-4 с помощью обучения по контексту (in-context learning) сгенерировать тысячи похожих примеров.
Qwen-VL
На этапе предобучения размораживаются и визуальный энкодер, и адаптер. Qwen обучают в куда большем масштабе, чем LLaVA, используя 5 миллиардов пар «изображение–текст». Сначала модель предобучают на изображениях более низкого разрешения, а затем на следующих стадиях переходят к более высокому разрешению.

Этап многозадачного обучения использует более качественные данные, покрывающие разные задачи на стыке зрения и языка: генерацию подписей (captioning), визуальный вопрос-ответ, grounding, OCR и т.п. Также добавляются чисто текстовые данные, чтобы сохранить качество генерации текста. На этом этапе все компоненты остаются размороженными, чтобы сформировать общее визуальное понимание; используется 76,8 миллиона примеров.
На финальном этапе модель дообучают уже специально под улучшение следования инструкциям и ведения диалогов. Поскольку этот этап не нацелен на улучшение «понимания картинок», ViT здесь заморожен. Используется небольшой, но высококачественный датасет из примерно 350 тысяч примеров, сфокусированный на мультимодальном следовании инструкциям и генерации подписей. Такая последовательность шагов хорошо демонстрирует, как на каждом следующем этапе объём данных уменьшается, а их качество растёт.
Qwen2-VL использует ту же тренировочную тактику, но сильно масштабирует датасеты. Кроме того, в нём применяется архитектура Native Resolution ViT для динамического разрешения во визуальном энкодере. В отличие от Qwen-VL с фиксированным разрешением изображений, Qwen2-VL также добавляет поддержку видео — и на уровне архитектуры, и в обучающих данных.

Qwen2.5-VL ещё улучшает эту тактику обучения за счёт увеличения максимальной длины последовательности, что критически важно для обработки более длинных видео. На первых двух этапах обучения длина последовательности остаётся прежней. Однако на третьем этапе в Qwen2.5-VL вводится Long-Context Pretraining («предобучение на длинном контексте»): модель обучается end-to-end (сквозным образом, от входа до выхода) (и ViT, и LLM разморожены) на данных с длинным контекстом — например, на протяжённых видеороликах или изображениях с большим объёмом текста. Поверх этих трёх этапов предобучения добавляются посттренировочные стадии SFT и RLHF (DPO). Авторы также показывают, что такое VLM-обучение немного ухудшает качество исходной языковой модели на чисто текстовых задачах. Возможно, именно поэтому VLM-версии часто выпускаются отдельно от базовых текстовых моделей.
DeepSeek-VL
Тот же шаблон используется и в DeepSeek-VL, за исключением того, что визуальный энкодер не замораживается на этапе SFT.

В DeepSeek-VL2 они вводят стратегию динамического разбиения на тайлы (dynamic tiling), чтобы поддерживать динамическое разрешение. Те же этапы обучения сохраняются, но датасеты становятся крупнее и качественнее.
Kimi-VL
Kimi-VL следует стратегии, похожей на Qwen2.5-VL. Сначала предобучается MoonVIT — визуальный энкодер с динамическим разрешением. И в Qwen2.5-VL, и в Kimi-VL vision-энкодеры обучаются с использованием SigLIP-лосса и captioning-лосса, аналогично CoCa. В отличие от подходов, где часть компонентов замораживают, в Kimi-VL на каждом этапе обучаются все параметры.

Во время совместного предобучения VLM обучается одновременно и на парах «изображение–текст», и на чисто текстовых данных. Такой сбалансированный подход критически важен на больших масштабах, чтобы не деградировали способности модели к генерации текста. На этапе «охлаждения» (cool down) используется более качественный датасет, а на этапе длинного контекста (long context stage) — и длинные текстовые данные, и мультимодальные примеры. Важная особенность подхода Kimi — использование и текстовых, и мультимодальных входов на всех стадиях обучения. Затем модель дополнительно обучают на этапах SFT и RL, чтобы получить мультимодальную модель рассуждения.

Несмотря на различия в тренировочных пайплайнах, у всех этих моделей есть общие черты. Они используют многоступенчатое предобучение, и на каждом следующем этапе число примеров уменьшается, а разрешение изображений, длина контекста и качество данных растут.
Видео
До этого мы говорили про входы в виде изображений, но VLM можно обучать и на видео. Вместо извлечения токенов для одного кадра, можно обрабатывать каждый кадр отдельно и конкатенировать их токены. Аудио-токены можно обрабатывать отдельно, а затем чередовать или конкатенировать с токенами кадров.
Важно понимать, что обработка видео значительно дороже, чем обработка отдельных изображений. Одно изображение уже требует от сотен до тысяч токенов, а видео добавляет огромный множитель. Например, видео длительностью 1 минута при 30 кадрах в секунду даёт 1 800 кадров. В зависимости от токенизатора, каждый кадр может занимать 256 токенов. Тогда одна минута видео превращается примерно в 460k токенов. Если воспользоваться грубым правилом, что один токен — это 3/4 слова, то это около 345 тыс. слов. Если считать по 500 слов на страницу, то это примерно 700-страничная книга. При этом за одну минуту видео мы получаем куда меньше полезной информации, чем из такой книги. Эта избыточность и создаёт пространство для компрессии, без которой обрабатывать длинные видео практически невозможно.
Самый простой способ сократить число токенов — уменьшить частоту выборки кадров (FPS), чтобы снизить объём вычислений и число токенов. Если взять 1 кадр в секунду, то одна минута видео даст уже около 15 тыс. токенов. Обучать VLM на видео с полной частотой кадров практически нереалистично.
Есть интересные работы, которые делают обработку эффективнее, используя тот факт, что соседние кадры видео часто сильно избыточны. Один простой подход — проецировать патчи из нескольких кадров в один токен. В Qwen2.5-VL это реализовано через свёртку Conv3D с шагом (strided Conv3D). Обычно в vision transformer’ах изображение режут на 2D-патчи и проецируют их в токены-эмбеддинги (аналогично свёртке Conv2D с шагом). В Qwen используют 3D-патчи. Так информация из нескольких кадров агрегируется в отдельные токены. Это похоже на снижение частоты кадров, но без полного удаления каких-то кадров.
Существуют и более продвинутые методы динамической компрессии, которые учитывают переменную степень избыточности. Например, Run-Length Tokenization (RLT) (Choudhury и др., 2024) находит последовательные патчи, которые повторяются в кадрах видео, и заменяет их одним токеном плюс кодировкой длительности. Последовательные патчи считаются одинаковыми, если L1-дистанция между ними меньше некоторого порога $\tau$. Такой метод «осознан» по содержимому: количество токенов зависит от того, насколько сильно кадры видео действительно отличаются друг от друга.

RLT — простой эвристический метод сжатия видеотокенов. Существуют также подходы к этой задаче, основанные на моделях.
Заключение
Когда я только начинал заниматься машинным обучением, казалось, что компьютерное зрение и обработка естественного языка — это две параллельные и одинаково важные области. Между ними был некоторый обмен идеями, но в целом они оставались довольно независимыми — и по методам обучения, и по архитектурам моделей. Трансформеры были придуманы для NLP, но довольно быстро были перенесены и на другие типы данных, включая визуальные. В последние годы большие языковые модели (LLM) стали доминировать в области ИИ. По мере того как эти модели становятся всё более мультимодальными, создаётся ощущение, что остальные области постепенно «втягиваются» в исследование LLM. Хотя компьютерное зрение остаётся активной областью исследований, значительная часть усилий сейчас направлена на улучшение визуальных возможностей именно языковых моделей.
Это сближение и рост роли VLM приводят к появлению множества интересных приложений — от планирования действий в робототехнике до инструментов визуальной доступности для людей. По мере того как эти модели становятся лучше, мы приближаемся к ИИ-системам, которые действительно понимают реальный мир, а он в значительной степени визуален.
Bandaru, Rohit (авг. 2025). Vision Language Models. https://rohitbandaru.github.io.
Или в виде BibTeX-записи:
@article{bandaru2025vision-language-models,
title = {Vision Language Models},
author = {Bandaru, Rohit},
year = {2025},
month = {Aug},
url = {https://rohitbandaru.github.io/blog/Vision-Language-Models/}
Теория VLM куда лучше «садится», когда есть опыт построения обычных CV-пайплайнов. Курс по компьютерному зрению закрывает этот пробел: даёт практику с современными архитектурами, задачами от детекции и сегментации до трекинга и продакшен-развёртывания моделей. Готовы к серьезному обучению? Пройдите вступительный тест.
Чтобы узнать больше о формате обучения и познакомиться с преподавателями, приходите на бесплатные демо-уроки:
8 декабря: PyTorch с нуля: работа с тензорами и обучение нейросетей. Записаться
18 декабря: Следим и считаем людей на видео. Записаться
Опытным специалистам в области компьютерного зрения рекомендуем обратить внимание на продвинутую программу по CV.