Четыре способа испортить предсказание диффузионной модели

Сегодня делимся обзором четырёх работ, в которых генерацию улучшают, отталкиваясь от специально испорченного предсказания. Посмотрим на разные методы такой «порчи» и полученные результаты.

Guiding a Diffusion Model with a Bad Version of Itself

Для начала вспомним CFG (Classifier-free guidance). При обучении модели в части случаев (скажем, 10%) подаётся пустой кондишн. При сэмплировании получают conditional- и unconditional-предсказания и экстраполируют от второго в сторону первого.

CFG улучшает качество и соответствие условию, но при этом снижает разнообразие генераций. Авторы предлагают метод Autoguidance — вместо unconditional-предсказания берут предсказание ухудшенной версии той же conditional-модели, например, недообученной или уменьшенной.
И тут надо понять, как именно должна быть ухудшена вторая модель. В аблейшнах авторы сравнивают разные варианты.

• Если обе ветки ухудшены одним способом, но с разной силой, экстраполяция может компенсировать ухудшение (например, для моделей с постфактум добавленным дропаутом разной силы FID удалось снизить с 5 до 2,55 — практически до уровня исходной модели с FID 2,56).

• Если же характер ошибок различается — например, одна ветка испорчена дропаутом, а другая шумом — guidance не помогает, лучший FID получается при scale = 1, то есть без экстраполяции.

Основная идея Autoguidance в том, что плохая модель должна делать ошибки того же характера, что и хорошая, только сильнее.

Self-Rectifying Diffusion Sampling with Perturbed-Attention Guidance

Авторы заходят с чуть другой стороны и предлагают метод PAG (Perturbed-Attention Guidance). В одном или нескольких аттеншн-блоках строят ухудшенное предсказание, заменяя attention map на единичную матрицу. Получается, что каждый токен смотрит только на себя — и пространственное взаимодействие между токенами в этом блоке пропадает. При генерации отталкиваются от этого ухудшенного предсказания.

В эксперименте на Stable Diffusion 1.5 PAG дал более низкий FID, чем CFG. При этом методы можно сочетать, и вместе они показывают ещё более высокое качество.

Stochastic Self-Guidance for Training-Free Enhancement of Diffusion Models

Здесь плохое предсказание получают за счёт того, что на каждом шаге диффузии случайно выбирают 10% трансформер-блоков и пропускают их. При попытке реализовать этот метод мы столкнулись с тем при дропе трансформер-блоков на изображениях действительно появлялось больше деталей. Но одновременно картинки становились заметно более тусклыми, хотя авторы такого эффекта не упоминают. Код они пообещали выложить, но пока его нет. Хотелось бы посмотреть на реализацию авторов.

Guiding a Diffusion Model by Swapping Its Tokens

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

Во всех этих методах критичным оказывается выбор способа построения ухудшенного предсказания. Само по себе более сильное искажение не делает guidance эффективнее: если оно слишком сильно меняет структуру предсказания или вносит ошибки не в тех местах, где ошибается основная модель, качество генерации быстро падает.

Разбор подготовил ❣ Лавр Плисковский
CV Time
775 просмотров · 30 реакций Открыть в Telegram · Открыть пост на сайте
Foveated Diffusion: Efficient Spatially Adaptive Image and Video Generation

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

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

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

В технике эта идея уже применяется в foveated-рендеринге. Например, в VR область, куда смотрит пользователь, рисуют в более высоком разрешении, а остальную — в более низком.

Авторы переносят эту идею на генерацию. Они позиционируют свою работу как способ дешёвого ускорения генеративной модели (для картинок в 1,5–2 раза, для видео — в 3,5, потому что пространственно-временное внимание дороже) без особых потерь качества.

Метод рассчитан на сценарии, где известно, куда смотрит пользователь: айтрекинг в VR, стриминговая генерация, симуляторы. Маска приходит извне, а не выводится из картинки.

При генерации, кроме промта, есть condition — foveation mask, который говорит, где нужно нарисовать в высоком разрешении. Модель генерирует сигнал в двух разрешениях: кусочек в high res и остальную часть в low res.

Получается полноценный латент, который переорганизуется на грид. High-res-кусочек декодируется отдельно, а вся остальная картинка собирается на грид более низкого разрешения и тоже декодируется. После этого две компоненты просто складываются с весами маски и получается комбинированное изображение. Декодер берут готовый, он ничего не знает об этих манипуляциях, поэтому на границе могут появляться артефакты. Авторы выносят цветовые артефакты на границе в ограничения и предлагают переделать VAE под декодирование смешанного разрешения.

Нетривиальный кусочек работы посвящён кодированию позиций токенов с учётом информации, что где-то у нас высокое разрешение, а где-то низкое. Мы привыкли, что сигнал — это равномерная решётка, но позиционные эмбеддинги позволяют ставить внутрь позиции не только равномерных, но и нужных нам узлов. В high-res-части позиции кодируются как обычно, а в low-res-кусочках делаются пропуски. В итоге информация о том, как конкретный токен соотносится с картинкой, сводится к позиционному кодированию.

Просто запустить предобученную модель на такой неоднородной сетке не выходит, так как масштабы и структура в двух зонах расходятся, объекты дублируются. Поэтому авторы дообучают модель через LoRA на мишени, консистентной по построению: картинку и её уменьшенную копию кодируют VAE независимо, а потом сливают токены по маске, так обе части заведомо описывают один и тот же контент.

Большую часть экспериментов делают со случайными масками: так модель учится работать с произвольной маской при генерации (замеры производят на фиксированной центральной). Но если для обучения брать маски из модели, которая оценивает, куда посмотрит человек, выходит неожиданный эффект: модель начинает сама размещать значимые объекты внутри фовеа. Фактически бесплатный грубый контроль композиции, в том числе многообъектный, если маска состоит из нескольких несвязных кусков.

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

Разбор подготовил ❣ Кирилл Струминский
CV Time
1 086 просмотров · 26 реакций Открыть в Telegram · Открыть пост на сайте
When Rubrics Fail: Error Enumeration as Reward in Reference-Free RL Post-Training for Virtual Try-On

Разбираем статью, в которой исследователи из Amazon, University of Washington и Allen Institute for AI предложили ещё один способ строить награду для задач без единственного правильного ответа.

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

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

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

Модель-судья проверяет результат по каждой категории и возвращает оценки от 0 до 1: чем больше и серьёзнее ошибки, тем ниже оценка. Метод называется Implicit Error Counting. Полный список дефектов не используется напрямую, поскольку его явная генерация оказалась слишком нестабильной.

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

На MDressBench метод превзошёл прямую и рубричную оценку по всем восьми метрикам. На VITON-HD и DressCode он оказался не хуже или даже лучше шести базовых методов по 6 из 8 метрик. Предложенная авторами метрика также совпадала с человеческим выбором в 60% случаев против 30% у прямого и рубричного оценивания.

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

#YaECCV2026

Разбор подготовила ❣ Ангелина Гнедина

CV Time
1 396 просмотров · 23 реакций Открыть в Telegram · Открыть пост на сайте
Trustworthy Image Authentication using Forensic Knowledge Graphs

На ECCV 2026 прослеживались два основных направления по детекции AIGI (AI-generated images):

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

Разбираемая статья интересна тем, что фокусируется сразу на обоих эти обоих направлениях.

Авторы обучают self-supervised-эмбеддер на неразмеченных фотографиях. Получают fingerprint изображения, который отражает не семантику или содержание, а низкоуровневые особенности, связанные с тем, как изображение было сформировано. Для этого эмбеддинги патчей одной фотографии сближают, а разных фотографий — отдаляют.

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

Потом эмбеддинги патчей области усредняются, и отдельные модели-эксперты (MLP) предсказывают источник (камера или генератор), постобработку и сжатие (JPEG-параметры), а трансформер-ризонер сверху увязывает эти предсказания между собой.

Всё собирается в граф: изображение → области → источник, постобработка, сжатие.

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

Такой подход позволяет единой системой находить и обосновывать разные манипуляции: сплайсинг (вставка одного изображения в другое), классическую локальную обработку (блюр), локальное AI-редактирование и полностью сгенерированные изображения. Например, разные источники у областей выдают сплайсинг, смесь камерных и синтетических отпечатков — AI-редактирование, а отсутствие камерных отпечатков вовсе — полную генерацию.

#YaECCV2026

Разбор подготовил ❣ Евгений Кузнецов

CV Time
1 272 просмотров · 28 реакций Открыть в Telegram · Открыть пост на сайте
Мы всё ещё на ECCV: репортаж с воркшопа о квантовых вычислениях в компьютерном зрении

Наш коллега Александр Шишеня посетил воркшоп 3rd Workshop on Quantum Computer Vision and Machine Learning (QCVML) и рассказал, что там было интересного.

Начали с хорошего введения в квантовые вычисления от исследователя в Университете Зигена Natacha Kuete Meli. Впоследствии удалось пообщаться с ней лично, и она подтвердила описанные здесь выводы.

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

А вписывается в неё, например, дискретная (бинарная) квадратичная оптимизация или задача о назначениях — о ней в основном и рассказывали.

Всё это относится к адиабатическим квантовым вычислениям. В качестве ячеек памяти у нас кубиты (например, спин иона). Они вообще находятся в суперпозиции состояний, но при замере схлопываются в 0 или 1 — отсюда и бинарная оптимизация. К компьютерному зрению такой подход напрямую отношения не имеет.

