CV Time
3.47K subscribers
270 photos
6 videos
148 links
Канал о компьютерном зрении от ml-специалистов Яндекса: разбор актуальных статей, горячие обсуждения и личный опыт из первых рук. Присоединяйтесь!

Вопросы и предложения > @yandex_ml_brand
Download 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
🔥14❤8💯4😁2🤝2❤‍🔥1👍1
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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤‍🔥9❤4👏2👍1🥰1
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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6❤‍🔥6👍4🔥3🎉3👏1
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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍6🎉4🔥2👌1
Четыре способа испортить предсказание диффузионной модели

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

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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍7❤‍🔥4🔥4👏2
Denoising, Fast and Slow: Difficulty-Aware Adaptive Sampling for Image Generation

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

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

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

Чтобы уменьшить этот эффект, авторы предлагают LTG timestep sampler. Вместо независимого семплирования сначала выбирается максимальный таймстеп для всего изображения, а уже относительно него — таймстеп отдельных патчей. В статье t = 0 соответствует чистому шуму, а t = 1 — данным, поэтому больший таймстеп означает более чистый патч. Таким образом ограничивают количество чистой информации, которую модель видит на конкретном обучающем примере. Причём уже сам переход от одного таймстепа на изображение к patch-level-таймстепам с таким семплированием улучшает генерацию.

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

Вместе обучение с patch-level-таймстепами и оценка сложности образуют Patch Forcing. Для его применения модель нужно обучить или дообучить с поддержкой разных таймстепов у патчей и головой сложности. Для такой модели авторы предлагают два адаптивных семплера.

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

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

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

Разбор подготовил ❣ Максим Банцевич
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍6❤3👏2🎉2❤‍🔥1
AgentSynth: Scalable Task Generation for Generalist Computer-Use Agents

Сегодня разбираем статью о генерации данных для computer-use-агентов, которые умеют «тыкать кнопки» в графическом интерфейсе. Чтобы обучать такие модели, как на стадии cold star, так и на стадии RLVR, нужен датасет исходных задач, по которым будут генерироваться траектории для cold start и роллауты для RLVR. Соответственно, встаёт задача генерации задач. Статья предлагает одно из возможных решений.

Авторы начинают с обзора разных способов генерации данных. Отдельно останавливаются на средах, таких как WebArena, OSWorld, WindowsArena и других. В работе концентрируются на OSWorld, так как она предназначена для десктопа, имеет браузер, то есть может работать в вебе.

Что заявляют в основных результатах:

• Сделали пайплайн генерации исходных задач для OSWorld — причём достаточно сложных и разнообразных.
• За счёт пошаговой генерации могут добиться большей сложности задач, чем при генерации задачи за один шаг.
• На основе сгенерированных данных построили бенчмарк.

Пайплайн генерации состоит из нескольких агентов, которые реализованы одной и той же LLM (брали GPT-4.1), но с разным системным промптом (см. скриншот 1).

1. Чтобы получить более разнообразные задачи, используют датасет PersonaHub, где описаны разные люди, их социальное положение и другая информация. Task-proposal получает эту информацию вместе с промптом и генерирует исходную задачу.

2. Задача отправляется в task-executor, который по шагам выполняет её. Агент видит задачу и предыдущее действие, и на основе этого генерирует следующее. Таким образом создаётся траектория.

3. Task-verifier смотрит, выполнил ли task-executor задачу полностью. Если выполнил — переходим к дальнейшим шагам. Если нет, task-verifier оценивает, до какого шага она выполнена, и передает эту информацию дальше.

4. Задача может быть либо невыполнимой в принципе, либо слишком сложной для агента. Task-reviser переформулирует её так, чтобы она стала выполнимой. То есть фактически подстраивает под уже сгенерированную траекторию.

5. Сделанная валидной задача или изначально валидно сгенерированная отправляется в follow-up task proposal, который её усложняет.

6. Task-summarizer переформулирует последовательность всё более усложняющихся задач от самой простой до текущей в единую задачу. В работе делали шесть тёрнов усложнения, соответственно, в датасете получаются задачи шести уровней сложности.

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

1) разрешимость и реалистичность — можно ли решить эту задачу стандартными тулами;

2) когерентность — каждая последующая подзадача логически следует из предыдущей;

3) релевантность персоне;

4) точность верификатора — насколько правильно он определяет, решена ли задача.

Отдельно авторы рассматривают калибровку верификатора. Приходят к выводу, что он сохраняет точность для разных уровней сложности (см. скриншот 2).

В одном из экспериментов пытались «сломать» верификатор. Для этого брали проверенные траектории и делали два типа изменений: 1) немного и незаметно меняли цель в задаче таким образом, чтобы траектория переставала решать эту задачу; 2) меняли UI, но так чтобы вердикт оставался прежним. В первом случае, где все задачи должны были детектиться как fail, 12% определялись как success — не так уж мало, но в целом приемлемо. Во втором случае 94% случаев верно расценивались как успех.

Сделали оценку на моделях GPT-4o-mini и Gemini и Claude Sonnet. Брали по 50 задач каждого уровня сложности и сравнивали с человеческой разметкой. Лучшие результаты получили у Claude Sonnet и GPT-4o-mini.

Также проанализировали частые ошибки. В их числе неточный клик мышки, клик в другой элемент, а также “lack of recovery from error” — когда после мисклика модель зацикливается.

