Concise Research
1.13K subscribers
242 photos
223 links
Исследования AI глазами исследователя
Автор: @snk4tr Сергей Кастрюлин
Download Telegram
ICLR’25 poster session 4

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

SANA: Efficient High-Resolution Text-to-Image Synthesis with Linear Diffusion Transformers

Одна из моих любимых работ прошлого года. По сути, это тех. репорт про первую text-to-image модель от Nvidia, в которой сделали ставку на скорость генерации и возможность делать 4к картинки «из коробки». Во время выхода я сделал фокус на Deep Compression Autoencoder (разбор), постер с которым будет завтра

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

Eliminating Oversaturation and Artifacts of High Guidance Scales in Diffusion Models

Делая Classifier-Free Guidance, мы комбинируем результаты conditional и uncodnditional генерации. Авторы замечают, что повышение значений CFG увеличивает амплитуду значений латентов, что вызывает широко известную проблему oversaturation. Поняв проблему, авторы предлагают алгебраическое решение - разложим разложим добавку на параллельную и ортогональную матрицы и проанализируем что они делают. Оказывается, что параллельная общего качества не добавляет и как раз, в основно, отвечает за oversaturation. Решение - элегантно выкинуть её и дело с концом. Также в работе предлагается небольшой тюнинг оставшейся добавки, но я не вникал, кажется не критично

Бедолагу у постера было даже чуть жалко. Метод так прост, что все врубались и уходили за пару минут и ему оставалось стоять в гордом одиночестве ☔️

Fluid: Scaling Autoregressive Text-to-image Generative Models with Continuous Tokens

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

Подтверждает, что основная интуиция проблем с токенизацией VQ-GAN компьютом не лечится: compression ratio такого кодирования слишком высок, из-за чего становится просто невозможным нормально реконструировать изображения. Это вносит ограничения на качество генерации. Также обсудили архитектурный момент с использованием линейной головы для диффузионного семплирования. На практике, есть смысл использовать голову побольше и мб даже сверточную (а-ля U-Net), но начинается размен скорости на качество. Касательно замеров в статье, просил на GenEval не смотреть потому что он слишком плохо коррелирует с реальностью 🫡

Revisiting text-to-image evaluation with Gecko: on metrics, prompts, and human rating

Аналитическая статья про метод и датасет для оценки качества сгенерированных картинок. Основной фокус делается на текстовой релевантности. Помимо side-by-side сравнений предлагается использовать разметку по отдельным словам и ответы на вопросы. Утверждается, что сам процесс разметки хорошо масштабируется через Gemini, а предложенный бенчмарк имеет иерархическую структуру и задачи разной сложности, что может быть интересно для эвала более мощных моделей.

Автор говорит, что они сами использовали этот бенчмарк для обучения своих text-to-image моделей. Ещё в их опыте релевантность почти всегда главная характеристика качества, хорошо коррелирующая с другими характеристиками, например эстетичностью. Звучит чуть необычно
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3🔥1
ICLR’25 poster session 5

Проснулись, потянулись, пошли читать новую порцию постеров

HART: Efficient Visual Generation with Hybrid Autoregressive Transformer

Развивают идею MAR в сторону ортогональную Fluid (см. обзор poster session 4). Вместо того чтобы полностью отказываться от дискретизации картинок, авторы предлагают учить residual добавку с дискретным токенам, которая будет помогать восстанавливать высокочастотные детали. Сама генеративная модель все еще предсказывает дискретные картиночные токены, которые далее доуточняются отдельной диффузионной головой.

У подхода есть плюсы и минусы относительно ветки развития Fluid. С одной стороны, диффузионное предсказание только residuals упрощает задачу и уменьшает компьют на её решение. С другой стороны, это не сильно важно из-за того что основная тяжесть инференса все равно лежит на авторегрессионном генераторе, при этом текущая схема инженерно сложнее

Deep Compression Autoencoder for Efficient High-Resolution Diffusion Models