Но есть ещё gate quantum computing. Здесь состояние кубита описывается амплитудами вероятности, что потенциально позволяет кодировать гораздо больше информации и решать в том числе задачи компьютерного зрения. Правда, чтобы получить информацию о состоянии, квантовую схему приходится запускать и измерять много раз: чем больше, тем точнее оценка. Пока практического применения в CV у этого подхода нет, но Natacha уверена, что в будущем квантовые вычисления найдут там своё место.

Затем выступали ребята из eleQtron — они выпускают квантовый компьютер на <=60 кубит. В качестве кубитов используют ионы иридия, удерживаемые магнитным полем, состоянием управляют с помощью микроволнового излучения и лазера.

Дальше ребята сравнивали квантовые компьютеры с классическими по принципу: «у нашего слона хобот длиннее, чем у вашего тигра».

Также рассказали о решении задачи трекинга объектов на видео на 60-кубитном (!) компьютере. Вы спросите: как на 60 кубитов поместить хотя бы один кадр, не то что нейронку, обрабатывающую видео? А никак. Вся детекция делается классически, у нас есть готовые баундингбоксы, а также матрица их схожести между кадрами.

На квантовом компьютере решается только задача матчинга баундинбоксов между кадрами. Как раз та самая задача дискретного квадратичного программирования.

Причём задачу эту приходится решать отжигом, то есть делается серия из запусков квантового компьютера и выход в итоге сходится к точному решению.

#YaECCV2026

CV Time
998 просмотров · 31 реакций Открыть в Telegram · Открыть пост на сайте
Больше CV на ECCV!

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

SophiaVL-R1: Reinforcing MLLMs Reasoning with Thinking Reward

Статья была представлена на ICLR 2026. При обучении reasoning-моделей награда обычно зависит только от финального ответа. Но верный ответ ещё не гарантирует правильное рассуждение, ведь модель может прийти к нему случайно, через логические ошибки или противоречивую цепочку. Outcome reward этого не замечает.

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

Итоговая награда в Trust-GRPO:

Reward = Outcome reward + Trust × Base weight × Time decay × Thinking reward

Где:

• Outcome reward — правильность финального ответа;
• Thinking reward — качество рассуждения;
• Base weight — заданный вес thinking reward;
• Trust — динамическая оценка доверия к Thinking Reward Model.

Для каждого вопроса генерируют группу ответов и сравнивают средний thinking reward правильных и неправильных решений.

Если правильные решения оценены выше, Trust = 1. Если judge в среднем ставит неправильным решениям более высокие оценки, Trust экспоненциально уменьшается пропорционально разнице между этими средними. Так ненадёжный сигнал слабее влияет на обучение.

Time decay постепенно снижает вес thinking reward. Сначала он помогает модели сформировать хорошие стратегии рассуждения, а позднее обучение сильнее опирается на более надёжный и формально проверяемый outcome reward.

Balanced Hyperbolic Embeddings Are Natural Out-of-Distribution Detectors

Авторы этой статьи ставят задачу определить, какие изображения — Out-of-Distribution (OOD).

Проблема следующая. Если классификатору показать «белку», которой в обучении не было, он может уверенно предсказать «кошку», потому что не понимает, что такое «объект OOD».

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

Конкретнее: возьмем WordNet или VerbNet, который построит иерархию классов из обучающего датасета (граф). Шаг 1: берём полученный граф и учим эмбеддинги каждого класса в гиперболическом пространство так, чтобы расстояния в нём соответствовали расстояниям в графе.
Шаг 2: берём датасет картинок и сближаем в гиперболическом пространстве эмбеддинги картинки и соответствующего класса.

В результате эмбмеддинги OOD-картинок оказываются ближе к «центру» гиперболического пространства (к корневому классу, а-ля world), а эмбеддинги обычных картинок — ближе к краям, то есть к эмбеддингам соответствующих классов.

#YaECCV2026

Интересное увидели ❣ Ангелина Гнедина и Полина Комиссарова

CV Time
1 056 просмотров · 32 реакций Открыть в Telegram · Открыть пост на сайте
Интересные доклады с ECCV 2026

С 8 сентября в шведском Мальмё проходит ECCV — Европейская конференция по компьютерному зрению. Ведущий разработчик подгруппы Agentic Vision и VLM Reasoning в Яндексе Александр Шишеня рассказал о нескольких докладах, которые удалось посетить. Слово Александру.

Enterprise Agents: Capable or Compromised?

Вначале спикер прорекламировал BrowserGym, среду для web-агентов, а также WebArena-Pro — усложнённую версию WebArena с более трудными и multi-app-задачами.

Сам доклад состоял из двух частей. Первая озаглавлена Privacy-Aware Deep Research. Если агент работает с чувствительными данными, часто по всей совокупности тул-коллов можно восстановить приватную информацию, даже если в каждом отдельном тул-колле информация была обфусцирована. Авторы предлагают стратегию борьбы с этим поведением, добавляя на стадии RLVR специальный реворд. Подход действительно работает, утечки во многом устраняются, а качество на целевых задачах растёт. При этом бэйзлайновый подход — добавление промпта — тоже решает задачу приватности, но роняет качество.

Вторая часть — Malice in Agentland. В обучающие данные можно подложить небольшое количество вредоносных данных. Благодаря этому обученная модель будет способна на вредоносное поведение, которое вызывается специальной заранее определённой комбинацией токенов. Например, модель может начать слать на заранее заданный сервер файлы с локального компьютера. Авторы показали, что достаточно всего 1% таких данных в обучающем датасете, чтобы вредоносное поведение триггерилось с вероятностью 99%.

Утверждается, что такие вредоносные семплы достаточно трудно задетектить в датасете, к тому же обучение на таком наборе поднимает целевое качество. По тому же принципу может быть заражена среда, где собираются данные.
При этом в маленькие модели сложнее заложить такое вредоносное поведение.

Learning When to Search, What to Search and What to Trust: Reinforcement Learning for Multimodal Reasoning Agents

Ключевые идеи такие. Модель сама по себе не имеет представления, что она знает хорошо, а что не знает. Чтобы выяснить, на каких семплах вызывать тулы, а на каких не обязательно — нужно прогонать модель с тул-коллами и без. Если на семпле просадка качества при вызове без тул-колла — required_tool=True и затем штрафуем, если на RLVR модель вызывает тул на таких семплах. Далее давайте генерировать сразу несколько различных тул-коллов, которые стремятся решить одну задачу, чтобы генерировать несколько кандидатов. Потом ответы этих тул-коллов фильтруем отдельной моделью на полезность и таким образом пруним траектории. Также предлагают модификацию GRPO — Dr. GRPO (done right).

Manipulation in GUI Agents

В этой работе делают VLA для computer_use. При этом движение мышки генерируют как криволинейную траекторию с помощью flow matching отдельной лёгкой головой по эмбеддингам из VLA. В перерыве удалось пообщаться с автором, поспорили, вместе подумали над идеями.


#YaECCV2026

CV Time
1 068 просмотров · 26 реакций Открыть в Telegram · Открыть пост на сайте
Representation Alignment for Just Image Transformers is not Easier than You Think

REPA хорошо зарекомендовала себя для латентных диффузионных моделей. Берутся промежуточные фичи генеративной модели и обучаются быть похожими на фичи предобученного энкодера вроде DINO. Кажется логичным просто перенести тот же подход на pixel-space-модели. Но с JiT это привычного буста не даёт, а при долгом обучении может сделать даже хуже.

Авторы статьи PixelREPA, которую мы разбираем сегодня, связывают проблему с несовпадением пространств представлений.

DINO становится bottleneck`ом, его фичи сжимают информацию об изображении и отбрасывают часть мелких и высокочастотных деталей. В латентном пространстве тоже уже произошло информационное сжатие, поэтому алайнмент между DINO и латентными диффузионными моделями имеет смысл. А JiT работает напрямую с пикселями и может сохранять гораздо более детальную информацию.

Когда высокоразмерные фичи JiT напрямую выравнивают с более компактными DINO-фичами, происходит representation collapse, то есть разные с точки зрения JiT изображения становятся неразличимыми после алайнмента. Особенно хорошо это видно на парах изображений, которые DINO считает очень похожими. Там REPA сильнее всего ухудшает результат. И чем размерность pixel space выше, тем заметнее проблема.

Как чинят?

Авторы предложили не матчить JiT и DINO напрямую, а сначала научиться выжимать из «богатых» JiT-фичей более компактное представление.

Для этого:

🔴заменяют простой MLP-проектор на два JiT-блока с аттеншном;

🔴маскируют часть токенов перед алайнментом, заставляя проектор выделять основную информацию из неполного представления.

Именно маскирование оказывается важной частью фикса. JiT с обычной REPA работает хуже исходной модели. Если заменить простой проектор между фичами JiT и DINO на более мощный, результат станет получше, но он всё ещё не будет дотягивать до исходного JiT. И только когда к новому проектору добавляют маскирование части токенов, удаётся превзойти базовую модель.

Интереснее всего в работе не конкретный рецепт, а вывод: эффективность representation alignment`а зависит от пространства, в котором живёт генеративная модель.

Отсюда возникает гипотеза о том, что, возможно, обычную REPA в pixel space стоит не только модифицировать, но и просто вовремя выключать. В начале она помогает сформировать семантику, а позже начинает мешать модели учить более fine-grained-признаки. И это подтверждается нашими внутренними экспериментами.

Разбор подготовил ❣ Никита Стародубцев
CV Time
1 596 просмотров · 25 реакций Открыть в Telegram · Открыть пост на сайте
PixelDiT: Pixel Diffusion Transformers for Image Generation

