VIBE: Visual Instruction Based Editor [1/2]
Сегодня приступим к разбору статьи об эдитинг-модели от коллег из Сбера. Вторая часть уже опубликована в канале @c_research, который ведёт Сергей Кастрюлин из Yandex Research.
Ключевая цель авторов — сделать небольшую и эффективную модель, которая будет быстро инфериться, дёшево учиться и решать задачу instruction-based image editing. То есть выполнять только указанное в инструкции действие (например, добавить шарф), не делая ничего лишнего (не меняя цвет лица, фон и так далее).
Модель выложена в опенсорс. Она быстрая и при этом действительно компактная, поскольку основана на эффективных базовых блоках — Qwen3-VL-2B-Instruct в качестве текстово-картиночного энкодера и Sana-1.5-1.6B в качестве диффузионного генератора.
Что касается качества генерации, мы провели внутренние замеры, по которым VIBE показала качество примерно на уровне опенсорсной Bagel.
Архитектура
Самое интересное в статье — это внутреннее устройство и обучение системы. Архитектура состоит из двух блоков:
- небольшой энкодер — Qwen3-VL на 2 миллиарда параметров;
- базовая диффузионка — Sana 1.5 на 1,6 миллиарда параметров.
Напомним, что Sana 1.5 — это работа Nvidia начала прошлого года, где авторы пытаются максимально дёшево обучить быструю диффузионку разумного качества. Нам она запомнилась стратегией переиспользования ранее обученной Sana 1 и тем, как реализован inference-time compute scaling. Авторы генерируют очень много изображений (до 2000 за время обычной генерации), после чего VLM выбирает лучшие — таким образом они «хакают» бенчмарки.
Как всё работает
1) VLM обрабатывает входное изображение и промпт. Это стандартная практика, но авторы отдельно подчёркивают, что считают важным выучивание связи между картинкой и промптом именно внутри VLM.
2) Отдельно для подачи в VLM обучаются MetaQueries — полезные добавки-суффиксы к исходному промпту, обогащающие входное представление без модификации весов VLM.
3) Для задачи редактирования в диффузионку важно как-то подать текстовый кондишен. В работе рассматриваются два способа.
Первый — трансформерный: изображение разбивается на патчи, получаются картиночные эмбеддинги, которые конкатенируются с текстовыми и подаются одной последовательностью.
Второй — более классический: поканальная конкатенация. Кондишен-картинка конкатенируется с шумом, из которого генерируется изображение. После этого всё подаётся в свёрточный слой увеличенной размерности.
С одной стороны, авторы пишут, что вариант с единой последовательностью работает лучше. Такой вывод не вызывает удивление, поскольку возможность одинаково обрабатывать картинки и тексты на входе — очень полезная фишка трансформерных моделей. Но в финальной системе авторы используют именно конкатенацию, потому что она не увеличивает длину последовательности и экономит время инференса.
То есть, имея диффузионный трансформер, авторы всё равно делают поканальную конкатенацию со свёрткой, а затем работают с патч-эмбеддингами свёрточных представлений. Это решение — довольно нестандартное.
Во второй части разобрали, как устроено обучение модели, зачем используются Meta Queries и какие данные применяются для тренировки.
Разбор подготовил❣ Сергей Кастрюлин
CV Time
Сегодня приступим к разбору статьи об эдитинг-модели от коллег из Сбера. Вторая часть уже опубликована в канале @c_research, который ведёт Сергей Кастрюлин из Yandex Research.
Ключевая цель авторов — сделать небольшую и эффективную модель, которая будет быстро инфериться, дёшево учиться и решать задачу instruction-based image editing. То есть выполнять только указанное в инструкции действие (например, добавить шарф), не делая ничего лишнего (не меняя цвет лица, фон и так далее).
Модель выложена в опенсорс. Она быстрая и при этом действительно компактная, поскольку основана на эффективных базовых блоках — Qwen3-VL-2B-Instruct в качестве текстово-картиночного энкодера и Sana-1.5-1.6B в качестве диффузионного генератора.
Что касается качества генерации, мы провели внутренние замеры, по которым VIBE показала качество примерно на уровне опенсорсной Bagel.
Архитектура
Самое интересное в статье — это внутреннее устройство и обучение системы. Архитектура состоит из двух блоков:
- небольшой энкодер — Qwen3-VL на 2 миллиарда параметров;
- базовая диффузионка — Sana 1.5 на 1,6 миллиарда параметров.
Напомним, что Sana 1.5 — это работа Nvidia начала прошлого года, где авторы пытаются максимально дёшево обучить быструю диффузионку разумного качества. Нам она запомнилась стратегией переиспользования ранее обученной Sana 1 и тем, как реализован inference-time compute scaling. Авторы генерируют очень много изображений (до 2000 за время обычной генерации), после чего VLM выбирает лучшие — таким образом они «хакают» бенчмарки.
Как всё работает
1) VLM обрабатывает входное изображение и промпт. Это стандартная практика, но авторы отдельно подчёркивают, что считают важным выучивание связи между картинкой и промптом именно внутри VLM.
2) Отдельно для подачи в VLM обучаются MetaQueries — полезные добавки-суффиксы к исходному промпту, обогащающие входное представление без модификации весов VLM.
3) Для задачи редактирования в диффузионку важно как-то подать текстовый кондишен. В работе рассматриваются два способа.
Первый — трансформерный: изображение разбивается на патчи, получаются картиночные эмбеддинги, которые конкатенируются с текстовыми и подаются одной последовательностью.
Второй — более классический: поканальная конкатенация. Кондишен-картинка конкатенируется с шумом, из которого генерируется изображение. После этого всё подаётся в свёрточный слой увеличенной размерности.
С одной стороны, авторы пишут, что вариант с единой последовательностью работает лучше. Такой вывод не вызывает удивление, поскольку возможность одинаково обрабатывать картинки и тексты на входе — очень полезная фишка трансформерных моделей. Но в финальной системе авторы используют именно конкатенацию, потому что она не увеличивает длину последовательности и экономит время инференса.
То есть, имея диффузионный трансформер, авторы всё равно делают поканальную конкатенацию со свёрткой, а затем работают с патч-эмбеддингами свёрточных представлений. Это решение — довольно нестандартное.
Во второй части разобрали, как устроено обучение модели, зачем используются Meta Queries и какие данные применяются для тренировки.
Разбор подготовил
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤6👍6👌2
Enabling Disaggregated Multi-Stage MLLM Inference via GPU-Internal Scheduling and Resource Sharing
Сегодня разбираем статью, о том, как ускорить мультимодальный инференс, особенно когда на вход подаётся длинное видео.
Проблема складывается из нескольких факторов. MLLM становятся всё популярнее, мы хотим обрабатывать текст, картинки, видео, — но сервинг таких моделей очень дорогой. Нужно одновременно хорошо утилизировать GPU и быстро отдавать пользователю ответ. А с видео всё становится ещё хуже — препроцессинг долгий, особенно для длинных роликов. В итоге страдают TTFT (time to first token) и TBT (time between tokens).
Если в обычных LLM у нас есть prefill и decode, то в MLLM добавляются ещё две тяжёлые стадии до генерации:
- decoding видео и изображений,
- vision encoding (ViT / SigLip).
Отсюда две ключевые проблемы.
1) Видеодекодирование сильно увеличивает TTFT. CPU-декодинг плохо масштабируется, а GPU-декодеры обычно оптимизированы под throughput, а не под latency одного запроса, нам важно чтобы пользователь быстро получил ответ на свой запрос.
2) Vision encoder. Это отдельная compute-heavy-стадия, которая конкурирует за GPU с decode-частью и из-за этого увеличивается TBT. Просто вставить её в обычный пайплайн нельзя, так как начинаются конфликты за ресурсы.
В статье авторы по очереди решают эти проблемы.
FlashCodec
Главная идея — распараллелить одно видео на несколько GPU, а не просто обрабатывать разные видео параллельно. Видео хранится не как набор независимых кадров, а как compressed bitstream, разбитый на GOPs (Group of Pictures). Внутри такой группы кадры зависят друг от друга, но сами они между собой независимы.
Отсюда решение FlashCodec: видео делим на GOPs, распределяем их по GPU, внутри группы картинок декодируем последовательно, а между ними получаем параллелизм.
Дополнительно вводят stall-free scheduling — видео больше не рассматривается как одна задача. Планирование идёт на уровне GOP, и как только NVDEC освобождается, ему сразу отдаётся следующий GOP.
Ещё важный момент — память. В обычных системах при асинхронном декодировании память под кадры резервируют заранее, из-за чего легко можно упереться в OOM. Здесь же запрос принимают, ставят в очередь, декодируют и только после декодинга на ранке аллоцируют GPU-память под результат.
В итоге FlashCodec ускоряет обработку длинного видео и снижает TTFT.
UnifiedServe
Вторая проблема — конкуренция encode/prefill и decode за GPU. Тут есть два стандартных подхода.
1) Monolithic, когда все GPU в находятся одном runtime. Утилизация высокая, но encode начинает мешать decode, из-за этого растёт TBT.
2) Split, когда GPU жёстко делятся между encode/prefill и decode. Decode защищён, но ухудшается утилизация и появляются дополнительные оверхэды, например KV-cache transfer.
Авторы объединяют лучшее из подходов в UnifiedServe. Пайплайн бьют на три независимых воркера — preprocessing, encode/prefill и decode — связывают их через буферы и передают данные не целиком, а чанками. Каждый воркер забирает их по мере готовности. Можно удобно передавать информацию при асинхронной работе.
Но остаётся конкуренция за GPU, поэтому добавляют оркестрацию: encode и prefill получают ограниченный «бюджет токенов» и не могут занять весь компьют, за счёт чего decode остаётся изолированным и при этом сохраняется общий пул GPU. Так одновременно улучшаются TTFT, TBT и утилизация.
На экспериментах решения выигрывают по latency и throughput по сравнению с существующими.
Разбор подготовил❣ Андрей Теплов
CV Time
Сегодня разбираем статью, о том, как ускорить мультимодальный инференс, особенно когда на вход подаётся длинное видео.
Проблема складывается из нескольких факторов. MLLM становятся всё популярнее, мы хотим обрабатывать текст, картинки, видео, — но сервинг таких моделей очень дорогой. Нужно одновременно хорошо утилизировать GPU и быстро отдавать пользователю ответ. А с видео всё становится ещё хуже — препроцессинг долгий, особенно для длинных роликов. В итоге страдают TTFT (time to first token) и TBT (time between tokens).
Если в обычных LLM у нас есть prefill и decode, то в MLLM добавляются ещё две тяжёлые стадии до генерации:
- decoding видео и изображений,
- vision encoding (ViT / SigLip).
Отсюда две ключевые проблемы.
1) Видеодекодирование сильно увеличивает TTFT. CPU-декодинг плохо масштабируется, а GPU-декодеры обычно оптимизированы под throughput, а не под latency одного запроса, нам важно чтобы пользователь быстро получил ответ на свой запрос.
2) Vision encoder. Это отдельная compute-heavy-стадия, которая конкурирует за GPU с decode-частью и из-за этого увеличивается TBT. Просто вставить её в обычный пайплайн нельзя, так как начинаются конфликты за ресурсы.
В статье авторы по очереди решают эти проблемы.
FlashCodec
Главная идея — распараллелить одно видео на несколько GPU, а не просто обрабатывать разные видео параллельно. Видео хранится не как набор независимых кадров, а как compressed bitstream, разбитый на GOPs (Group of Pictures). Внутри такой группы кадры зависят друг от друга, но сами они между собой независимы.
Отсюда решение FlashCodec: видео делим на GOPs, распределяем их по GPU, внутри группы картинок декодируем последовательно, а между ними получаем параллелизм.
Дополнительно вводят stall-free scheduling — видео больше не рассматривается как одна задача. Планирование идёт на уровне GOP, и как только NVDEC освобождается, ему сразу отдаётся следующий GOP.
Ещё важный момент — память. В обычных системах при асинхронном декодировании память под кадры резервируют заранее, из-за чего легко можно упереться в OOM. Здесь же запрос принимают, ставят в очередь, декодируют и только после декодинга на ранке аллоцируют GPU-память под результат.
В итоге FlashCodec ускоряет обработку длинного видео и снижает TTFT.
UnifiedServe
Вторая проблема — конкуренция encode/prefill и decode за GPU. Тут есть два стандартных подхода.
1) Monolithic, когда все GPU в находятся одном runtime. Утилизация высокая, но encode начинает мешать decode, из-за этого растёт TBT.
2) Split, когда GPU жёстко делятся между encode/prefill и decode. Decode защищён, но ухудшается утилизация и появляются дополнительные оверхэды, например KV-cache transfer.
Авторы объединяют лучшее из подходов в UnifiedServe. Пайплайн бьют на три независимых воркера — preprocessing, encode/prefill и decode — связывают их через буферы и передают данные не целиком, а чанками. Каждый воркер забирает их по мере готовности. Можно удобно передавать информацию при асинхронной работе.
Но остаётся конкуренция за GPU, поэтому добавляют оркестрацию: encode и prefill получают ограниченный «бюджет токенов» и не могут занять весь компьют, за счёт чего decode остаётся изолированным и при этом сохраняется общий пул GPU. Так одновременно улучшаются TTFT, TBT и утилизация.
На экспериментах решения выигрывают по latency и throughput по сравнению с существующими.
Разбор подготовил
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤8🔥7🥰1
Beyond Language Modeling: An Exploration of Multimodal Pretraining
Разбираем статью Meta*, среди авторов которой указаны небезызвестные Yann LeCun и Saining Xie. В работе не предлагают конкретный трюк, а разбираются в дизайне мультимодального претрейна в целом и смотрят на влияние выбора архитектуры, латентного пространства, данных и масштабирования размера модели и объёма обучающей выборки.
Авторы говорят, что если мы хотим мультимодальные модели для текста, генерации изображений и даже world modeling, нужно перестать смотреть на вижн как на вспомогательный сигнал и начать обучать всё вместе с нуля.
Архитектура
В качестве бейзлайна берут Transfusion. Для языка используется next-token prediction, а для вижна — flow matching. Текст моделируется авторегрессионно через кросс-энтропию, а визуальная часть — как предсказание зашумлённого латента. Всё это учится на смеси языковых и визуальных данных.
При этом сама модель — decoder-only Transformer, который учится с нуля, без инициализации от готовой LLM. В отличие от Transfusion, вместо U-Net для проекций в визуальной модальности применяют более простые линейные проекции. Делают вывод, что лучше использовать modality-specific FFN вместо shared. Аттеншн остаётся общим, а FFN для текста и вижна — разделяются, что даёт выигрыш по text perplexity, image generation и VQA.
По визуальным представлениям сравнивают SD-VAE, FLUX.1, семантические энкодеры вроде SigLIP 2 So400M, DINOv2-L, WebSSL-L и сырые пиксели. Лучший вариант — RAE, причём особенно хорош SigLIP 2. Делают вывод, что один RAE-based encoder может одновременно хорошо работать и для visual understanding, и для генерации, не портя текстовые метрики.
Данные
Авторы взяли большой текстовый корпус DCLM, сырые видео из YouTube и публичных видео-датасетов, пар «изображение-текст» из MetaCLIP и Shutterstock, а также обусловенные на действие траектории навигации. Замечают, что мультимодальные данные не конкурируют с текстовыми. Если добавить видео, текстовая перплексия почти не портится, а местами даже становится лучше. Хуже с image-caption-данными — у кэпшенов другое распределение относительно текста из DCLM.
При этом сами пары «изображение-текст» критичны для понимания и генерации картинок. Без них ничего толком не работает. Если при фиксированном бюджете визуальных токенов добавлять больше текста, то улучшается и diffusion loss, и GenEval. Для VQA полезнее широкий претрейн, чем масштабирование узких данных. Даже если задача узкая, лучше иметь более широкий претрейн, чем просто ещё больше того же самого доменного датасета.
Эксперименты
Есть раздел о Navigation World Model. World modeling возникает скорее из общего мультимодального претрейна, а не из обучения только на navigation-данных. Особенно помогают сырые видео. При этом для хороших world-modeling-способностей доменных navigation-данных нужно совсем немного: если есть хорошая общая мультимодальная инициализация, дальше всё быстро выходит на плато.
Отдельно исследуют MoE. Переходят от простого modality-specific FFN к Mixture-of-Experts. MoE работает лучше, чем вручную заданные схемы разделения, и естественным образом учит специализацию. Чем выше гранулярность экспертов (отношение общего размера эмбеддинга модели к размеру одного эксперта), тем лучше качество, но примерно после значения в 16 всё выходит на плато.
При фиксированном бюджете активных вычислений увеличение общего числа экспертов тоже помогает, и для RAE это особенно заметно. Кроме того, полезно иметь общих (всегда активных) экспертов, причем лучше всего — отдельного общего под каждую модальность.
В конце авторы собирают всё вместе. Оптимальная конфигурация выглядит как MoE + modality-specific FFN + SigLIP 2 / RAE + x-prediction. Она даёт лучший баланс по перплексии, качеству генерации изображений и VQA.
Разбор подготовил❣ Денис Кузнеделев
CV Time
___
Компания Meta признана экстремистской; её деятельность в России запрещена.
Разбираем статью Meta*, среди авторов которой указаны небезызвестные Yann LeCun и Saining Xie. В работе не предлагают конкретный трюк, а разбираются в дизайне мультимодального претрейна в целом и смотрят на влияние выбора архитектуры, латентного пространства, данных и масштабирования размера модели и объёма обучающей выборки.
Авторы говорят, что если мы хотим мультимодальные модели для текста, генерации изображений и даже world modeling, нужно перестать смотреть на вижн как на вспомогательный сигнал и начать обучать всё вместе с нуля.
Архитектура
В качестве бейзлайна берут Transfusion. Для языка используется next-token prediction, а для вижна — flow matching. Текст моделируется авторегрессионно через кросс-энтропию, а визуальная часть — как предсказание зашумлённого латента. Всё это учится на смеси языковых и визуальных данных.
При этом сама модель — decoder-only Transformer, который учится с нуля, без инициализации от готовой LLM. В отличие от Transfusion, вместо U-Net для проекций в визуальной модальности применяют более простые линейные проекции. Делают вывод, что лучше использовать modality-specific FFN вместо shared. Аттеншн остаётся общим, а FFN для текста и вижна — разделяются, что даёт выигрыш по text perplexity, image generation и VQA.
По визуальным представлениям сравнивают SD-VAE, FLUX.1, семантические энкодеры вроде SigLIP 2 So400M, DINOv2-L, WebSSL-L и сырые пиксели. Лучший вариант — RAE, причём особенно хорош SigLIP 2. Делают вывод, что один RAE-based encoder может одновременно хорошо работать и для visual understanding, и для генерации, не портя текстовые метрики.
Данные
Авторы взяли большой текстовый корпус DCLM, сырые видео из YouTube и публичных видео-датасетов, пар «изображение-текст» из MetaCLIP и Shutterstock, а также обусловенные на действие траектории навигации. Замечают, что мультимодальные данные не конкурируют с текстовыми. Если добавить видео, текстовая перплексия почти не портится, а местами даже становится лучше. Хуже с image-caption-данными — у кэпшенов другое распределение относительно текста из DCLM.
При этом сами пары «изображение-текст» критичны для понимания и генерации картинок. Без них ничего толком не работает. Если при фиксированном бюджете визуальных токенов добавлять больше текста, то улучшается и diffusion loss, и GenEval. Для VQA полезнее широкий претрейн, чем масштабирование узких данных. Даже если задача узкая, лучше иметь более широкий претрейн, чем просто ещё больше того же самого доменного датасета.
Эксперименты
Есть раздел о Navigation World Model. World modeling возникает скорее из общего мультимодального претрейна, а не из обучения только на navigation-данных. Особенно помогают сырые видео. При этом для хороших world-modeling-способностей доменных navigation-данных нужно совсем немного: если есть хорошая общая мультимодальная инициализация, дальше всё быстро выходит на плато.
Отдельно исследуют MoE. Переходят от простого modality-specific FFN к Mixture-of-Experts. MoE работает лучше, чем вручную заданные схемы разделения, и естественным образом учит специализацию. Чем выше гранулярность экспертов (отношение общего размера эмбеддинга модели к размеру одного эксперта), тем лучше качество, но примерно после значения в 16 всё выходит на плато.
При фиксированном бюджете активных вычислений увеличение общего числа экспертов тоже помогает, и для RAE это особенно заметно. Кроме того, полезно иметь общих (всегда активных) экспертов, причем лучше всего — отдельного общего под каждую модальность.
В конце авторы собирают всё вместе. Оптимальная конфигурация выглядит как MoE + modality-specific FFN + SigLIP 2 / RAE + x-prediction. Она даёт лучший баланс по перплексии, качеству генерации изображений и VQA.
Разбор подготовил
CV Time
___
Компания Meta признана экстремистской; её деятельность в России запрещена.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤7👍5👌2
Первые статьи с ICLR 2026
О том, как стартовала конференция, рассказали в канале @MLunderhood. А прямо сейчас исследователь Yandex Research Сергей Кастрюлин делится работой об адаптивном гайдансе без использования классификатора в диффузионках.
И в заключение лайфхак, подсмотренный на постерной сессии:
#YaICLR26
CV Time
О том, как стартовала конференция, рассказали в канале @MLunderhood. А прямо сейчас исследователь Yandex Research Сергей Кастрюлин делится работой об адаптивном гайдансе без использования классификатора в диффузионках.
Dynamic Classifier-Free Diffusion Guidance via Online Feedback
После обучения диффузионной модели стандартный шаг её подготовки к использованию — это подбор параметров инференса. Например, подбор CFG scale и паттерна распределения CFG в случае с динамическим гайденсом.
Авторы из Google DeepMind предлагают метод для более эффективной настройки параметров инференса. Вместо beam search или ещё более дорогого полного перебора предлагается дообучить версии классификаторов качества (например, CLIP score) для работы с зашумлёнными латентами — и с помощью них динамически выбирать параметры сэмплирования прямо в процессе инференса.
Основной посыл в том, что один раз получить файньюны классификаторов дешевле, чем делать перебор параметров инференса, особенно если делать такое несколько раз.
И в заключение лайфхак, подсмотренный на постерной сессии:
Если научный руководитель просит не оформлять постер в стиле Барби (фото 2), знайте — он ничего не понимает в дизайне, народу зайдёт (фото 3).
#YaICLR26
CV Time
🔥15❤9❤🔥8👏3
Latent Diffusion Model without Variational Autoencoder
Многие знают о RAE — хайпанувшем недавно методе, суть которого в обучении латентной диффузии на латентах семантического энкодера (например, DINO) вместо VAE. Эта работа — параллельная попытка сделать примерно то же самое, но с некоторыми отличиями. Например, авторы предлагают схему end-to-end-обучения, которая частично решает основную проблему RAE: большее количество структурных артефактов и дефектов генерации.
Было интересно узнать у автора, что группа продолжает работать над этим направлением и планирует выпустить работу в модной нынче теме пиксельной диффузии, только теперь уже используя DINO-фичи для регуляризации латентного пространства. Это, в свою очередь, напоминает REPA.
В целом, область как будто сходится к тому, что семантическую информацию для генерации использовать нужно, но простой и элегантный способ её утилизации ещё предстоит придумать.
Расспросил авторов❣ Сергей Кастрюлин
#YaICLR26
CV Time
Многие знают о RAE — хайпанувшем недавно методе, суть которого в обучении латентной диффузии на латентах семантического энкодера (например, DINO) вместо VAE. Эта работа — параллельная попытка сделать примерно то же самое, но с некоторыми отличиями. Например, авторы предлагают схему end-to-end-обучения, которая частично решает основную проблему RAE: большее количество структурных артефактов и дефектов генерации.
Было интересно узнать у автора, что группа продолжает работать над этим направлением и планирует выпустить работу в модной нынче теме пиксельной диффузии, только теперь уже используя DINO-фичи для регуляризации латентного пространства. Это, в свою очередь, напоминает REPA.
В целом, область как будто сходится к тому, что семантическую информацию для генерации использовать нужно, но простой и элегантный способ её утилизации ещё предстоит придумать.
Расспросил авторов
#YaICLR26
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11❤🔥6👍6🔥4
TwinFlow: Realizing One-step Generation on Large Models with Self-adversarial Flows
Авторы презентуют метод пошаговой дистилляции диффузионных моделей, который работает без вспомогательных моделей, в отличие от общепринятых техник вроде consistency models, ADD и DMD2.
Конкретно предлагают отразить временную ось относительно нуля — в результате диффузионный процесс происходит на интервале [-1, 1]. Причём участку [-1, 0] соответствует путь из шума в данные, сгенерированные самой моделью — «фейковые данные».
Задача модели в процессе оптимизации — минимизировать разницу между скоростями для «фейковых» (при отрицательных временах) и реальных (при положительных временах) данных. В точке оптимума обе скорости совпадают.
Итоговый лосс — сумма функции потерь из RCGM (некоторого обобщения MeanFlow для многошаговой генерации) и матчинга распределений для «фейковых» и реальных данных.
Полученный метод достигает хорошего качества почти без просадки по сравнению с базовой Qwen-Image и на одном уровне с Qwen-Image-Lightning. При этом сам фреймворк проще, и ожидается, что он меньше просаживает разнообразие.
Интересное заметил❣ Денис Кузнеделев
#YaICLR26
CV Time
Авторы презентуют метод пошаговой дистилляции диффузионных моделей, который работает без вспомогательных моделей, в отличие от общепринятых техник вроде consistency models, ADD и DMD2.
Конкретно предлагают отразить временную ось относительно нуля — в результате диффузионный процесс происходит на интервале [-1, 1]. Причём участку [-1, 0] соответствует путь из шума в данные, сгенерированные самой моделью — «фейковые данные».
Задача модели в процессе оптимизации — минимизировать разницу между скоростями для «фейковых» (при отрицательных временах) и реальных (при положительных временах) данных. В точке оптимума обе скорости совпадают.
Итоговый лосс — сумма функции потерь из RCGM (некоторого обобщения MeanFlow для многошаговой генерации) и матчинга распределений для «фейковых» и реальных данных.
Полученный метод достигает хорошего качества почти без просадки по сравнению с базовой Qwen-Image и на одном уровне с Qwen-Image-Lightning. При этом сам фреймворк проще, и ожидается, что он меньше просаживает разнообразие.
Интересное заметил
#YaICLR26
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤5🤝4👍3👏1
ECHO: Constantly Improving Image Models Need Constantly Improving Benchmarks
Авторы из Беркли презентуют бенчмарк ECHO для генерации и редактирования изображений. Главная цель — сблизить академическую и индустриальную разработку новых генеративных моделей.
Наиболее известные бенчмарки в этой области (ImgEdit, GEdit, GenEval) имеют достаточно простые промпты и отражают сценарии использования моделей, которые на самом деле не интересны пользователям.
Основная причина в том, что академические группы, предлагающие бенчмарки, составляют наборы семплов, исходя из своих априорных соображений о том, какие навыки генерации и редактирования важны.
Авторы ECHO провели большую работу по сбору реальных сценариев использования моделей, опубликованных в соцсетях. Они собрали, очистили и систематизировали десятки тысяч запросов и ответов в открытые и проприетарные модели, чтобы получить аналитический датасет размером 30 тысяч семплов и бенчмарк размером 1,5 тысячи семплов.
После сбора семплов важно определиться с метриками, которые будут замеряться. Для этого авторы пошли тем же путём: с помощью лингвистического анализа выделили основные критерии качества, обсуждавшиеся пользователями в контексте использования моделей. Так, например, среди метрик появился цветовой сдвиг — характерная черта генераций GPT-Image, которая также в разной степени присутствует и у некоторых других моделей. В работе предлагаются и более традиционные критерии оценки, например, сохранение черт исходного изображения.
Расспросил авторов❣ Сергей Кастрюлин
#YaICLR26
CV Time
Авторы из Беркли презентуют бенчмарк ECHO для генерации и редактирования изображений. Главная цель — сблизить академическую и индустриальную разработку новых генеративных моделей.
Наиболее известные бенчмарки в этой области (ImgEdit, GEdit, GenEval) имеют достаточно простые промпты и отражают сценарии использования моделей, которые на самом деле не интересны пользователям.
Основная причина в том, что академические группы, предлагающие бенчмарки, составляют наборы семплов, исходя из своих априорных соображений о том, какие навыки генерации и редактирования важны.
Авторы ECHO провели большую работу по сбору реальных сценариев использования моделей, опубликованных в соцсетях. Они собрали, очистили и систематизировали десятки тысяч запросов и ответов в открытые и проприетарные модели, чтобы получить аналитический датасет размером 30 тысяч семплов и бенчмарк размером 1,5 тысячи семплов.
После сбора семплов важно определиться с метриками, которые будут замеряться. Для этого авторы пошли тем же путём: с помощью лингвистического анализа выделили основные критерии качества, обсуждавшиеся пользователями в контексте использования моделей. Так, например, среди метрик появился цветовой сдвиг — характерная черта генераций GPT-Image, которая также в разной степени присутствует и у некоторых других моделей. В работе предлагаются и более традиционные критерии оценки, например, сохранение черт исходного изображения.
Интересно было узнать у автора о его направлении исследований. Работу презентовал лид проекта — человек, искренне верящий в то, что науку двигают датасеты и бенчмарки, с чем трудно не согласиться. Его стремление сделать системный подход к замерам и разобраться в том, чего именно мы хотим от моделей нового поколения, внушает искреннее уважение. Будем ждать его новую статью о замерах качества генерации длинных видео на ближайшей NeurIPS.
Расспросил авторов
#YaICLR26
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥7❤5🥰2👀1
ICLR — всё, но мы продолжаем
У нас ещё остались обзоры интересных постеров. Сегодня расскажем о двух моделях: одна — на тему агентного визуального поиска, другая — о поиске изменённых областей в изображениях и видео.
Mini-o3: Scaling Up Reasoning Patterns and Interaction Turns for Visual Search
Модель для сложного визуального поиска, которая действует как агент: делает много шагов, приближает нужные области, проверяет гипотезы, ошибается, возвращается и продолжает поиск.
Авторы создали датасет Visual Probe с тысячами сложных задач, собрали обучающие траектории с разными паттернами рассуждений — depth-first search, trial-and-error, удержание цели — и вводят over-turn masking, чтобы во время RL не штрафовать модель за слишком длинные незавершённые попытки. В результате Mini-o3, даже обучаясь максимум на шести шагах, на инференсе умеет масштабироваться до десятков шагов, и точность растёт с увеличением числа шагов.
RelayFormer: A Unified Local-Global Attention Framework for Scalable Image and Video Manipulation Localization
RelayFormer — модель для поиска изменённых областей в изображениях и видео. Идея в том, чтобы не сжимать картинку целиком и не терять мелкие forensic-артефакты, а разрезать её на небольшие перекрывающиеся фрагменты (overlapping sub-images) и обрабатывать их в исходном качестве. Каждый кусок обрабатывается отдельно, но между ними есть специальные GLR-токены — своего рода relay-посредники, которые собирают локальные признаки, обмениваются глобальным контекстом и возвращают его обратно. После этого mask decoder строит маску изменённых пикселей.
Интересное заметила❣ Варвара Фурик
#YaICLR26
CV Time
У нас ещё остались обзоры интересных постеров. Сегодня расскажем о двух моделях: одна — на тему агентного визуального поиска, другая — о поиске изменённых областей в изображениях и видео.
Mini-o3: Scaling Up Reasoning Patterns and Interaction Turns for Visual Search
Модель для сложного визуального поиска, которая действует как агент: делает много шагов, приближает нужные области, проверяет гипотезы, ошибается, возвращается и продолжает поиск.
Авторы создали датасет Visual Probe с тысячами сложных задач, собрали обучающие траектории с разными паттернами рассуждений — depth-first search, trial-and-error, удержание цели — и вводят over-turn masking, чтобы во время RL не штрафовать модель за слишком длинные незавершённые попытки. В результате Mini-o3, даже обучаясь максимум на шести шагах, на инференсе умеет масштабироваться до десятков шагов, и точность растёт с увеличением числа шагов.
RelayFormer: A Unified Local-Global Attention Framework for Scalable Image and Video Manipulation Localization
RelayFormer — модель для поиска изменённых областей в изображениях и видео. Идея в том, чтобы не сжимать картинку целиком и не терять мелкие forensic-артефакты, а разрезать её на небольшие перекрывающиеся фрагменты (overlapping sub-images) и обрабатывать их в исходном качестве. Каждый кусок обрабатывается отдельно, но между ними есть специальные GLR-токены — своего рода relay-посредники, которые собирают локальные признаки, обмениваются глобальным контекстом и возвращают его обратно. После этого mask decoder строит маску изменённых пикселей.
Интересное заметила
#YaICLR26
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥4👍3
Neural Optimal Transport
Сегодня разбираем статью, авторы которой предлагают учить отображение между распределениями с помощью нейросетей. Основная задача, которая тут решается, — перевод изображений из одного домена в другой. Причём как в детерминированном варианте (один к одному), так и в стохастическом (один ко многим).
Сначала немного предыстории. У нас есть два распределения, и хочется перетащить одно в другое с минимальным костом. Кост — это метрика, измеряющая среднее расстояние между объектом из исходного распределения и целевого. Он может быть как сильным, то есть измеряющим расстояние между двумя объектами, так и слабым, где расстояние берётся между исходным объектом х и распределением объектов отображения, которое он собой задаёт. Слабый кост — это по сути параметрический интеграл, а не обычная функция. Он берёт на вход не две переменные, а переменную и вероятностную меру — поэтому работать с ним довольно тяжело. В классических подходах кост используется именно сильный.
Классическая формулировка Монжа предлагает детерминированное отображение, где каждому х соответствует один у. Но это плохо работает, когда нужно отображать один объект в несколько возможных, ведь распределения могут быть разной структуры. Канторович в 1958 году предложил вместо отображения брать совместное распределение π. Но за это платим сложностью: всё становится сильно тяжелее и менее удобным для обучения.
Авторы идут дальше. Вместо того чтобы напрямую работать с этим распределением π и условным распределением p(y|x), которое появляется при переходе от сильного коста к слабому, они предлагают параметризовать отображение x шумом: берём x и случайную переменную z, и уже функция T(x, z) выдаёт результат, лежащий в целевом распределении. За счёт этого условное распределение получается само собой: для одного x можно получать разные y просто благодаря разному z.
Чтобы это оптимизировать, переходят к двойственной задаче. Появляется функция f — её можно воспринимать как вспомогательную. В итоге всё сводится к двум объектам: есть T, которое отвечает за транспорт; есть f, которое участвует в оценке качества этого транспорта. Остаётся задать T и f как нейросетевые функции и приступить к оптимизации.
В итоге приходим к задаче min-max оптимизации, чем-то схожей с GAN: одна нейросеть максимизирует полученный функционал, другая минимизирует. По f делается градиентный подъём, по T — спуск. Но по смыслу это не совсем генератор и дискриминатор в привычном виде — здесь это просто способ решить двойственную задачу. Все интегралы просто оцениваются через Монте-Карло без доптрюков.
На практике это даёт гибкость. Авторы предлагают параметр для функции коста, отвечающий за дисперсию шума: если его занулить, в ходе оптимизации получаем детерминированное отображение — один x всегда переходит в один и тот же y. Если его увеличивать, появляется разнообразие, и можно получать разные варианты для одного входа, при этом чем больше будет этот параметр, тем хаотичнее будет распределение. При этом вся постановка остаётся в рамках одной схемы с двумя сетями.
В экспериментах стандартные примеры с переводом изображений сравниваются с GAN-подходами. Картинки выглядят адекватно, метрики тоже улучшаются, а сама модель получается компактнее по количеству компонентов.
Разбор подготовил❣ Иван Папай
CV Time
Сегодня разбираем статью, авторы которой предлагают учить отображение между распределениями с помощью нейросетей. Основная задача, которая тут решается, — перевод изображений из одного домена в другой. Причём как в детерминированном варианте (один к одному), так и в стохастическом (один ко многим).
Сначала немного предыстории. У нас есть два распределения, и хочется перетащить одно в другое с минимальным костом. Кост — это метрика, измеряющая среднее расстояние между объектом из исходного распределения и целевого. Он может быть как сильным, то есть измеряющим расстояние между двумя объектами, так и слабым, где расстояние берётся между исходным объектом х и распределением объектов отображения, которое он собой задаёт. Слабый кост — это по сути параметрический интеграл, а не обычная функция. Он берёт на вход не две переменные, а переменную и вероятностную меру — поэтому работать с ним довольно тяжело. В классических подходах кост используется именно сильный.
Классическая формулировка Монжа предлагает детерминированное отображение, где каждому х соответствует один у. Но это плохо работает, когда нужно отображать один объект в несколько возможных, ведь распределения могут быть разной структуры. Канторович в 1958 году предложил вместо отображения брать совместное распределение π. Но за это платим сложностью: всё становится сильно тяжелее и менее удобным для обучения.
Авторы идут дальше. Вместо того чтобы напрямую работать с этим распределением π и условным распределением p(y|x), которое появляется при переходе от сильного коста к слабому, они предлагают параметризовать отображение x шумом: берём x и случайную переменную z, и уже функция T(x, z) выдаёт результат, лежащий в целевом распределении. За счёт этого условное распределение получается само собой: для одного x можно получать разные y просто благодаря разному z.
Чтобы это оптимизировать, переходят к двойственной задаче. Появляется функция f — её можно воспринимать как вспомогательную. В итоге всё сводится к двум объектам: есть T, которое отвечает за транспорт; есть f, которое участвует в оценке качества этого транспорта. Остаётся задать T и f как нейросетевые функции и приступить к оптимизации.
В итоге приходим к задаче min-max оптимизации, чем-то схожей с GAN: одна нейросеть максимизирует полученный функционал, другая минимизирует. По f делается градиентный подъём, по T — спуск. Но по смыслу это не совсем генератор и дискриминатор в привычном виде — здесь это просто способ решить двойственную задачу. Все интегралы просто оцениваются через Монте-Карло без доптрюков.
На практике это даёт гибкость. Авторы предлагают параметр для функции коста, отвечающий за дисперсию шума: если его занулить, в ходе оптимизации получаем детерминированное отображение — один x всегда переходит в один и тот же y. Если его увеличивать, появляется разнообразие, и можно получать разные варианты для одного входа, при этом чем больше будет этот параметр, тем хаотичнее будет распределение. При этом вся постановка остаётся в рамках одной схемы с двумя сетями.
В экспериментах стандартные примеры с переводом изображений сравниваются с GAN-подходами. Картинки выглядят адекватно, метрики тоже улучшаются, а сама модель получается компактнее по количеству компонентов.
Разбор подготовил
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8🔥5👍4
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
Сегодня разберём статью, посвященную сегментации изображений по промптам. Кроме самого подхода к сегментации, авторы описывают сбор данных и добавление фичей, который не было в 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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥11👍5
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
Сегодня разбираем статью на тему авторегрессионной генерации изображений. Исследования в этой области интересны с точки зрения практики: было бы здорово иметь мультимодальную модель на базе 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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🔥5👍3🥰1
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
Продолжаем разбирать работу 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
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥4👍3
Делимся интересным рассказом об эволюции Поиска по архивам — от классического OCR-пайплайна к системе, которая умеет извлекать структуру документов и понимать связи между людьми.
В посте кратко рассказываем, как команда проекта решала KIE-задачу, зачем понадобилась VLM-модель поверх OCR и почему пришлось перейти от строкового распознавания к блочному⬇️
В посте кратко рассказываем, как команда проекта решала KIE-задачу, зачем понадобилась VLM-модель поверх OCR и почему пришлось перейти от строкового распознавания к блочному
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4❤3🔥3
Forwarded from ML Underhood
Как мы научили модель понимать структуру архивных записей
В Поиске по архивам появилась новая модель, которая не только распознаёт текст, но и извлекает связи между людьми — например, определяет, кто в документе отец, мать, жених, невеста, свидетель и прочее. Это умение очень важно, чтобы действительно помогать пользователям находить родственников.
Дарья Виноградова, руководитель команды универсального применения компьютерного зрения в Яндексе, и Анна Сидорова, главный разработчик распознавания архивов, рассказали на Хабре, почему универсальные VLM-модели не подошли для этой задачи и как удалось перейти от распознавания текста к извлечению структуры и смысла из документов.
Как было раньше
Прошлая версия системы представляла собой классический OCR-пайплайн. Детектор находил на скане строки, OCR-модель распознавала их по отдельности, а другая модель собирала в текстовые блоки.
Поиск работал в основном по текстовым совпадениям. Из-за этого вместе с нужными данными в выдачу попадали имена священников, номера записей, служебные пометки и другие нерелевантные части документа. Со временем проблемы стали чаще возникать на уровне структуры документа — из-за разбиения текста на строки и последующей склейки.
Как модель научили понимать структуру документов
В новой версии OCR остаётся отдельным этапом, но сам пайплайн строится уже вокруг структуры документа.
Для этого используют дообученную VLM‑модель Alice AI. Она получает изображение записи вместе с текстом от OCR и извлекает из документа структуру и связи между людьми. Ключевая метрика — доля людей, которых затем можно корректно найти по ФИО в сервисе. По ней модель достигает качества 90,5% на всех типах архивных записей.
Как усовершенствовали OCR
Параллельно команда перешла от строкового OCR к блочному. Так удалось убрать целый этап сборки строк в блоки, сократить количество моделей в пайплайне и уменьшить объём дополнительного процессинга при обработке сканов.
Однако переход к блочной архитектуре сильно усложнил требования к детектору. Если раньше ошибка означала, что какие-то строки просто плохо склеятся, то теперь модель рисковала целиком потерять нужный фрагмент документа.
При этом сами блоки оказались очень разными по размеру: модель могла получить как маленький кусок с одним словом, так и огромный фрагмент на много строк. Из-за этого команде пришлось отдельно дорабатывать энкодер и оптимизировать токенизацию — иначе обработка больших блоков становилась слишком дорогой по вычислениям.
После перехода на новый OCR-пайплайн recall распознавания вырос до 93,2% на основной выборке и до 88,1% — на сложной.
Детали реализации и сложные кейсы распознавания вы найдёте в полной версии статьи.
ML Underhood
В Поиске по архивам появилась новая модель, которая не только распознаёт текст, но и извлекает связи между людьми — например, определяет, кто в документе отец, мать, жених, невеста, свидетель и прочее. Это умение очень важно, чтобы действительно помогать пользователям находить родственников.
Дарья Виноградова, руководитель команды универсального применения компьютерного зрения в Яндексе, и Анна Сидорова, главный разработчик распознавания архивов, рассказали на Хабре, почему универсальные 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
❤🔥6❤6🔥5👍2