Когда в первый раз увидел статью (разбор), мне было не понятно несколько технических моментов, которые теперь прояснились. Ниже Q&A с автором:

Q: почему не релизнули f16 версию модели?
A: потому что в голове держали диффузионные трансформеры, которые на входе бьют картинку на патчи размером 2х2, то есть уже делают как бы f2 даунскейлинг. Они же делали автоэнкодер для SANA где этот блок убрали, поэтому формально модель стала f16

Q: как поняли, что надо делать именно такие residual connections?
A: в статье на графике 2а показано как разменивая глубину на число каналов при сохранении числа вокселей падает качество. Это дало интуицию о том что проблема текущих архитектур, скорее всего, в оптимизации

Q: почему дообучали с GAN лоссом только верхний кусочек декодера?
A: потому что настрадались со стабилизацией обучения + относятся к адверсариальному лоссу как к способу улучшения прорисовки мелких деталей

Scaling Diffusion Language Models via Adaptation from Autoregressive Models

Внимание, статья не про картинки. Авторы задают простой вопрос: если мы хотим обучать дискретную диффузию для генерации текстов, полезно ли стартовать с LLM претрена? Трудно удивиться тому что да, полезно. Замеры показывают, что дообученная на диффузию модель все ещё проигрывает бейзлайну на некоторых бенчмарках, однако качество получается более-менее разумное

Зачем нужна диффузия для генерации текстов? Во-первых, она позволяет генерировать сразу много токенов за раз, что теоретически должно уменьшать test time compute. Во-вторых, полезно для задач планирования, когда нужно предсказывать не только следующий, но и некоторые промежуточные токены
👍51
ICLR’25 poster session 6

Заключительная постерная сессия этой конференции. На мой вкус самая слабая: большинство статей про очень небольшие трюки, несколько авторов не пришло, на месте одного из выбранных мной постеров вообще висела другая работа 😳 Тем не менее, пару прикольных статей найти удалось. Дальше воркшопы, писать о которых, скорее всего, не буду

HD-Painter: High-Resolution and Prompt-Faithful Text-Guided Image Inpainting with Diffusion Models

Plug and play улучшения картиночного инпейнтинга с обуславливанием на текст и маску. Предлагается:
1. Перевзвештвать self-attn между замаскированным и не замаскированным регионом. Интуиция в том что обычно фон тянет на себя слишком много внимания, такой небольшой трюк это лечит
2. Регулировать степень стохастичности во время семплирования. По сути, найти некий режим между DDPM и DDIM

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

Rare-to-Frequent: Unlocking Compositional Generation Power of Diffusion Models on Rare Concepts with LLM Guidance

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

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

Интересно можно ли так же делать с текстами на редких языках: семплировать несколько шагов на английском, а потом переходить, например, на русский
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🤔1
Как адаптировать LLM под генерацию картинок?

После того как мы поняли как интегрировать визуальную информацию в языковую модель (пост) и разобрали основные подходы для использования непрерывных представлений картинок такие как Fluid/UniFluid (ICLR’25 пост) и Transfusion (ICLR’25 пост + разбор), обсудим то как эффективно переиспользывать веса уже обученной LLM. Нашей целью будет получение максимального качества text-to-image (t2i) при минимальной потере качества text-to-text (t2t) генерации. Все это желательно за минимальное вычислительное время и без необходимости сильно тюнить гиперпараметры

Файнтюним предобученную LLM

В UniFluid так и делают, не приводя замеров того как падает t2t качество. В Transfusion учат модель с нуля на смешенных данных, но после разговора с автором (см. ICLR пост) стало понятно, что файнтюнить можно. Это более эффективно чем учить с нуля, но, к сожалению, для этого нужно аккуратно подбирать гиперпараметры: длительность файнтюна, оптимальное соотношение t2t и t2i данных, гиперпараметры обучения

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

LMFusion: Adapting Pretrained Language Models for Multimodal Generation