Сегодня разбираем статью, в которой предложили ещё один способ заставить диффузионный трансформер работать напрямую с пикселями. Самое интересное в работе — описанная авторами архитектура.

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

Сначала картинку бьют на крупные патчи 16х16 и прогоняют через обычные DiT-блоки. На выходе получаются семантические токены, которые компактно передают глобальное содержание картинки.

После этого модель снова берёт исходное изображение, но уже с размером патча 1х1. Каждый пиксель становится отдельным токеном с эмбеддингом маленькой размерности. Семантические токены из первой части используют для обусловливания pixel-блоков через pixel-wise AdaLN. То есть первая часть модели отвечает за семантику изображения, а вторая восстанавливает его буквально по отдельным пикселям.

Но селф-аттеншн по всем пикселям стоил бы безумно дорого. Поэтому перед аттеншном PixelDiT временно группирует соседние пиксельные токены: длина последовательности уменьшается, размерность представления растет, аттеншн считается уже в сжатом пространстве, а затем токены разворачиваются обратно. Авторы делают акцент на том, что это именно оптимизация вычислений, при этом fine-grained-информация продолжает идти через pixel-level-представление. Без такого сжатия модель просто упирается в OOM.

В методе JiT для перевода эмбеддингов обратно в изображение используется один линейный слой. Если выход высокоразмерный (пересказываем шум или velocity), то такое работать не будет. Именно поэтому в JiT модель предсказывает чистое изображение (чистый патч) — чистое изображение лежит в низкоразмерном пространстве. В это же время PixelDiT каждый пиксель обрабатывает отдельно, поэтому модель предсказывает высокоразмерную velocity.

И ещё прикольно выглядит использование AdaLN. Здесь conditioning — не один глобально спуленный вектор. Семантические представления используют, чтобы отдельно обогащать информацией pixel-level-представления. По аблейшену, pixel-wise AdaLN делает хороший вклад в результат.

Разбор подготовил ❣ Илья Дробышевский
CV Time
2 254 просмотров · 29 реакций Открыть в Telegram · Открыть пост на сайте
Sparse Forcing: Native Trainable Sparse Attention for Real-time Autoregressive Diffusion Video Generation 

Сегодня разбираем работу, в которой предложили sparse attention для авторегрессионной генерации видео.

В целом идея sparse attention в видео не новая. В предыдущих работах, таких как  Sparse VideoGen и Sparse VideoGen2, разреженный паттерн задавали заранее или подбирали динамически, но в основном уже на инференсе. Из-за этого возникал мисматч — обучалась модель с обычным аттеншном, а при генерации получала другую схему доступа к контексту.

В Sparse Forcing предлагается end-to-end-подход, в котором sparse attention становится частью обучения. Кроме того, генерация видео происходит именно авторегрессионно, а не bidirectional, как было в прошлых статьях.

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

Тензор видеолатентов разбивают на небольшие пространственно-временные блоки. Дальше для каждого query-блока динамически выбирают фиксированное число блоков, на которые ему полезнее всего смотреть.

Память при этом делится на две части:

🔴persistent memory хранит не всю историю, а ограниченный набор блоков (sink-блоки + динамически отобранное подмножество, Top-C), доступна всем query и аттендится каждым из них. Именно за счёт того, что история не хранится целиком, достигается снижение пикового KV-кэша;

🔴local memory работает как sliding window и может отличаться для разных query.

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

1) внутри локального окна для каждого query-блока выбирают top-k релевантных блоков и точный аттеншн считают только по ним;

2) агрегированный score по истории решает, какие блоки удержать в persistent memory (Top-C) при вытеснении из локального окна. При этом сами persistent-блоки не фильтруются через top-k — их плотно аттендят все query.

То есть сначала делают дешёвый поблочный скоринг, а потом считают точный аттеншн по выбранному подмножеству. Сам sparse-паттерн меняется динамически и отдельно для каждого query, но число выбранных блоков остаётся фиксированным. Похоже sparse attention устроен в DeepSeek, где тоже есть отдельный скоринг на более компактных представлениях, который определяет, к каким блокам обращаться.

Для такого подхода нужны специальные кернелы. Авторы заявляют ускорение относительно FlashAttention-2 и показывают, что оно зависит от размера локального окна и отношения выбранных блоков к общему контексту, доли persistent-памяти (N_P/N_L) и длины блока. Динамический отбор блоков должен быть особенно полезен для длинной авторегрессионной генерации, где история и KV-кэш постоянно растут.

Но здесь возникает главный вопрос к работе. Кернелы не опубликованы, кода на момент написания поста тоже нет. В экспериментах sparse attention сравнивают в основном с FlashAttention-2, хотя всё запускали на H100 и могли бы проверить FlashAttention-3. Поэтому оценить реальный спидап сложно.

С видеомоделями ситуация похожая. Авторы сравниваются с CausVid, Self Forcing, SkyReels-V2 и MAGI-1 и говорят о сниженной  задержке и меньшем количестве артефактов. Но самых близких sparse-бейзлайнов в сравнении нет — от них авторы открещиваются говоря, что паттерн одновременно обучаемый, динамический и авторегрессионный.

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

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

Разбор подготовил ❣ Федор Великонивцев
CV Time
1 852 просмотров · 35 реакций Открыть в Telegram · Открыть пост на сайте
DiffusionNFT: Online Diffusion Reinforcement with Forward Process [2/2]

Завершаем разбор статьи об RL для диффузионок от NVIDIA. В первой части рассказали, что предложили авторы. Переходим к самому интересному — результатам.

Что крутого в решении:

🔴Независимость от солвера — тренировка полностью отделена от семплирования: можно использовать любой black-box-солвер, не нужно хранить траектории.
🔴Неявное «впекание» CFG — направление ∆ (по сути CFG-подобный гайденс) встраивается прямо в модель через репараметризацию, без отдельной гайденс-модели и guided-семплирования.
🔴Likelihood-free — метод не использует приближение правдоподобия (в отличие от DPO-style-методов с ELBO и неравенством Йенсена, или дискретизации обратного процесса), а значит не вносит систематическое смещение в оценку.

Если упростить до алгоритма обучения:

1) Семплируем роллауты без CFG — прогоняем текущую v_old по промптам, группами (group rollouts, как в GRPO).

2) Для каждого члена группы считаем reward и нормализуем его внутри группы — получаем аналог advantage.

3) Из набранных групп формируется пул данных, по которому оптимизируется введённый выше objective мини-батчами — обновляется только v_θ.

4) После прохода по всему набору групп делается EMA-like апдейт v_old ← v_θ .

Отдельно замечу: в самой статье об этом ни слова, но в опубликованном коде NFT дополнительно используется KL-регуляризация к исходной модели — то есть на практике это не просто голый flow matching objective на implicit positive/negative policy, а ещё с якорем на исходные веса.


На SD3.5-Medium предложенный метод сходится заметно быстрее, чем Flow-GRPO — в head-to-head-сравнениях авторы заявляют до 25× по эффективности. Например, на GenEval DiffusionNFT доходит с 0,24 до 0,98 всего за 1 тысячу шагов, тогда как Flow-GRPO выходит лишь на 0,95 за 5k+ шагов и дополнительно требует CFG на инференсе. При этом сама тренировка у DiffusionNFT полностью CFG-free, а значит легче: не нужно гонять условную и безусловную ветку, не нужно хранить полные траектории семплирования.

Подводя итог, метод действительно впечатляет. Относительно Flow-GRPO он буквально не имеет недостатков, при этом помимо RL мы попутно получаем и «впекание» гайденса, а значит, на последующей стадии общей дистилляции на одну головную боль становится меньше.

Кажется, что в будущем такой подход к RL диффузионных моделей может стать новой общепринятой практикой. Уже сейчас ссылки на DiffusionNFT можно найти в MeanFlow NFT от Tencent, где NFT успешно распространяют на MeanFlow-формулировку, а также в Mage-Flow — новой диффузионной генеративке Microsoft, где метод применили на стадии пост-трейнинга вместо GRPO.

Разбор подготовил ❣ Валерий Старцев
CV Time
2 076 просмотров · 26 реакций Открыть в Telegram · Открыть пост на сайте
DiffusionNFT: Online Diffusion Reinforcement with Forward Process [1/2]

Сегодня разберём свежую статью из мира RL для диффузионок — Diffusion NFT от NVIDIA, представленную на ICLR 2026.

В сообществе доминируют два подхода к RL-дообучению диффузионных моделей: офлайн-обучение на предпочтениях (DPO-style) и онлайн-GRPO — де-факто стандарт в text-to-image-моделях продакшен-уровня.

У обоих есть проблемы. У DPO — неустойчивый objective, офлайновость и необходимость собирать большие датасеты с человеческой разметкой. У GRPO — неудобность: нужно хранить траектории всех генераций в группе и жёстко привязываться к определённому виду семплера.

Авторы из NVIDIA предложили метод, который решает проблемы GRPO, при этом сходится быстрее и позволяет «вшить» CFG прямо в результирующую модель.

Идея — делать RL не на обратном процессе (как в GRPO), а на прямом. Так родился DiffusionNFT (Diffusion Negative-aware FineTuning). Вместо policy gradient метод напрямую оптимизирует форвард-процесс через flow matching objective. Смысл в том, чтобы задать контрастное «направление улучшения» между двумя неявными политиками, обученными на позитивных и негативных семплах (по реворду), и двигаться в сторону позитивной политики, не трогая сам процесс семплирования.

Плюсы такой формулировки:
🔴работает с любыми солверами, а не только с SDE первого порядка;
🔴не нужно хранить целые траектории семплирования — только чистые картинки;
🔴минимальные изменения в существующем коде обучения.