Разбор подготовил ❣ Александр Шишеня
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🎉5🔥3🤩1👌1💯1
Perception or Reasoning? Diagnosing and Tackling Reinforcement Learning Bottlenecks in VLMs

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

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

Чтобы разделить эти случаи, предлагают PARA — метод оценки perception и reasoning headroom, то есть доли ошибок, которые можно исправить улучшением соответствующей способности.

Для этого используют две сильные референсные модели — Claude Opus 4.8 и GPT-5.6-Luna — и проводят два эксперимента:

• Perception Intervention. Сильная модель подробно описывает изображение, а исходная VLM повторно решает задачу с этим описанием (отдельно или вместе с оригинальной картинкой).

• Reasoning Intervention. Исходная VLM описывает изображение, а сильная модель решает задачу только по описанию. Дополнительно проверяют, что референсная модель сама способна решить задачу по оригинальному изображению.

Важный момент — PARA оценивают всего на 200 примерах каждого бенчмарка из-за вычислительных ограничений. Как конкретно отбирали эти примеры, описано в статье.

При этом набор бенчмарков интересный: BLINK, PerceptionBench, VisNumBench, HallusionBench, LogicVista, MathVista, MathVerse и другие — всего 17. Оказывается, боттлнек зависит от конкретной модели: так, на MME у Qwen преобладает reasoning headroom, а у Gemma — perception.

Дальше авторы показывают, что обычный RL лучше использует reasoning headroom. Прирост от RL снижается, когда больше ошибок исправимо улучшением perception, и растёт, когда преобладают боттелнеки в ризонинге.

Авторы связывают это с тем, что награда за итоговый результат не различает ошибки восприятия и рассуждения. А методы вроде Vision-SR1 и VPPO влияют на визуальное внимание лишь косвенно, через изменение advantage и градиентов по логитам выходных токенов.

Чинить это предлагают с помощью GRAD — Group-Relative Attention Distillation.

В OPAD неуспешный роллаут отталкивается от своего предыдущего аттеншна. Но ведь модель могла правильно посмотреть на изображение и ошибиться уже в ризонинге!

GRAD вместо этого заставляет роллауты с отрицательным advantage перенимать визуальный аттеншн лучшего роллаута из той же группы. Чем хуже роллаут, тем сильнее дистилляция. Внешний учитель и дополнительные аннотации не нужны.

В результате GRAD улучшает средний score относительно GRPO на +2,9/2,5 пункта усреднённой метрики для Qwen3-VL-2B/4B и превосходит Vision-SR1, VPPO и OPAD по среднему результату. Perception headroom снижается на пять из семи бенчмарков против двух у GRPO.

Если выбирать случайный роллаут вместо лучшего, Avg. падает с 49,4 до 45,5 — даже ниже GRPO. Лучше всего работает supervision только последнего слоя декодера с λ = 1.

Что вызывает вопросы

Лучший по реворду роллаут необязательно обладает лучшим визуальным аттеншном — правильный ответ может получиться благодаря ризонингу или случайной догадке. Кроме того, снижение PH после обучения может объясняться изменением состава оставшихся ошибок, а не только улучшением perception.

Самое интересное в работе — использование собственных успешных роллаутов модели как источника supervision для визуального восприятия. Более общий вывод: научить VLM правильно отвечать и научить её действительно лучше воспринимать изображения — не одно и то же.

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

Разбор подготовила ❣ Арина Гертель
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤14👍7💘3
Qwen-Image-2.1: Compact, Efficient, and Unified Image Creation

Сегодня разбираем блогпост Qwen об их свежей модели. Главное архитектурное изменение — сокращение числа параметров генератора с 20B до 7B (модель стала ощутимо компактнее) и переход на single-stream DiT (в прошлой версии использовали MMDiT).

Судя по опубликованным в посте картинкам, модель хороша в работе с реалистичными деталями и лицами, а по впечатлениям инженеров из команды YandexART, стиль местами напоминает GPT. Модель уже успели протестировать внутри — и получили неоднородные результаты по разным задачам, например, эдитинг выглядит действительно хорошо, а text-to-image пока проседает.

У модели появились интересные новые возможности. Например, она научилась работать с несколькими изображениями (авторы заявляют до десяти референсов за раз!) — и при этом поддерживать их редактирование.

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

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

Самое интересное — маска аттеншна. Текстовые токены используют causal attention, при котором токен видит только себя и предыдущие. Внутри каждого изображения используется full attention, а токены этого изображения видят все предыдущие, но не последующие. Поэтому таргет видит весь кондишен, а кондишен не зависит от таргета.

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

• для кондишена модель использует эмбеддинг нулевого шага,

• для таргета использует эмбеддинг текущего шага диффузии.

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

Результаты

Отдельно удалось поэкспериментировать с влиянием кэша на скорость.

В проведённых внутри Яндекса замерах на коротком кондишене full attention оказался быстрее block-causal-варианта и варианта с KV-кэшем. Скорее всего, так происходит из-за дополнительных расходов на kernel-вызовы.

Но с ростом длины кондишена выигрыш от кэша увеличивается. В отдельном end-to-end-замере на Qwen полная генерация заняла 6 секунд без кэша и 3 секунды с ним. Картинки при этом получились одинаковыми.

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

Есть соображение, что KV-кэш ускоряет не только генерацию в проде — он может пригодиться и там, где много раз запускается модель-учитель, например, при дистилляции и RL.

Авторы также выложили веса Qwen-Image-2.1.

Разбор подготовил ❣ Лавр Плисковский
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤5🔥4👌3🎉1