Работа развивает идею Transfusion и показывает как именно нужно допиливать предобученную LLM так чтобы не потерять качество t2t генерации. Файнтюном подход трудно назвать, поскольку на обучение LMFusion затрачивают ~50% костов претрена Transfusion, при этом качество t2i не портится и даже улучшается

Метод
▶️ Берём предобученную Llama-3 8B
▶️ Делаем полную копию весов, модифицируем self-attn так чтобы он был общим для обеих копий
▶️ Замораживаем текстовую часть, размораживаем картиночную
▶️Учим как Transfusion:
1️⃣Картинки нарезаем на кропы и переводим в латенты с помощью предобученного VAE
2️⃣ Латенты подаём в обучаемый эмбедер, переводящий латенты в размерности трансформера
3️⃣После прохода через трансформер, мапим полученные картиночные эмбединги в латенты и декодируем VAE
4️⃣Учим на взвешенную сумму авторегрессионного и диффузионного лоссов

А еще авторы пробуют использовать VLM (Llava) в качестве инициализации и это оказывается их лучшим подходом с точки зрения понимания и генерации картинок

X-Fusion: Introducing New Modality to Frozen Large Language Models

Чуть позже вышедшая статья с очень похожей идеей: давайте скопируем и заморозим веса LLM претрена, после чего разморозим и обучим один из них как Transfusion для генерации картинок. Отличие этой работы в том что они
▶️ Не делают shared self-attn между копиями весов и воспринимают их как полностью отдельные модели
▶️ Сравнивают разные варианты похожих схем инициализации и взаимодействия весов, то том числе вариант из LMFusion (называют его Dual Projection)

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

Опционально авторы предлагают X-Fuse layer — прогоняем текстовые токены не только через текстовые, но и через картиночные веса. Это замедляет работу, но немного улучшает качество в терминах FID
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥133👍1😁1
Fast Autoregressive Models for Continuous Latent Generation
[кода нет, весов тоже]

Выше мы разобрались как обучать LLM-like модели для мультимодальной генерации, теперь поговорим про инференс. Дело в том что все современные подходы так или иначе используют диффузию для генерации и/или семплирования картинок. При этом:
▶️В Transfusion (разбор), X-Fusion (разбор) и подобных семплированием занимается весь трансформер
▶️В MAR, Fluid (ICLR постер) и UniFluid (обзорный пост) за семплирование отвечает только отдельная диффузионная голова

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

В этой статье авторы показывают, что в ванильном MAR денойзинг занимает 63% общего компьюта на генерацию картинки. При этом, мы уже давно знаем как бороться с проблемами долгого инференса диффузии - например, с помощью consistency обучения или дистилляции. Весь пафос работы сводится к обучению головы на взвешенную сумму flow matching и consistency лоссов. Это позволяет сократить число шагов семплирования на инференсе со 100 до 8.

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

Во-первых, столь большая доля компьюта на семплинг получается из-за крошечного по современным меркам трансформера в MAR - всего ~600M параметров.

Во-вторых, всё это про генерацию в разрешении 256 и без обобщения на генерацию текстов.

В-третьих, авторы почему-то не выкладывают код/веса, хотя дифф относительно открытых артефактов MAR минимальный.

Также известно, что consistency дистилляция может давать более хорошие результаты чем обучение. Интересно будет посмотреть на первые дистиллы, когда они появятся
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥1
Не всё коту масленица

Недавние посты были посвящены MLLM через комбинирование авторегрессии (AR) и диффузии. Может показаться, что эта парадигма полностью универсальна и без своих минусов. Это не так. Уже понятны как минимум две потенциальные проблемы:
1️⃣Компьют.
Инференс таких моделей из коробки дороже чем у традиционных диффузионок, а их за не эффективность не пнул только ленивый
2️⃣Exposure bias.
Разница на входе модели между реальными данными на обучении и синтетикой на инференсе создаёт сдвиг распределений

Проблему эффективности уже немного обсудили на примере статьи FAR постом выше.