Технически это устроено так: есть претрейн policy π_old и датасет промптов. На каждой итерации семплим K картинок по промпту и оцениваем каждую скалярным reward r ∈ [0,1] — это «вероятность оптимальности» картинки. Каждая картинка с вероятностью r попадает в «позитивный» датасет D+, иначе — в «негативный» D−. При бесконечном числе семплов D+ соответствует implicit policy π+ (условная на успех), D− — implicit policy π− (условная на неуспех). Авторы показывают, что всегда верно π+ ≻ π_old ≻ π−.

Наивный вариант — Rejection FineTuning (RFT): тренировать модель только на D+. Работает, но не использует негативные данные, и чистое обучение на позитивах приводит к коллапсу.
Ключевая идея — ввести «направление улучшения» ∆ между π_old и целевой policy, по аналогии с гайденсом (как в CFG):

v* = v_old + (1/β)·∆
где, β — сила гайденса.

Теорема авторов показывает, что ∆ можно эквивалентно выразить через любую пару {v_old, v+, v−}:

∆ = (1−α)·(v_old − v−) = α·(v+ − v_old)

где α ∈ [0,1] — скаляр, зависящий от реворд-статистики. То есть направление к «хорошей» политике можно получить и через контраст с «плохой» политикой — они пропорциональны друг другу.

Главный трюк. Вместо обучения двух отдельных моделей v+_θ и v−_θ, авторы параметризуют их через одну и ту же сеть vθ:

v+_θ = (1−β)·v_old + β·vθ — implicit positive policy
v−_θ = (1+β)·v_old − β·vθ — implicit negative policy

И обучают на единый лосс:

L(θ) = E[ r·‖v+_θ(x_t,c,t) − v‖² + (1−r)·‖v−_θ(x_t,c,t) − v‖² ]

На позитивных семплах (вес r) модель обучается через ветку implicit positive policy; на негативных (вес 1−r) — через implicit negative policy, но обе ветки завязаны на одну и ту же сеть vθ. При достаточном количестве данных и капасити оптимум этого лосса даёт нужное направление улучшения:

vθ* = v_old + (2/β)·∆

По сути это обычный supervised диффузионный лосс с двумя ветками для позитивных и негативных примеров — но при этом даёт полноценный RL-эффект.

Во второй части разберём, почему это круто и какие результаты получились.

Разбор подготовил ❣ Валерий Старцев
CV Time
1 618 просмотров · 22 реакций Открыть в Telegram · Открыть пост на сайте
Курс по Visual GenAI от Yandex Research и ШАД

Авторы CV Time не только пишут обзоры статей о компьютерном зрении, но и создают обучающие курсы.

Сегодня делимся курсом ШАДа «Генеративные модели в компьютерном зрении», который ведёт Дмитрий Баранчук, руководитель группы GenAI в Yandex Research, вместе с праймовой командой исследователей в этой области.

Будет полезно тем, у кого есть базовые знания по генеративкам и желание разобраться глубже:

• в теории диффузионных моделей, эффективных методах их обучения и семплирования;
• в новых гибридных моделях на основе диффузии для генерации изображений, видео и 3D.

У курса есть открытый GitHub-репозиторий, где можно найти слайды, записи лекций и семинаров, а также домашние задания.

CV Time
31 142 просмотров · 81 реакций Открыть в Telegram · Открыть пост на сайте
Qwen-Image-Agent: Bridging the Context Gap in Real-World Image Generation

Сегодня разбираем статью о Qwen-Image-Agent — не столько техническую, сколько идеологическую. Авторы предлагают добавить перед генеративной моделью агентский пайплайн, который собирает недостающий контекст.

Главной проблемой называют Context Gap — разрыв между тем, что пользователь написал, и тем, что модели нужно для качественной генерации. Дело в том, что промпт юзера может быть неполным: не хватает деталей, референсов или контекста предыдущего диалога. Кроме того, он обычно не попадает в распределение, на котором училась модель.

Например, пользователь просит нарисовать скорборд финала NBA 2026 с логотипами команд и итоговым счётом. Но генеративная модель может не знать, кто играл, какой был счёт и как выглядят логотипы. Если отправить запрос напрямую, она, скорее всего, что-нибудь нагаллюцинирует.

Qwen-Image-Agent сначала определяет, какой информации не хватает, и формулирует вопросы. Затем они направляются в нужный механизм:

🔴Reasoning — логика, здравый смысл и визуальный ризонинг;
🔴Search — веб-поиск и поиск изображений;
🔴Memory — история диалога и прошлые генерации;
🔴Feedback — проверка результата через VLM-as-a-Judge.

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

Дальше генерируется изображение, а VLM-as-a-Judge проверяет его по чек-листу. Если всё выполнено, картинка возвращается пользователю. Если нет, система смотрит оставшийся Context Gap, уточняет промпт и запускает новую итерацию.

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

Дополнительного обучения нет, вся система работает zero-shot на системных промптах. Именно в системном промпте задаются правила, когда использовать Reasoning, а когда Search.

Есть момент, что граница между Reasoning и Search довольно размыта. Общие и стабильные знания можно брать из весов модели, а точные, визуальные или динамические данные лучше искать. (Например, модель может примерно знать логотип команды, но для точного воспроизведения надёжнее найти референс.)

Отдельный уровень планирования нужен для multi-image- и multi-turn-генерации. Например, при создании презентации несколько слайдов должны сохранять единый стиль. В одном из примеров система сначала генерирует титульный слайд, а затем использует его как стилевой референс для остальных. При этом из памяти извлекается только релевантный контекст, иначе он быстро раздуется.

Важная часть статьи — Image Agent Bench, бенчмарк для end-to-end-оценки агентских систем генерации. Проверяет четыре способности: Planning, Reasoning, Search и Memory. Для каждого кейса есть свой чек-лист, всего в них около 1800 пунктов.

Для оценки используют Pass Rate, Checklist Accuracy и интегральный Image Agent Score. Срезы взвешиваются как 0,3 / 0,3 / 0,3 / 0,1 — памяти дают меньший вес, потому что она используется только в multi-turn-задачах.

В работе привели абляцию, по которой агентский пайплайн получает около 45 баллов против 17 у базовой Qwen-Image без агента. Замена как генеративной, так и ризонящей модели на более слабую результат снизила, но агентские версии всё равно остаются лучше прямой генерации.

Отключение Feedback Loop приводит к самому маленькому падению качества. Фидбек при этом очень дорогой, так как нужен дополнительный вызов VLM-джаджа, а при ошибке требуется повторная генерация. Возможно, планирование, поиск и ризонинг уже закрывают большую часть Context Gap, поэтому дополнительный выигрыш от фидбека невелик.

Можно сделать вывод, что авторы не предлагают принципиально новых компонентов, но зато удобно собирают поиск, ризонинг, память, репромптинг и оценку в единый фреймворк. Качество растёт, но вместе с ним растут вычисления, контекст и сложность пайплайна.

Разбор подготовил ❣ Василий Прядченко
CV Time
2 807 просмотров · 26 реакций Открыть в Telegram · Открыть пост на сайте
High-Fidelity Two-Step Image Generation via Teacher-Aligned End-to-End Distillation

Сегодня разбираем статью о Z-Image Turbo++. Основная идея — повторное применение DMD к уже задистилелной модели. Так авторы дистиллируют 8-шаговый Z-Image Turbo в 2-шаговый генератор. Достигается это с помощью трёх приёмов:

1) Distribution-aligned adversarial training. В качестве «настоящих» семплов для дискриминатора GAN используют не реальные фотографии, а изображения, сгенерированные 8-шаговым teacher'ом. Так семплы тяжелее различить дискриминатору. По наблюдениям авторов, подмена реальных изображений сгенерированными стабилизирует обучение, а итоговая модель даёт меньше артефактов. Возможно, использование дополнительных техник для усложнения задачи дискриминатора, например R1-регуляризации, стабилизировало обучение с реальными данными.

2) Step-decoupled weights. Шагам 1 и 2 дают по собственной полной копии весов (обе инициализируются из teacher) вместо одной общей модели. Два шага решают очень разные подзадачи (шум → грубое изображение vs грубое изображение → чистое изображение). Поэтому одной общей модели не хватает ёмкости на оба шага. Использование отдельных LoRA-адаптеров для каждого шага работает хуже, чем тюнинг всех весов — например, для отрисовки текста.

3) End-to-end-обучение c отдельным лоссом для каждого шага. Оба шага обучаются вместе как единый пайплайн (шум → модель шага 1 → промежуточный результат → модель шага 2 → финальное изображение), так что градиенты от качества финального изображения текут обратно и в шаг 1, а не только в шаг 2. Важно, что при этом сохраняется явный лосс на собственном промежуточном выходе шага 1 (той же формы, что и лосс шага 2). Если его убрать, промежуточный результат первого шага коллапсирует в бессмысленное представление — и модель на последнем шаге исправляет это представление вместо того, чтобы просто добавить деталей.

Разбор подготовил ❣ Александр Целоусов
CV Time
2 344 просмотров · 25 реакций Открыть в Telegram · Открыть пост на сайте
Что нового в архитектуре Alice AI ART 2.0

В Алисе AI и Шедевруме теперь работает Alice AI ART 2.0 — это большой шаг к созданию unified-модели, которая одинаково хорошо умеет генерировать и редактировать картинки. Команда генеративных моделей в компьютерном зрении рассказала на Хабре об экспериментах на пути к решению — удачных и не очень. В этом разборе сосредоточимся на архитектурной части.

Несколько вводных

В мультимодальном ассистенте Алиса AI есть два базовых сценария: T2I и I2I. До релиза они жили как два разных стека — каждый со своими моделями, данными и метриками. И сейчас мы сделали большой шаг их объединению в модели.

В Alice AI ART 1.0 был классический для T2I диффузионный свёрточный генератор с текстовым энкодером на базе LLM. А редактирование работало на своей базовой модели и своём пайплайне инференса. Это приносило много сложностей в разработке и продуктизации.

Хотелось свести две модели в одну и при этом поднять качество каждой.

Unified-претрейн

Главный герой решения — общий претрейн на данных обоих типов («текст → картинка» и «картинка + инструкция → картинка»). Была гипотеза, что общий визуальный и текстовый контекст перетекает между задачами и улучшает качество. Например, концепты, выученные на T2I, становятся доступны в I2I без дополнительного сбора данных. И это действительно подтвердилось.

Что поменялось в архитектуре

🔴Заменили бэкбон со свёрточной модели на MMDiT‑трансформер с single‑stream‑архитектурой. Теперь текст и входная картинка представляются как токены в одной последовательности, и обрабатывать оба сценария проще.
🔴Использовали общий аттеншн для текстовых и визуальных токенов вместо двух раздельных.
🔴Добавили U‑RoPE — позиционное кодирование, которое поддерживает разные разрешения и конкатенацию «картинка + текст».
🔴Увеличили размер модели для совместной задачи T2I + I2I;
🔴Заменили текстовый энкодер с LLM на VLM, обученный на паре «текст + картинка»). Это улучшило понимание связи текста и изображения.

Результаты

В обеих задачах модель стала заметно лучше прошлой версии и по нашим замерам сейчас занимает второе место после Gemini 3.1 Flash.

Ещё один показатель — это реакция пользователей. Число скачиваний результатов генерации и редактирования выросло на 37 %, а запросов на генерацию с персонажем стало больше на 23 %.

Больше подробностей найдёте в хабростатье.

CV Time
1 960 просмотров · 32 реакций Открыть в Telegram · Открыть пост на сайте
Три идеи для обучения text-to-image с ICML 2026

В Сеуле идёт ICML 2026, а мы продолжаем делиться работами на тему компьютерного зрения. Кстати, доля работ из области computer vision в этом году — почти 8%. Вторая по популярности тематика после LLM.

Ambient Dataloops: Generative Models for Dataset Refinement

Авторы рассматривают специфическую для text-to-image-моделей проблему, когда данных для конкретного домена немного, и семплы в них могут быть низкого качества. Например, хотим учиться генерировать советских космонавтов, но фотографий с ними очень мало, а те, что есть, часто в низком разрешении и с шумами.

В работе предложили итеративную процедуру обучения и рефайнмента данных, на которых оно проводится. Важно, что в работе считается, что метрика качества данных (асессорская разметка, эстетический скор, VLM-as-a-judge) уже задана, и мы заранее можем подсчитать, какие семплы хотим рефайнить. В таком случае можно:

🔴сделать одну или две эпохи обучения,
🔴пройтись по плохим данным, частично зашумить-расшумить их для рефайнмента,
🔴пройтись по всему набору данных ещё раз или два.

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

Think-Then-Generate: Reasoning-Aware Text-to-Image Diffusion with LLM Encoders

За последнее время вышло много работ вокруг переписывания входных промптов для text-to-image- и editing-моделей. Те, которые показывали максимальное качество без циклического переписывания в формате inference-time scaling, в основном использовали для репромптинга внешние проприетарные модели вроде GPT или Gemini из-за более высокого базового качества. Использование текстовых энкодеров самих генеративных моделей в таком сетапе оказалось не очень полезным.

В этой работе предлагают сделать end-to-end-дообучение модели вместе с текстовым энкодером для буста качества репромптинга. Для этого авторы:

🔴для каждого исходного промпта генерят ризонинг-цепочку и финальный репромпт текстовым энкодером;
🔴по каждому репромпту делают несколько генераций с разными сидами;
🔴для каждой генерации вычисляют значения ревордов несколькими реворд-моделями;
🔴усредняют реворды по сидам генерации, чтобы получить GRPO.
🔴делают бекпроп через всю цепочку генерации, включая текстовый энкодер.

Такая схема невозможна с использованием внешней модели репромптинга — и интересно видеть, что авторы получили хороший буст качества. По их словам, инференс в таком сетапе всё ещё может быть не слишком дорогим, потому что можно настроить модель на генерацию небольших цепочек (порядка 200 токенов).

Но важно помнить, что в таком обучении выбор информативных ревордов ещё важнее. В неудачном случае скатиться в коллапс может не только генератор, но и текстовая модель.

MIRO: Multi-Reward cOnditioned pretraining improves T21 quality and efficiency

Авторы переизобрели технику из DALL-E 2, когда вместе с текстовым условием на вход дополнительно подаются значения реворд-моделей.

Справедливости ради, техрепорт DALL-E 2 полноценной статьёй не был, и предложенный там механизм ни с чем проаблейчен. В этой работе авторы показывают, что описанный там механизм предпочтительнее RL-методов из-за более высокой стабильности процесса обучения.

Глубоким придумыванием самих ревордов авторы тоже не занимались. «Просто нашли семь самых залайканных реворд-моделей для T2I на Hugging Face и просчитали их», — прокомментировал автор.

Интересное увидел ❣ Сергей Кастрюлин

#YaICML2026

CV Time
1 748 просмотров · 24 реакций Открыть в Telegram · Открыть пост на сайте
Concept Removal for Frontier Image Generative Models

Есть такая задача — разучивать модель генерировать нежелательные концепты: объекты и отношения между ними, стили и прочее. Нужно это для white-box-сетапов — случаев, когда модель необходимо дать пользователю не через API, а как набор весов.

Авторы статьи предлагают использовать transcoder-блок, который конвертирует латент нежелательного концепта в null и дальше подаёт в боттлнек и декодер генератора. Задача — обучить этот transcoder так, чтобы на инференсе он какие-то концепты кодировал, а какие-то — игнорировал.

Мы пробовали более простой архитектурно, но более требовательный к качеству данных подход. В нём:

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

Оказалось, что авторы работы тоже много экспериментировали с этим методом и даже написали о нём отдельную статью. По их словам, он сложнее для качественной реализации, чем описанный в этой работе. А ещё — склонен негативно влиять на общую релевантность (что мы тоже замечали).

Разбор подготовил ❣ Сергей Кастрюлин

#YaICML2026

CV Time
1 824 просмотров · 23 реакций Открыть в Telegram · Открыть пост на сайте
GLM-Image: Auto-regressive for Dense-knowledge and High-fidelity Image Generation

Продолжаем разбирать интересные авторегрессионные модели text-to-image. Недавно рассказывали о BitDance, а сегодня на очереди GLM-Image. В блогпосте технических деталей почти нет, зато есть код в Diffusers, так что архитектуру можно восстановить довольно подробно.

Идея в следующем. Большая LLM каузально генерирует последовательность семантических визуальных токенов, а затем отдельный DiT восстанавливает по ним изображение высокого качества. Генерация и редактирование картинок напрямую LLM — мысль не новая (вспомним хотя бы Janus), но GLM-Image отличается несколькими интересными design choice и заметно превосходит предыдущие авторегрессионные модели по качеству.

Архитектура состоит из двух частей: авторегрессионного GLM-4-9B и диффузионного декодера на 7B параметров.

LLM генерирует изображение поэтапно. Сначала строится сетка 8х8 токенов — грубая композиция сцены. Она остаётся в KV-cache, и модель продолжает генерацию уже для 16х16, а затем и 32х32 токенов. Получается обычная авторегрессионная генерация в raster-порядке, но с постепенным увеличением разрешения.

Дальше семантические токены поступают в single-stream DiT, где поканально конкатятся с латентом шума. Примерно за 50 шагов диффузии модель восстанавливает финальное изображение. Любопытно, что текстовые эмбеддинги в DiT вообще не используются, поскольку считается, что вся семантика уже содержится в токенах, сгенерированных LLM. Исключение — текст в кавычках. Его дополнительно кодируют через ByT5 и подают как отдельное условие, чтобы модель лучше рисовала надписи.

Эдитинг устроен похоже. Исходное изображение кодируют в те же семантические токены и вместе с текстом отправляют в LLM. Параллельно картинка проходит через VAE encoder, после чего его признаки объединяются с семантическими фичами и поступают в DiT. В итоге LLM отвечает только за семантику, а восстановление структуры и мелких деталей остаётся за диффузионным декодером.

Самая интересная часть работы — токенизатор. Авторы выбирают между обычным VQ-VAE и semantic-VQ. Первый лучше оптимизирует реконструкцию, второй специально обучается так, чтобы токены содержали семантическую информацию. При одинаковом размере кодбука авторегрессионной модели заметно проще предсказывать именно semantic-VQ-токены, поэтому выбор падает на них. Кроме того, с заделом на будущее такой токенизатор открывает путь к единому представлению для мультимодальных моделей.

Про обучение известно немного. Авторы почти полностью ссылаются на X-Omni. Берут SigLIP2-g, добавляют vector-квантизацию, выравнивают представления с помощью небольшой Qwen2.5-1.5B и получают кодбук всего на 16 тысяч токенов с адаптером в пространство LLM.