Проблема exposure bias же давно известна как в AR, так и в диффузионных моделях, но имеет разный эффект:
➡️AR в основном применяется на текстах, а в этом домене предсказанные моделью эмбеды всегда дискретизуются в токены. Дискретизация сглаживает мелкие ошибки в предсказании эмбедов и для современных моделей exposure bias - не большая проблема
➡️В диффузии ошибка накапливается по шагам семплирования. Борьбу с ними мы обсуждали выше (раз, два). Сейчас нам важно, что простейший метод борьбы - просто дополнительно шумить входы модели во время обучения. Такая аугментация сглаживает ошибки и увеличивает робастность

Теперь две работы, которые борются с exposure bias в MLLM

Beyond Next-Token: Next-X Prediction for Autoregressive Visual Generation
[код и веса]

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

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

Nexus-Gen: A Unified Model for Image Understanding, Generation, and Editing
[кода/весов нет, но обещают]

Метод в этой статье еще проще. Утверждение такое: мы же можем нормально сгенерировать эмбединг самого первого патча чисто из текстового контекста - значит и второй и все последующие сможем. Тогда давайте их просто маскировать. Уйдет источник сдвига (ошибки в предсказаниях) - уйдёт и сдвиг ☕️

А вообще, это тех. репорт про новую мультимодалку на основе Qwen2.5-VL от Alibaba с описанием данных, архитектуры и стратегии обучения, но novelty тут именно в простом хаке для борьбы с exposure bias
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥21
Forwarded from CV Time
Yandex Alchemist: открытый датасет для буста text-to-image генерации

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

Команда YandexART тоже занималась этой задачей, и сегодня мы делимся результатами своей работы — датасетом Alchemist. Он состоит из 3 350 пар «картинка-текст» и имеет лицензию Apache 2.0, пользуйтесь.

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

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

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

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

В итоге нам пришлось придумать свой метод, суть которого в следующем.

1. Возьмём 1000 картинок из наших 300 млн и разметим на условно плохие (LQ) и хорошие (HQ). Хорошими будем считать те, у которых высокие эстетичность и техническое качество, умеренная наполненность контентом.
2. Смастерим общий промт, который будет содержать перечисление желаемых характеристик: “aesthetic”, “high quality” и т. д.
3. Дальше будем брать LQ- и HQ-картинки, зашумлять их до какого-то t, подавать в нашу предобученую диффузионку вместе с промтом и смотреть, что происходит со значениями в cross-attention.

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

Дальше осталось сделать тексты — исходные из интернета могут быть ошибочны, содержать лишнюю или упускать нужную информацию. Наше наблюдение: лучше всего работают умеренно подробные промты, похожие на те, которые пишет скорее увлечённый пользователь, чем профессиональный промпт-инженер. YandexVLM как раз умеет подстраиваться под нужный формат. С её помощью мы сгенерировали тексты для каждой картинки, получив датасет Alchemist.

Чтобы убедиться в обобщаемости датасета и метода, мы сделали и выложили файнтюны SD 1.5, SD 2.1, SDXL-base 1.0, SD 3.5 Medium и Large. У всех файнтюнов растёт эстетичность и наполненность генераций, которую мы называем “image complexity”. Подробнее о методике и экспериментах читайте в препринте.

Статью подготовили Валерий Старцев, Александр Устюжанин, Алексей Кириллов, Дмитрий Баранчук, Сергей Кастрюлин

CV Time
___
Meta признана экстремистской организацией, а Facebook и Instagram запрещены на территории РФ
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24
DiSA: Diffusion Step Annealing in Autoregressive Image Generation
[есть код и веса]

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

- Первый патч авторегрессионно сгенерировать сложно. У его предсказаний самая высокая дисперсия. Поэтому его семплим как MAR (50-100 шагов диффузионной головой)

- Второй и последующие сгенерированный патчи в этом смысле проще, можно сократить число шагов вплоть до 5

Сколько шагов денойзинга нужно на каждый патч подбираем эмпирически так чтобы не просаживать качество. На MAR и Harmon ускорение 1.4 - 2.5×

По духу работа напоминает Your Student is Better Than Expected, только там использовали малошагового студента для генерации простых семплов в чисто диффузионной t2i генерации
👍3🔥1
Forwarded from CV Time
Improving the Diffusability of Autoencoders

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

В латентных диффузионных моделях (например, Stable Diffusion) генерация происходит не в пикселях, а в сжатом представлении. Это ускоряет обучение, но вводит зависимость от свойств автоэнкодера. Обычно смотрят только на качество реконструкции: насколько хорошо декодер восстанавливает изображение. Но есть вторая характеристика — diffusability, и именно её авторы рассматривают в этой работе.

Что такое diffusability и почему это важно

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

Авторы смотрят на латенты от обычных автоэнкодеров и замечают, что они визуально шумные: в них много высокочастотных деталей, особенно в фоне. Чтобы разобраться, применяют дискретное косинусное преобразование (DCT), как в JPEG. Разбивают картинку или латент на блоки 8×8, считают DCT по каждому из них, усредняют спектры и строят частотный профиль.

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

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

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

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

Эксперименты

Метод протестировали на ImageNet-1K (изображения) и Kinetics-700 (видео). Сравнивали обучение диффузионной модели на обычных и исправленных латентах.

В статье diffusability измеряют через скорость обучения: берут автоэнкодер, обучают на нём диффузионную модель и смотрят, насколько быстро растёт метрика качества (например, FID для изображений и FVD для видео). Сравнивались базовые модели и те же архитектуры, но обученные на автоэнкодерах с исходным и улучшенным diffusability. Оказалось, что последние учатся быстрее и дают лучшее финальное качество.

Результаты:
— генерация изображений: FID улучшился на 19%;
— генерация видео: FVD улучшился на 44%;
— модели обучаются быстрее;
— PSNR немного растёт (за счёт блюра), но визуально картинки выглядят нормально.

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

В целом статья посвящена довольно локальной проблеме, но в ней есть понятная идея и измеримый эффект.

Разбор подготовил Сергей Кастрюлин
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2
Are Unified Vision-Language Models Necessary: Generalization Across Understanding and Generation
[кода/весов нет и не надо]

В последнее время выходит много работ про объединение image understanding и image generation моделей с гордым названием MLLM. Большинство из них про архитектуру и оптимизацию процесса обучения. Это, конечно, всё интересно, но возникает вопрос - а правда ли, что унифицированная модель будет лучше, чем understanding и generation модели по отдельности?

В 2017 👴 в CV профит от унификации детекции и сегментации показала работа MaskRCNN. Теперь настал черёд VLM и диффузии

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

1️⃣Understanding и generation действительно помогают друг другу, в том числе при масштабировании размеров датасета
2️⃣Хорошее соответствие между входным и выходным представлением для изображений помогает. Это объясняет почему, например, в UniFluid, Janus-Pro, BAGEL и многих других моделях используют два картиночных энкодера
3️⃣Знания полученные при обучении генерации помогают в понимании картинок

В статье много любопытных деталей, вот некоторые из них:
▶️Пункт 2️⃣ подтверждают тем что делают случайное аффинное преобразование после энкодера и показывают, что это никак не мешает выучить модели understanding, но generation в итоге работает хуже
▶️ Для 3️⃣ конструируют сетап в котором модель просто не видела некоторые данные в обучении задаче understanding, но видела в generation. В итоге на инференсе она правильно отвечает на вопросы

В конце есть небольшая секция про обучение LLAVA в сетапе Janus, которая явно для галочки, её не стоит воспринимать всерьез. В целом, работа очень достойная с грамотным дизайном гипотез и экспериментов, советую к ознакомлению
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍3🔥2
A Comprehensive Study of Decoder-Only LLMs for Text-to-Image Generation