Сам авторегрессионный бэкбон — GLM-4-9B-0414. Текстовые эмбеддинги замораживают, добавляют эмбеддинги визуальных токенов и заменяют LM-head новой головой, предсказывающей элементы кодбука. По сути, LLM просто учится продолжать последовательность, где после текста идут токены изображения. Судя по X-Omni, DiT отдельно обучают реконструкции по семантическим токенам, а затем обе модели шлифуют с помощью GRPO.

На бенчмарках GLM-Image находится в нижнем сегменте открытых SOTA-диффузионных моделей, но среди авторегрессионных подходов это большой шаг вперёд. Главная идея работы — использовать LLM как генератор семантических токенов, а восстановление деталей оставить диффузионному декодеру. Такая схема позволяет использовать знания LLM из текстового претрейна, естественно работать с interleaved-контекстом и получать качество, уже близкое к современным диффузионным моделям.

Разбор подготовил ❣ Валерий Старцев
CV Time
1 825 просмотров · 26 реакций Открыть в Telegram · Открыть пост на сайте
DeepEyesV2: Toward Agentic Multimodal Model

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

Сегодня разбираем DeepEyesV2 — открытый бейзлайн мультимодального агентного ризонера. Авторы собирают его на основе опенсорсных данных в стадиях ColdStart и RL, и показывают рост по многим бенчмаркам. Бонусом — делятся данными неудачных подходов и проводят интересные ablation studies.

RL без Cold Start

В предыдущей DeepEyesV1 авторы через RL обучали модель использовать специализированные инструменты — функции кропа картинок и зума. В V2 попробовали тот же подход на сложных инструментах (Python и картиночном поиске) — и получили негативный результат.

Оказалось, что даже если до RL модель (в данном случае Qwen-2.5VL-7B) выполняла вызовы, после — разучивалась это делать (!). Причина в форматных ошибках: вызовы сложных инструментов требуют точного синтаксиса, в отсутствие которого модель получала штрафы от реворда форматирования. А при добавлении реворда на вызов, она обучалась хакать его — генерировать бессмысленные (но гарантированно корректные) вызовы Python, вроде:



# There is no need to write code{}



Авторы пришли к выводу, что для сложных инструментов необходимо сначала показать модели примеры правильных вызовов во время Cold Start.

Сбор данных и обучение

Авторы постарались выжать из опенсорсных данных сложный и разнообразный датасет. Собрав наборы вопросов, картинок и ответов, они выфильтровывают примеры, которые Qwen-2.5.VL-7B уже может решить без ошибок. На оставшихся примерах в качестве ground-truth собирают траектории фронтирных моделей. Для определения сложности семплов используют pass@k как с инструментами, так и без них, руководствуясь следующей логикой:

🔴если модель без инструментов решает задачу — задача не нужна в обучении;
🔴если модель с инструментами решает задачу редко — задача отправляется на RL-стадию;
🔴если модель с инструментами не решает задачу вовсе, то на RL она получит нулевой advantage, но траекторию решения полезно положить в ColdStart.

В Cold Start авторы используют стандартный NLL, а в RL — DAPO с двумя ревордами: форматным (правильное форматирование CoT и вызова тулов) и на результат.

Результаты

Замеры показывают хороший рост на бенчмарках, особенно на CharXiv Reasoning (вопросы по инфографике), MathVerse (задачки по математике) и HRBench (поиск объектов на картинках с высоким разрешением) — около +5%, выше предыдущей версии и схожих конкурентов. С другой стороны, при сравнении с фронтирными моделями или топовыми китайскими VLM, разрыв остаётся огромным — в десятки процентов, а главный сценарий использования Python — Numerical Analysis (то есть продвинутый калькулятор).

Аблейшены

В статье есть ряд любопытных замеров. Например разбивка обучающих данных по категориям Perception/Reasoning/Search с тренировкой по разным сплитам. Интересный результат — на второй картинке: после RL количество вызовов становится меньше на тех же бенчмарках по сравнению с ColdStart. Это показывает, что на RL модель обучается выбирать инструмент «по сложности», а не детерминировано вызывать Python в любой ситуации.

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

Разбор подготовил ❣ Борис Зимка
CV Time
3 920 просмотров · 32 реакций Открыть в Telegram · Открыть пост на сайте
Несколько идей о perception и reasoning в VLM

Глобально качество любой мультимодальной модели строится на трёх вещах: knowledge — визуальных и текстовых знаниях, заложенных в модель; perception — умении хорошо понимать изображение; и reasoning — её способности учитывать эти два пункта и делать по ним выводы. Сегодня делимся подборкой на эту тему от руководителя команды претрейна VLM Данила Кашина.

VLM Perception

Distributional Vision-Language Alignment by Cauchy-Schwarz Divergence

CLIP и другие VLM обучаются через InfoNCE, который максимизирует mutual information (MI). Но высокий MI не гарантирует близость распределений, поэтому текстовые и визуальные эмбеддинги могут оставаться разделёнными. В качестве решения авторы используют разложение “InfoNCE = alignment + uniformity” и добавляют дивергенцию Коши-Шварца для согласования распределений модальностей.

MergeMix: A Unified Augmentation Paradigm for Visual and Multi-Modal Understanding

В работе хотят сделать дешевле стадию DPO, для которой обычно нужна ручная разметка preference-пар. Вместо этого предлагают генерировать пары автоматически с помощью аугментаций. Берут изображение, подмешивают часть другого изображения и используют ответ для второго изображения как негативный, а ответ для исходного — как позитивный. Для этого применяют MergeMix — комбинацию ToMe-attention, mixup и SimPO. ToMe во время форварда объединяет похожие визуальные токены, что позволяет аккуратно переносить части одного изображения в другое. На полученных аугментациях делают обучение.

Learning to See Before Seeing: Demystifying LLM Visual Priors from Language Pre-training

Исследуют, как текстовый претрейн влияет на качество мультимодальных моделей. Во-первых, скейлинг оказывается неоднородным: для одних задач важнее размер модели, для других — объём данных. Во-вторых, для визуально-языкового ризонинга лучше работают сильные ризонинг-источники из текстового претрейна — код, математика и академические тексты. В-третьих, на визуальное восприятие сильно влияет качество визуального энкодера, и что интересно, качество на perception-based-задачах в процессе обучения быстро выходит на плато.

VLM Reasoning

Perception-R1: Advancing Multimodal Reasoning Capabilities of MLLMs via Visual Perception Reward

RL улучшает ответы модели, но почти не влияет на её способность видеть изображение. Поэтому к RLVR добавляют награду за атомарные визуальные факты (atomic visual facts), извлечённые из изображений. Так модель получает сигнал не только за правильный ответ, но и за правильное восприятие картинки.

Unleashing Perception-Time Scaling to Multimodal Reasoning Models

В обычных VLM perception — очень короткая фаза. Модель быстро переводит изображение в текстовое пространство и дальше рассуждает уже текстом. Чтобы это исправить, предлагают сделать perception длиннее и структурированнее за счёт перевода некоторых объектов с изображений в символьный вид. Это даёт дополнительный сигнал для RL, и мультимодальный ризонинг улучшается.

SophiaVL-R1: Reinforcing MLLMs Reasoning with Thinking Reward

Подход к оцениванию качества цепочки рассуждения, где предлагают добавлять reward за него. А чтобы избежать reward hacking, проверяют, различает ли верификатор правильные и неправильные ответы. Если да — используют его сигнал для обучения, если нет — отбрасывают такие примеры.

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic Shuffle

Решают проблему эффективности RL-дообучения. Оставляют самые контрастные пары с большим различием в реворде, а затем делают семплирование с возвращением, где вероятность выбора зависит от разницы между наградами. Чем контрастнее пара, тем чаще она попадает в обучение. За счёт этого растёт энтропия и RL-обучение становится лучше.

Разбор подготовил ❣ Данил Кашин
CV Time
2 220 просмотров · 57 реакций Открыть в Telegram · Открыть пост на сайте
Thinking with Visual Primitives

Сегодня в области мультимодальных моделей основной упор делают на языковой ризонинг. А для VLM интересно было бы перенести его в визуальное пространство. В своей статье авторы из DeepSeek предлагают делать это с помощью визуальных примитивов: точек и bounding-боксов.

Архитектура решения довольно стандартная. Берут DeepSeek-V4 (LLaVA) на 284 млрд параметров (13 млрд — активных) и прикручивают к нему трансформер DeepSeek-ViT. Он кодирует картинку размером 756x756 с помощью 324 визуальных токенов.

Стадии обучения следующие:

1. Pretraining

Добавляют дополнительные данные, чтобы модель уже на претрейне хорошо видела визуальные токены. Для этого кроулят Hugging Face и другие источники — и собирают почти 98 тысяч датасетов, которые затем фильтруют по качеству и покрытию разметки. В итоге остаётся около 32 тысяч датасетов. Bounding-боксы и точки задают в текстовом формате, а весь претрейн занимает триллионы мультимодальных токенов.

2. ColdStart Data

Для cold-start собирают отдельные датасеты по разным срезам: counting, spatial reasoning, vqa, maze navigation, path tracing. Counting делится на coarse-grained-задачи («посчитай всех медведей») и fine-grained-задачи («посчитай всех медведей, которые находятся на земле»).

Для fine-grained counting используют GQA и граф-сцены, с помощью которых генерируют более сложные запросы. Также для задач Spatial Reasoning и VQA берут реальные картинки из GQA, но такие данные получаются слишком простыми, поэтому дополнительно добавляют синтетику из CLEVR — датасета с искусственно сгенерированными сценами.
Чтобы избежать галлюцинаций, добавляют негативные семплы. Например, модель просят найти медведей на сцене, где медведей на самом деле нет.