В области text-to-image генерации давно стоит вопрос: какой текстовый энкодер использовать лучше? Сейчас каждый делает на свой лад: кто-то по инерции использует CLIP и T5 (как в DALL-E и Imagen), кто-то переходит на LLM decoder-only трансформеры (Lumina, SANA) без особой экспериментальной аргументации

В этой работе авторы:
▶️Берут 12 текстовых энкодеров, включая CLIP, T5, Mistral разных размеров + instruct версию, Gemma и Qwen, а также эмбедеры на их основе
▶️Учат 27 SDv2-like диффузионок к U-Net архитектурой на семпле 46М из LAION-Aesthetics
▶️Замеряют результаты на GenAI-Bench — это такой набор 1,600 очень подробных промтов, после генераций по которым VLM оценивает навыки генератора

Для контекста важно вспомнить, что для использования CLIP и T5 обычно берут эмбединг их последнего слоя. Ранние работы по использованию LMок для диффузии делали также

Итак, что удалось выяснить:
▶️У LLMок эмбед последнего слоя плохой из-за оверфита под задачу предсказания последнего токена. Эмбеды средних слоёв существенно информативнее и дают лучшее качество обученной с их использованием диффузии
▶️Если комбинировать несколько средних слоёв, то это ещё сильнее бустит качество и позволяет обгонять T5 и CLIP
▶️Выходы моделей-эмбедеров бывают разного качества: bge-Gemma2 — крутая, остальные рассмотренные — не очень. По умолчанию лучше использовать обычные LMки
▶️Для моделей-эмбедеров тоже можно комбинировать несколько средних слоёв, это тоже улучшает качество
▶️Модели большего размера (7B или 9B против 1.5B или 2B) работают лучше, но буст не драматический

А еще авторы говорят, что было бы классно комбинировать представления эмбедеров и обычных LM’ок для дальнейшего улучшения качества, но оставляют верификацию этого на future work

В статье очень мало картинок, но те что есть показывают, что модели на основе правильно использованных представлений LMок лучше справляются с учётом мелких деталей промтов и отрицаниями
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥102
Короткие разборы

Когда я только задумывал канал, в голове представлялся формат — ёмкие разборы длиной в абзац, описывающие только суть. Меня самого привлекает максимальная плотность информации, потому что читаю много и расписывать всё нет времени. Во время ICLR’25 (серия постов) вам такое заходило. Давайте пробовать еще раз (но уже без фотографий постеров 😫)

1. Ambient Diffusion Omni:
Training Good Models with Bad Data

Замечают, что при высоких уровнях шума, картинки разного технического качества выглядят одинаково. Это наблюдение помогает улучшить качество диффузионного претрена. Для этого IQA классификатором оценивают качество картинок прямо во время обучения. Если картинка хорошая - семплим как обычно шум равномерно на отрезке [0, 1]. Если картинка плохая - только на некотором отрезке [t_min, 1], где t_min - параметр, подбираемый экспериментально (на глазок или учим классификатор)

2. Angle Domain Guidance: Latent Diffusion Requires Rotation Rather Than
Extrapolation

Очень похожа на Adaptive Projected Guidance (APG), где гайденс раскладывали на линейную комбинацию скор функций и выкидывали компоненту параллельную conditional генерации, оставляя только ортогональную. Авторы говорят, что предположение линейности может плохо работать при высоких значениях guidance scale и может в целом ограничивать качество. Вместо стандартной CFG добавки, увеличивающей нормы, предлагается вращать и далее комбинировать матрицы cond и uncond генераций

3. Decouple-Then-Merge: Finetune Diffusion Models as Multi-Task Learning
Во время обучения диффузии, градиенты модели на разных t отличаются. Предполагается, что это может мешать оптимизации. Предлагается делать следующую процедуру SFT:
- Берем претрен
- Берем наш диапазон t in [0, 1] и разбираем на N не пересекающихся отрезков
- Учим N файнтюнов, каждый на своем отрезке t
- Используем несколько техник (Consistency, Probabilistic sampling, Channel-wise projection) чтобы каждый файнтюн совсем уж не забыл про другие t
- После обучения мерджим веса файнтюнов