3. Specialized SFT и Specialized RL

На стадии Specialized SFT учат две модели, стартуя с общего претрейна: одну на данных с bounding-боксами, другую — на данных с точками.

После SFT специализированные модели отдельно дообучают через GRPO. Используют три типа ревордов: на формат, качество (проверяют избыточность CoT, консистентность с ответом и прочее) и точность ответа. Для лабиринтов и path tracing добавляют дополнительные проверки, чтобы модель не хакала задачу и не строила неверные траектории. Для RL выбирают примеры, где модель отвечает не идеально, но хотя бы иногда правильно.

4. Unified RFT

Затем специализированными RL-моделями генерируют данные, на которых обучают единую модель. Для этого объединяют данные с bounding-боксами, точками и chain-of-thought.

5. On-Policy Distillation

Получившуюся модель дистиллируют сразу на две специализированные модели-учителя. После модель оценивают на counting, general VQA и других публичных visual reasoning-бенчмарках. Авторы пишут, что по качеству она конкурирует с Gemini 2.5 Flash и часто показывает первое или второе место.

Разбор подготовил ❣ Александр Шишеня
CV Time
1 969 просмотров · 22 реакций Открыть в Telegram · Открыть пост на сайте
Земной автомобиль, луноход или марсианский ровер — на ICRA 2026 припаркуются все

Позади второй день конференции — продолжаем делиться самым интересным об автономном вождении. Слово Максиму Спорышеву:

Среди докладчиков были те, кто буквально делает космолёты. Они рассказали о локализации для lunar landing, навигации на Марсе и детекции аномалий в космосе — только представьте, какие у них байки про продакшн.

Понравились три постера. Первый — от Waabi AI. Они реализовали 3D-реконструкцию в зоне, ближайшей к исходному треку. Хорошее решение для симуляции перестроения, но не подходящее для сложных разворотов и прокладывания нового маршрута.

Тесты проводят на дистанциях 3, 4 и 5 метров от исходных положений камер: делают feedforward-рендеринг с помощью 3D Gaussian Splatting, добавляют шум и денойзят всё диффузией, которая училась восстанавливать изображения на дистанции 3 метра.

Второй постер — об обучении через имитацию действий других участников дорожного движения. Чтобы собрать тренировочный датасет, авторы берут сцены на nuPlan, выбирают на них одного-двух хороших агентов и трансформируют их движение так, будто всё происходит от лица эго-агента. Плохие данные фильтруют по метрикам комфорта, пройденной дистанции и TTC.

С ростом количества данных эффективность обучения падает: между первыми точками графика заметна большая разница, а ближе к 100 тысячам сцен её почти нет. Для проверки использовали модель PLUTO.

На третьем постере — self-supervised-способ трекинга на лидарных облаках через кластеризации точек и фильтры Калмана. Жаль, что не удалось поймать авторов: они утверждают, что работают на уровне supervised-трекеров.

Отдельно отмечу два доклада, номинированных на звание лучших работ.

Do You Know Where Your Camera Is? View-Invariant Policy Learning with Camera Conditioning

Статья о robotic manipulation, но решаемая в ней проблема актуальна и для автономного транспорта.

Авторы показывают, что качество всех VLA сильно просаживается, если меняется положение камер: в сетапах с рандомным размещением success rate проседает в пару раз.

Решение — подавать положение камер через Plücker ray-maps. То есть задавать луч камеры для каждого пикселя шестью дополнительными числами: дельтами и моментами.

С таким кондишенингом на камеры авторы отыгрывают просадку: success rate становится в пару раз лучше, чем у обычных VLA.

FP3: A 3D Foundation Policy for Robotic Manipulation

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

Взамен предлагают сетап обучения с Uni3D в качестве энкодера. Он показывает довольно высокие success rates: до 90% на некоторых тасках.

Напоследок авторы показывают профит от масштабирования своего трансформера до 1,3B.


Конференция продлится до 5 июня — ещё вернёмся с новой порцией наблюдений.

#YaICRA26

404 driver not found
1 291 просмотров · 23 реакций Открыть в Telegram · Открыть пост на сайте
В эти дни в Вене проходит международная конференция по робототехнике ICRA 2026. Среди докладов — много работ на стыке робототехники и компьютерного зрения, как, например, в этом посте. Ещё больше разборов читайте в канале @DriverNotFound ⬇️
1 397 просмотров · 15 реакций Открыть в Telegram · Открыть пост на сайте
BitDance: Scaling Autoregressive Generative Models with Binary Tokens [3/3]

Завершаем разбор статьи BitDance об авторегрессионной генерации изображений. В первом посте мы обсудили бинарный VQ-VAE с качеством реконструкций, сопоставимым с непрерывными VAE. Во втором — замену линейной классификационной головы авторегрессионного бэкбона на диффузию, что одновременно снижает рост числа параметров и улучшает качество генерации. Сегодня поговорим об экспериментах.

Авторы исследовали, на что влияет размер кодбука бинарного автоэнкодера — подтвердили его корреляцию с качеством реконструкций и проверили взаимосвязь с качеством генеративной модели. Результат оказался неоднозначным: рост словаря улучшает генерацию только при одновременном увеличении размера трансформера. При этом для крупных моделей выигрыш по FID/IS минимален.

Для text-to-image в качестве базовой авторегрессионной модели авторы выбрали Qwen3-14B. Её дообучили на генерацию изображений с помощью 32-канального бинарного токенизатора с 16-кратным пространственным сжатием и генерацией патчами 4×4 токенов.

Обучение включает привычные стадии: претрейн, CT на высоких разрешениях, SFT и дистилляцию. Интересен размер претрейн-датасета — всего 256 млн изображений, что значительно меньше индустриальных стандартов на миллиарды семплов. Зато на файнтюне объём данных резко возрастает за счёт синтетических изображений, сгенерированных SoTA-моделями. Авторы делают ставку на качество данных и отдельно подчёркивают пользу mixed-resolution обучения уже на этапе претрейна.

Под дистилляцией в BitDance понимается переобучение SFT-модели на параллельную генерацию блоков 8×8 токенов, что ускоряет инференс без заметной потери качества.

На t2i-бенчмарках BitDance занимает лидирующие позиции среди AR-моделей и конкурирует с лучшими диффузионками. Любопытно, что для достижения такого качества потребовалось заметно меньше данных, хотя по сути за SFT происходит дистилляция SeedDream и Z-Image.

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

Качество генерации у BitDance действительно высокое, однако архитектура остаётся гибридной и использует диффузию внутри. Полностью авторегрессионной генерации визуальных токенов здесь нет, а значит, нет и бесшовной интеграции с текстовой модальностью. Из известных решений ближе всего к этой цели пока остаётся модель GLM Image.

Познакомиться с BitDance поближе можно на GitHub авторов.

Разбор подготовил ❣ Валерий Старцев
CV Time
1 617 просмотров · 23 реакций Открыть в Telegram · Открыть пост на сайте
Как мы научили модель понимать структуру архивных записей

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

Дарья Виноградова, руководитель команды универсального применения компьютерного зрения в Яндексе, и Анна Сидорова, главный разработчик распознавания архивов, рассказали на Хабре, почему универсальные VLM-модели не подошли для этой задачи и как удалось перейти от распознавания текста к извлечению структуры и смысла из документов.

Как было раньше

Прошлая версия системы представляла собой классический OCR-пайплайн. Детектор находил на скане строки, OCR-модель распознавала их по отдельности, а другая модель собирала в текстовые блоки.

Поиск работал в основном по текстовым совпадениям. Из-за этого вместе с нужными данными в выдачу попадали имена священников, номера записей, служебные пометки и другие нерелевантные части документа. Со временем проблемы стали чаще возникать на уровне структуры документа — из-за разбиения текста на строки и последующей склейки.

Как модель научили понимать структуру документов

В новой версии OCR остаётся отдельным этапом, но сам пайплайн строится уже вокруг структуры документа.

По сути, перед нами стояла KIE-задача (Key Information Extraction) — нужно было по изображению документа извлекать ключевую информацию о людях и их ролях. Но довольно быстро стало понятно, что работать со страницей целиком не получится. Типичный архивный скан имеет размер больше 2500 пикселей по стороне, содержит сразу несколько записей, а суммарно в них может упоминаться до 35 человек. Такой объём информации слишком большой и для модели, и для обучения. Поэтому мы решили сначала находить на странице отдельные записи — о рождении, браке или смерти — а уже потом извлекать информацию о людях из каждой выделенной области.


Для этого используют дообученную VLM‑модель Alice AI. Она получает изображение записи вместе с текстом от OCR и извлекает из документа структуру и связи между людьми. Ключевая метрика — доля людей, которых затем можно корректно найти по ФИО в сервисе. По ней модель достигает качества 90,5% на всех типах архивных записей.

Как усовершенствовали OCR

Параллельно команда перешла от строкового OCR к блочному. Так удалось убрать целый этап сборки строк в блоки, сократить количество моделей в пайплайне и уменьшить объём дополнительного процессинга при обработке сканов.

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

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

После перехода на новый OCR-пайплайн recall распознавания вырос до 93,2% на основной выборке и до 88,1% — на сложной.

Детали реализации и сложные кейсы распознавания вы найдёте в полной версии статьи.

ML Underhood
1 438 просмотров · 26 реакций Открыть в Telegram · Открыть пост на сайте
Делимся интересным рассказом об эволюции Поиска по архивам — от классического OCR-пайплайна к системе, которая умеет извлекать структуру документов и понимать связи между людьми.