4. Advancing Compositional Awareness in CLIP with Efficient Fine-Tuning
Год назад был предложен SUGARCREPE++ Dataset, на котором в том числе показали, что CLIP-like модели плохо понимают отношения между объектами в промте. В этой работе предлагается:
- Собирать синтетический датасета негативных примеров из уже существующего путём комбинации кусочков промтов
- Учить CLIP с доп компонентами в лоссе про то чтобы форсить акцент на эти негативные примеры
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3
Масштабирование и байесы

Для диффузионок и не только

1. Cost-Aware Routing for Efficient Text-To-Image Generation
Авторы говорят, что промты бывают разной сложности. Более сложные промты могут потребовать больше шагов семплирования для получения качественных генераций. Давайте учить классификатор сложности промтов параллельно с диффузионкой. На инференсе подберем число шагов для каждого уровня сложности так чтоб сбалансировать компьют и качество

2. Scaling Inference Time Compute for Diffusion Models
Обычно в диффузии масштабирование компьюта на инференса происходит только за счет подбора числа шагов семплирования, но качество довольно быстро насыщается. Что делать если хочется потратить больше ресурсов для получения топ картинки? Авторы предлагаю помимо прочего перебирать еще и подаваемый для генерации шум (как стартовый, так и промежуточный), а также изучают сами стратегии перебора. Качество генераций валидируют стандартными метриками и VLMкой

3. Scaling Diffusion Transformers Efficiently via μP
Показывают, что стандартный μP обобщается и на диффузионные трансформеры. За счет этого, в среднем, получают единицы процентов буста скорости обучения отмасштабированных моделей. В одном случае (DiT-XL-2) обучение ускоряется в разы. Все замеры на FID-50k

4. Why Does ChatGPT “Delve” So Much? Exploring the Sources of Lexical Overrepresentation in Large Language Models
Тест на внимательность и то читают ли посты до конца ☕️ Чуть мемный анализ того почему языковые модели склонны генерить слова из старого английского. В том что они точно склонны сомнений нет: частота появления в публикациях слов вроде delve, intricate и aligns экспоненциально выросла с появлением LLM. Гипотеза о том что модели учились на старых или очень научных текстах не подтверждается, да и в целом у авторов нет однозначного объяснения. Основное подозрение падает на RLHF, но его трудно подтвердить из-за того что многие детали этого процесса для проприетарных моделей закрыты
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Why Is Spatial Reasoning Hard for VLMs? An Attention Mechanism Perspective on Focus Areas

Есть такая область — Mechanistic Interpretability, это когда в DL системах находят какую-то проблему и пытаются найти ей объяснение через баги внутри состояний модели (веса, активации, градиенты)

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

Для эксперимента провели следующий анализ:
- Берем VLM и просим её описать как один объект расположен односительно другого на картинке (left, behind, etc.)
- С помощью YOLO детектируем область, которая должна отвечать за правильный ответ
- Смотрим насколько локализация аттеншена совпадает с областью из YOLO в случае правильных и не правильных ответов

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

Чинить оба эти сценария предлагается шатанием температуры:
- В случае высокой уверенности, увеличиваем температуру, помогая модели лучше локализовать предсказания
- В случае низкой уверенности, уменьшаем температуру, помогая ей чуть лучше “посмотреть в окрестности”

Эксперименты проводят над LLaVA 1.5 на датасетах WhatsUp и VSR, которые содержат пары <картинка, текст>. Для генерации вопросов к картинке используют GPT-4o. Также используют синтетические датасеты Control A и Control B. В ходе эксперментов температуру перебирают по сетке с целью максимально поднять точность предсказаний. Метод существенно бустит качество, особенно на синтетике
🔥10👍2