В посте кратко рассказываем, как команда проекта решала KIE-задачу, зачем понадобилась VLM-модель поверх OCR и почему пришлось перейти от строкового распознавания к блочному⬇️
1 188 просмотров · 14 реакций Открыть в Telegram · Открыть пост на сайте
BitDance: Scaling Autoregressive Generative Models with Binary Tokens [2/3]

Продолжаем разбирать работу ByteDance на тему авторегрессионной генерации изображений. В первой части рассказали, как авторы пытались увеличить размер кодбука и боролись с «коллапсом» с помощью lookup-free-квантизации.

Однако полечив одно, неизбежно столкнулись с другой проблемой: в авторегрессионных языковых моделях для предсказания очередного токена используют линейную классификационную голову, выходная размерность которой равна размеру словаря токенизатора. Чтобы применить такой способ к генерации картиночного токена, где размер кодбука VQ-VAE равен 2^D, нужно хранить в памяти матрицу размера h x 2^D, где h — размерность скрытого слоя трансформерного бэкбона. Для сколь-нибудь больших D и h порядка 10^3 это будет приводить к OOM.

Можно попробовать предположить независимость каждого из D каналов бинарного токена, как было сделано в Infinity — одной из прошлых работ ByteDance по авторегрессионной генерации. Это снизит рост матрицы головы с экспоненциального до линейного: теперь нам потребуется матрица размера h x 2D. Однако при таком предположении качество картиночной генерации заметно падает.

Именно в этом месте исследователям на помощь приходит диффузия. Для предсказания D-мерного бинарного токена (он же — вершина D-мерного куба) предлагают выучить отображение распределения гауссовского шума в вершины D-мерного куба при условии эмбеддинга z, для которого мы и предсказываем бинарный токен. Дизайн денойзера в статье особо не обсуждается и не проверяется: берут «небольшой» трансформер и обучают его по замшумлённому токену x_t, времени t и эмбеддингу z предсказывать x. Причём диффузионный лосс считают во flow-matching-формате, то есть предсказание сети перепараметризовывается в предсказание скорости. После финального шага диффузии от предсказания берётся знак. По сравнению с диффузией на стандартных VAE-латентах, значения которых никак не ограничены, такая жёсткая схема помогает избежать накопления ошибки, которое происходит как в самой диффузии, так и в итеративном авторегрессионном процессе, а также приводит к более быстрой сходимости обучения.

Наконец, авторы пытаются выжать максимум из предсказания картиночных токенов, переходя от потокенной генерации к параллельной генерации патчей из PxP токенов. Во-первых, это ускоряет процесс: предсказывать диффузией сразу целый патч оказывается эффективнее, чем генерировать токены по одному. Во-вторых, это лучше соответствует локальной структуре изображения. Во время генерации патча эмбеддингов LLM-бэкбон использует bidirectional-маску в аттеншне-механизме, тогда как для текстовых токенов остается каузальная. Это положительно влияет на качество генерации.

Так авторегрессия сохраняется на уровне патчей, а внутри патча используется диффузионная генерация.

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

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

Разбор подготовил ❣ Валерий Старцев
CV Time
1 423 просмотров · 14 реакций Открыть в Telegram · Открыть пост на сайте
BitDance: Scaling Autoregressive Generative Models with Binary Tokens [1/3]

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

За последний год ресерчеры из ByteDance подходили к этой задаче с разных сторон. В этот раз они попытались разработать produciton-scale t2i-модель, которая бы продуцировала картинки тем же образом, что и текст, а именно — авторегрессионно. Такой единообразный подход максимально удобен как во время обучения, так и на инференсе. Попробуем разобраться в особенностях модели BitDance и понять, действительно ли предложенная архитектура подходит для мультимодальной генерации.

Сначала в статье перечисляют проблемы AR-подходов в t2i-генерации, и основной называют дизайн картиночного токенизатора. В распространённых в сообществе VQ-VAE типа Cosmos картинки дискретизируются в кодбук на десятки тысяч токенов. Для изображений с их непрерывной структурой этого мало, поэтому реконструкция получается плохая.

Логично попробовать увеличить размер кодбука. Но при стандартном обучении возникает проблема codebook collapse: модель из-за особенностей оптимизационного процесса за время тренировки обучается использовать лишь небольшую часть токенов.

Побороть неприятный оптимизационный эффект помогает приём lookup-free-квантизации, предложенный в MAGVIT-v2. Вместо обучаемого кодбука используют неявный бинарный: каждый «пиксель» непрерывного выхода энкодера VAE просто поканально отображается в свой знак. Таким образом каждая spatial-координата латента может быть закодирована бинарным вектором размера D, где D — число каналов латента, то есть размерность кодбука становится равной 2^D. За счёт увеличения числа каналов D потенциально можно «раздувать» кодбук до огромных размеров и предположительно решить проблему качества реконструкций.

Однако при подсчёте энтропийного лосса на обучении VQ-VAE для элемента х приходится вычислять попарные расстояния с каждым элементом кодбука, что с ростом D делает такое обучение вычислительно невозможным. В решении этой проблемы авторы ссылаются на метод из своей прошлой статьи WeTok. Предлагается разбить каналы полученного латента на К непересекающихся групп, считать кросс-энтропийный лосс в рамках каждой группы независимо и затем суммировать.

В конце концов, этот набор трюков для обучения VQ-VAE позволяет масштабировать размеры кодбука вплоть до 2^256. И это положительно отражается на метриках реконструкций: для некторых вариантов бинарного токенизатора предложенной архитектруы получается добиться качества реконструкций по метрикам, сравнимого с непрерывным SDXL-VAE.

Но тут появляется другая проблема, о которой мы расскажем во второй части разбора.

Разбор подготовил ❣ Валерий Старцев
CV Time
1 521 просмотров · 20 реакций Открыть в Telegram · Открыть пост на сайте
SAM 3: Segment Anything with Concepts

Сегодня разберём статью, посвященную сегментации изображений по промптам. Кроме самого подхода к сегментации, авторы описывают сбор данных и добавление фичей, который не было в SAM 2.

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

Дальше подробнее о том, какие задачи имеются в виду.

1) Promptable Visual Segmentation (PVS). Промпт бывает нескольких видов:

- Геометрический — когда вы даёте точку на картинке и говорите: «Сегментируй объект в этой точке». Позволяет в интерактивном режиме точно и красиво определять маски. Другой вид геометрического промпта — бокс с указанием: «Вот тут какой-то объект, сегментируй его».

- Текстовый — например: «Сегментируй кошку на картинке».

- Визуальный — подаётся запрос: «Вот тебе картинка, обведи кошку», и модель должна выделить всех кошек на изображении. То есть можно передать ей сколько угодно изображений и получить сегментационную маску по этим референсам. В SAM 3 на эту задачу обращают особое внимание.

2) Promptable Concept Segmentation (PСS). Тут предлагают задавать более сложные запросы. Такие концепты в работе называют short noun phrase. Пишут, что PCS позволяет визуальным агентам лучше понимать изображение.

Всего этого авторы добиваются при помощи хитрых изменений SAM 2. Основные из них — введение concept detector (DETR-based) и object presence head, отвечающего за присутствие объекта на картинке.

Для обработки визуальных запросов берут картиночный энкодер, хорошо заалайненный с текстовым. Если в промпте есть картинка с боксом, её эмбедят при помощи этого энкодера (exemplar encoder). Для обработки текстов считаются text features. Все входы передаются в трансформер, а потом — в pixel decoder, который выдаёт маски, как в MaskFormer.

Самое интересное — presence token. Это отдельный обучаемый токен, который отвечает за то, есть ли объект на картинке. Дальше по DETR-логике: есть queries, из них декодируются маски с аттеншном на мультимодальные фичи, но их score дополнительно умножается на score presence token. И если объекта нет, то и score у всех масок становится близким к нулю, и они отбрасываются.

Как обычно, в такой задаче очень многое зависит от данных.

Авторы собирают пайплайн, в котором есть media pool (много картинок) и ontology (граф концептов из Wikipedia). Для каждой картинки добавляют концепты.

Сначала берут SAM 2 и open-world-детекторы, вроде OWL или YOLO-World. Этому пайплайну скармливают немного картинок, просят задетектить и затем найти все объекты. Так получают первый набор для датасета — несколько миллионов семплов. Дальше его рефайнят руками.

Затем берут media pool с концептами и обогащают извлечённые концепты. Предсказывают маски и отдают их разметчикам (людям и моделям). Если что-то не так, люди корректируют маски, причём обычно управляя изменениями при помощи SAM 2 (в качестве промпта используя точки). И снова тот же цикл: шаг обучения, шаг пересборки и обогащения.

AI-верифаеры решают две задачи:
- Mask Verification — корректна ли маска;
- Exhaustivity Verification — все ли объекты по промпту найдены.

Это важно, потому что VLM используется в дискриминативном режиме, то есть она просто говорит «ок / не ок». Также в процессе VLM дообучают на ответах людей-разметчиков.

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

В итоге такой пайплайн ускоряет сбор датасета примерно в два раза.

На LVIS — стандартном бенчмарке по детекции — качество выросло почти на 10%, что очень много.

На H200 GPU модель выдает 30 миллисекунд, при небольшом размере: где-то 1–1,5 млрд параметров. Кажется, что для модели такого размера можно было бы взять L40, но кто мы такие, чтобы мешать выпендриваться?

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

Разбор подготовил ❣ Илларион Дмитриев
CV Time
2 472 просмотров · 29 реакций Открыть в Telegram · Открыть пост на сайте