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🔥6👍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🔥5👍3
Делимся интересным рассказом об эволюции Поиска по архивам — от классического OCR-пайплайна к системе, которая умеет извлекать структуру документов и понимать связи между людьми.
В посте кратко рассказываем, как команда проекта решала KIE-задачу, зачем понадобилась VLM-модель поверх OCR и почему пришлось перейти от строкового распознавания к блочному⬇️
В посте кратко рассказываем, как команда проекта решала KIE-задачу, зачем понадобилась VLM-модель поверх OCR и почему пришлось перейти от строкового распознавания к блочному
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5❤🔥5🔥4
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
❤9❤🔥8🔥7👍2
BitDance: Scaling Autoregressive Generative Models with Binary Tokens [3/3]
Завершаем разбор статьи BitDance об авторегрессионной генерации изображений. В первом посте мы обсудили бинарный VQ-VAE с качеством реконструкций, сопоставимым с непрерывными VAE. Во втором — замену линейной классификационной головы авторегрессионного бэкбона на диффузию, что одновременно снижает рост числа параметров и улучшает качество генерации. Сегодня поговорим об экспериментах.
Авторы исследовали, на что влияет размер кодбука бинарного автоэнкодера — подтвердили его корреляцию с качеством реконструкций и проверили взаимосвязь с качеством генеративной модели. Результат оказался неоднозначным: рост словаря улучшает генерацию только при одновременном увеличении размера трансформера. При этом для крупных моделей выигрыш по FID/IS минимален.
Для text-to-image в качестве базовой авторегрессионной модели авторы выбрали Qwen3-14B. Её дообучили на генерацию изображений с помощью 32-канального бинарного токенизатора с 16-кратным пространственным сжатием и генерацией патчами 4×4 токенов.
Обучение включает привычные стадии: претрейн, CT на высоких разрешениях, SFT и дистилляцию. Интересен размер претрейн-датасета — всего 256 млн изображений, что значительно меньше индустриальных стандартов на миллиарды семплов. Зато на файнтюне объём данных резко возрастает за счёт синтетических изображений, сгенерированных SoTA-моделями. Авторы делают ставку на качество данных и отдельно подчёркивают пользу mixed-resolution обучения уже на этапе претрейна.
Под дистилляцией в BitDance понимается переобучение SFT-модели на параллельную генерацию блоков 8×8 токенов, что ускоряет инференс без заметной потери качества.
На t2i-бенчмарках BitDance занимает лидирующие позиции среди AR-моделей и конкурирует с лучшими диффузионками. Любопытно, что для достижения такого качества потребовалось заметно меньше данных, хотя по сути за SFT происходит дистилляция SeedDream и Z-Image.
В финале статьи авторы проводят три аблейшена. Они показывают превосходство своего VAE над непрерывными аналогами, демонстрируют преобладание диффузионной головы над методом Infinity и подтверждают, что наилучшее качество достигается при генерации патчами, а не по отдельным токенам или всей картинки сразу.
Качество генерации у BitDance действительно высокое, однако архитектура остаётся гибридной и использует диффузию внутри. Полностью авторегрессионной генерации визуальных токенов здесь нет, а значит, нет и бесшовной интеграции с текстовой модальностью. Из известных решений ближе всего к этой цели пока остаётся модель GLM Image.
Познакомиться с BitDance поближе можно на GitHub авторов.
Разбор подготовил❣ Валерий Старцев
CV Time
Завершаем разбор статьи BitDance об авторегрессионной генерации изображений. В первом посте мы обсудили бинарный VQ-VAE с качеством реконструкций, сопоставимым с непрерывными VAE. Во втором — замену линейной классификационной головы авторегрессионного бэкбона на диффузию, что одновременно снижает рост числа параметров и улучшает качество генерации. Сегодня поговорим об экспериментах.
Авторы исследовали, на что влияет размер кодбука бинарного автоэнкодера — подтвердили его корреляцию с качеством реконструкций и проверили взаимосвязь с качеством генеративной модели. Результат оказался неоднозначным: рост словаря улучшает генерацию только при одновременном увеличении размера трансформера. При этом для крупных моделей выигрыш по FID/IS минимален.
Для text-to-image в качестве базовой авторегрессионной модели авторы выбрали Qwen3-14B. Её дообучили на генерацию изображений с помощью 32-канального бинарного токенизатора с 16-кратным пространственным сжатием и генерацией патчами 4×4 токенов.
Обучение включает привычные стадии: претрейн, CT на высоких разрешениях, SFT и дистилляцию. Интересен размер претрейн-датасета — всего 256 млн изображений, что значительно меньше индустриальных стандартов на миллиарды семплов. Зато на файнтюне объём данных резко возрастает за счёт синтетических изображений, сгенерированных SoTA-моделями. Авторы делают ставку на качество данных и отдельно подчёркивают пользу mixed-resolution обучения уже на этапе претрейна.
Под дистилляцией в BitDance понимается переобучение SFT-модели на параллельную генерацию блоков 8×8 токенов, что ускоряет инференс без заметной потери качества.
На t2i-бенчмарках BitDance занимает лидирующие позиции среди AR-моделей и конкурирует с лучшими диффузионками. Любопытно, что для достижения такого качества потребовалось заметно меньше данных, хотя по сути за SFT происходит дистилляция SeedDream и Z-Image.
В финале статьи авторы проводят три аблейшена. Они показывают превосходство своего VAE над непрерывными аналогами, демонстрируют преобладание диффузионной головы над методом Infinity и подтверждают, что наилучшее качество достигается при генерации патчами, а не по отдельным токенам или всей картинки сразу.
Качество генерации у BitDance действительно высокое, однако архитектура остаётся гибридной и использует диффузию внутри. Полностью авторегрессионной генерации визуальных токенов здесь нет, а значит, нет и бесшовной интеграции с текстовой модальностью. Из известных решений ближе всего к этой цели пока остаётся модель GLM Image.
Познакомиться с BitDance поближе можно на GitHub авторов.
Разбор подготовил
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍6🔥6
В эти дни в Вене проходит международная конференция по робототехнике ICRA 2026. Среди докладов — много работ на стыке робототехники и компьютерного зрения, как, например, в этом посте. Ещё больше разборов читайте в канале @DriverNotFound ⬇️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤4👍4
Forwarded from 404 Driver Not Found
Земной автомобиль, луноход или марсианский ровер — на ICRA 2026 припаркуются все
Позади второй день конференции — продолжаем делиться самым интересным об автономном вождении. Слово Максиму Спорышеву:
Конференция продлится до 5 июня — ещё вернёмся с новой порцией наблюдений.
#YaICRA26
404 driver not found
Позади второй день конференции — продолжаем делиться самым интересным об автономном вождении. Слово Максиму Спорышеву:
Среди докладчиков были те, кто буквально делает космолёты. Они рассказали о локализации для lunar landing, навигации на Марсе и детекции аномалий в космосе — только представьте, какие у них байки про продакшн.
Понравились три постера. Первый — от Waabi AI. Они реализовали 3D-реконструкцию в зоне, ближайшей к исходному треку. Хорошее решение для симуляции перестроения, но не подходящее для сложных разворотов и прокладывания нового маршрута.
Тесты проводят на дистанциях 3, 4 и 5 метров от исходных положений камер: делают feedforward-рендеринг с помощью 3D Gaussian Splatting, добавляют шум и денойзят всё диффузией, которая училась восстанавливать изображения на дистанции 3 метра.
Второй постер — об обучении через имитацию действий других участников дорожного движения. Чтобы собрать тренировочный датасет, авторы берут сцены на nuPlan, выбирают на них одного-двух хороших агентов и трансформируют их движение так, будто всё происходит от лица эго-агента. Плохие данные фильтруют по метрикам комфорта, пройденной дистанции и TTC.
С ростом количества данных эффективность обучения падает: между первыми точками графика заметна большая разница, а ближе к 100 тысячам сцен её почти нет. Для проверки использовали модель PLUTO.
На третьем постере — self-supervised-способ трекинга на лидарных облаках через кластеризации точек и фильтры Калмана. Жаль, что не удалось поймать авторов: они утверждают, что работают на уровне supervised-трекеров.
Отдельно отмечу два доклада, номинированных на звание лучших работ.
Do You Know Where Your Camera Is? View-Invariant Policy Learning with Camera Conditioning
Статья о robotic manipulation, но решаемая в ней проблема актуальна и для автономного транспорта.
Авторы показывают, что качество всех VLA сильно просаживается, если меняется положение камер: в сетапах с рандомным размещением success rate проседает в пару раз.
Решение — подавать положение камер через Plücker ray-maps. То есть задавать луч камеры для каждого пикселя шестью дополнительными числами: дельтами и моментами.
С таким кондишенингом на камеры авторы отыгрывают просадку: success rate становится в пару раз лучше, чем у обычных VLA.
FP3: A 3D Foundation Policy for Robotic Manipulation
Авторы критикуют vision-энкодеры в современных VLA и утверждают, что без трёхмерного представления о мире не обойтись.
Взамен предлагают сетап обучения с Uni3D в качестве энкодера. Он показывает довольно высокие success rates: до 90% на некоторых тасках.
Напоследок авторы показывают профит от масштабирования своего трансформера до 1,3B.
Конференция продлится до 5 июня — ещё вернёмся с новой порцией наблюдений.
#YaICRA26
404 driver not found
❤10🔥8👍5
Thinking with Visual Primitives
Сегодня в области мультимодальных моделей основной упор делают на языковой ризонинг. А для VLM интересно было бы перенести его в визуальное пространство. В своей статье авторы из DeepSeek предлагают делать это с помощью визуальных примитивов: точек и bounding-боксов.
Архитектура решения довольно стандартная. Берут DeepSeek-V4 (LLaVA) на 284 млрд параметров (13 млрд — активных) и прикручивают к нему трансформер DeepSeek-ViT. Он кодирует картинку размером 756x756 с помощью 324 визуальных токенов.
Стадии обучения следующие:
1. Pretraining
Добавляют дополнительные данные, чтобы модель уже на претрейне хорошо видела визуальные токены. Для этого кроулят Hugging Face и другие источники — и собирают почти 98 тысяч датасетов, которые затем фильтруют по качеству и покрытию разметки. В итоге остаётся около 32 тысяч датасетов. Bounding-боксы и точки задают в текстовом формате, а весь претрейн занимает триллионы мультимодальных токенов.
2. ColdStart Data
Для cold-start собирают отдельные датасеты по разным срезам: counting, spatial reasoning, vqa, maze navigation, path tracing. Counting делится на coarse-grained-задачи («посчитай всех медведей») и fine-grained-задачи («посчитай всех медведей, которые находятся на земле»).
Для fine-grained counting используют GQA и граф-сцены, с помощью которых генерируют более сложные запросы. Также для задач Spatial Reasoning и VQA берут реальные картинки из GQA, но такие данные получаются слишком простыми, поэтому дополнительно добавляют синтетику из CLEVR — датасета с искусственно сгенерированными сценами.
Чтобы избежать галлюцинаций, добавляют негативные семплы. Например, модель просят найти медведей на сцене, где медведей на самом деле нет.
3. Specialized SFT и Specialized RL
На стадии Specialized SFT учат две модели, стартуя с общего претрейна: одну на данных с bounding-боксами, другую — на данных с точками.
После SFT специализированные модели отдельно дообучают через GRPO. Используют три типа ревордов: на формат, качество (проверяют избыточность CoT, консистентность с ответом и прочее) и точность ответа. Для лабиринтов и path tracing добавляют дополнительные проверки, чтобы модель не хакала задачу и не строила неверные траектории. Для RL выбирают примеры, где модель отвечает не идеально, но хотя бы иногда правильно.
4. Unified RFT
Затем специализированными RL-моделями генерируют данные, на которых обучают единую модель. Для этого объединяют данные с bounding-боксами, точками и chain-of-thought.
5. On-Policy Distillation
Получившуюся модель дистиллируют сразу на две специализированные модели-учителя. После модель оценивают на counting, general VQA и других публичных visual reasoning-бенчмарках. Авторы пишут, что по качеству она конкурирует с Gemini 2.5 Flash и часто показывает первое или второе место.
Разбор подготовил❣ Александр Шишеня
CV Time
Сегодня в области мультимодальных моделей основной упор делают на языковой ризонинг. А для VLM интересно было бы перенести его в визуальное пространство. В своей статье авторы из DeepSeek предлагают делать это с помощью визуальных примитивов: точек и bounding-боксов.
Архитектура решения довольно стандартная. Берут DeepSeek-V4 (LLaVA) на 284 млрд параметров (13 млрд — активных) и прикручивают к нему трансформер DeepSeek-ViT. Он кодирует картинку размером 756x756 с помощью 324 визуальных токенов.
Стадии обучения следующие:
1. Pretraining
Добавляют дополнительные данные, чтобы модель уже на претрейне хорошо видела визуальные токены. Для этого кроулят Hugging Face и другие источники — и собирают почти 98 тысяч датасетов, которые затем фильтруют по качеству и покрытию разметки. В итоге остаётся около 32 тысяч датасетов. Bounding-боксы и точки задают в текстовом формате, а весь претрейн занимает триллионы мультимодальных токенов.
2. ColdStart Data
Для cold-start собирают отдельные датасеты по разным срезам: counting, spatial reasoning, vqa, maze navigation, path tracing. Counting делится на coarse-grained-задачи («посчитай всех медведей») и fine-grained-задачи («посчитай всех медведей, которые находятся на земле»).
Для fine-grained counting используют GQA и граф-сцены, с помощью которых генерируют более сложные запросы. Также для задач Spatial Reasoning и VQA берут реальные картинки из GQA, но такие данные получаются слишком простыми, поэтому дополнительно добавляют синтетику из CLEVR — датасета с искусственно сгенерированными сценами.
Чтобы избежать галлюцинаций, добавляют негативные семплы. Например, модель просят найти медведей на сцене, где медведей на самом деле нет.
3. Specialized SFT и Specialized RL
На стадии Specialized SFT учат две модели, стартуя с общего претрейна: одну на данных с bounding-боксами, другую — на данных с точками.
После SFT специализированные модели отдельно дообучают через GRPO. Используют три типа ревордов: на формат, качество (проверяют избыточность CoT, консистентность с ответом и прочее) и точность ответа. Для лабиринтов и path tracing добавляют дополнительные проверки, чтобы модель не хакала задачу и не строила неверные траектории. Для RL выбирают примеры, где модель отвечает не идеально, но хотя бы иногда правильно.
4. Unified RFT
Затем специализированными RL-моделями генерируют данные, на которых обучают единую модель. Для этого объединяют данные с bounding-боксами, точками и chain-of-thought.
5. On-Policy Distillation
Получившуюся модель дистиллируют сразу на две специализированные модели-учителя. После модель оценивают на counting, general VQA и других публичных visual reasoning-бенчмарках. Авторы пишут, что по качеству она конкурирует с Gemini 2.5 Flash и часто показывает первое или второе место.
Разбор подготовил
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍8🔥4👌1
Несколько идей о perception и reasoning в VLM
Глобально качество любой мультимодальной модели строится на трёх вещах: knowledge — визуальных и текстовых знаниях, заложенных в модель; perception — умении хорошо понимать изображение; и reasoning — её способности учитывать эти два пункта и делать по ним выводы. Сегодня делимся подборкой на эту тему от руководителя команды претрейна VLM Данила Кашина.
VLM Perception
Distributional Vision-Language Alignment by Cauchy-Schwarz Divergence
CLIP и другие VLM обучаются через InfoNCE, который максимизирует mutual information (MI). Но высокий MI не гарантирует близость распределений, поэтому текстовые и визуальные эмбеддинги могут оставаться разделёнными. В качестве решения авторы используют разложение “InfoNCE = alignment + uniformity” и добавляют дивергенцию Коши-Шварца для согласования распределений модальностей.
MergeMix: A Unified Augmentation Paradigm for Visual and Multi-Modal Understanding
В работе хотят сделать дешевле стадию DPO, для которой обычно нужна ручная разметка preference-пар. Вместо этого предлагают генерировать пары автоматически с помощью аугментаций. Берут изображение, подмешивают часть другого изображения и используют ответ для второго изображения как негативный, а ответ для исходного — как позитивный. Для этого применяют MergeMix — комбинацию ToMe-attention, mixup и SimPO. ToMe во время форварда объединяет похожие визуальные токены, что позволяет аккуратно переносить части одного изображения в другое. На полученных аугментациях делают обучение.
Learning to See Before Seeing: Demystifying LLM Visual Priors from Language Pre-training
Исследуют, как текстовый претрейн влияет на качество мультимодальных моделей. Во-первых, скейлинг оказывается неоднородным: для одних задач важнее размер модели, для других — объём данных. Во-вторых, для визуально-языкового ризонинга лучше работают сильные ризонинг-источники из текстового претрейна — код, математика и академические тексты. В-третьих, на визуальное восприятие сильно влияет качество визуального энкодера, и что интересно, качество на perception-based-задачах в процессе обучения быстро выходит на плато.
VLM Reasoning
Perception-R1: Advancing Multimodal Reasoning Capabilities of MLLMs via Visual Perception Reward
RL улучшает ответы модели, но почти не влияет на её способность видеть изображение. Поэтому к RLVR добавляют награду за атомарные визуальные факты (atomic visual facts), извлечённые из изображений. Так модель получает сигнал не только за правильный ответ, но и за правильное восприятие картинки.
Unleashing Perception-Time Scaling to Multimodal Reasoning Models
В обычных VLM perception — очень короткая фаза. Модель быстро переводит изображение в текстовое пространство и дальше рассуждает уже текстом. Чтобы это исправить, предлагают сделать perception длиннее и структурированнее за счёт перевода некоторых объектов с изображений в символьный вид. Это даёт дополнительный сигнал для RL, и мультимодальный ризонинг улучшается.
SophiaVL-R1: Reinforcing MLLMs Reasoning with Thinking Reward
Подход к оцениванию качества цепочки рассуждения, где предлагают добавлять reward за него. А чтобы избежать reward hacking, проверяют, различает ли верификатор правильные и неправильные ответы. Если да — используют его сигнал для обучения, если нет — отбрасывают такие примеры.
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic Shuffle
Решают проблему эффективности RL-дообучения. Оставляют самые контрастные пары с большим различием в реворде, а затем делают семплирование с возвращением, где вероятность выбора зависит от разницы между наградами. Чем контрастнее пара, тем чаще она попадает в обучение. За счёт этого растёт энтропия и RL-обучение становится лучше.
Разбор подготовил❣ Данил Кашин
CV Time
Глобально качество любой мультимодальной модели строится на трёх вещах: knowledge — визуальных и текстовых знаниях, заложенных в модель; perception — умении хорошо понимать изображение; и reasoning — её способности учитывать эти два пункта и делать по ним выводы. Сегодня делимся подборкой на эту тему от руководителя команды претрейна VLM Данила Кашина.
VLM Perception
Distributional Vision-Language Alignment by Cauchy-Schwarz Divergence
CLIP и другие VLM обучаются через InfoNCE, который максимизирует mutual information (MI). Но высокий MI не гарантирует близость распределений, поэтому текстовые и визуальные эмбеддинги могут оставаться разделёнными. В качестве решения авторы используют разложение “InfoNCE = alignment + uniformity” и добавляют дивергенцию Коши-Шварца для согласования распределений модальностей.
MergeMix: A Unified Augmentation Paradigm for Visual and Multi-Modal Understanding
В работе хотят сделать дешевле стадию DPO, для которой обычно нужна ручная разметка preference-пар. Вместо этого предлагают генерировать пары автоматически с помощью аугментаций. Берут изображение, подмешивают часть другого изображения и используют ответ для второго изображения как негативный, а ответ для исходного — как позитивный. Для этого применяют MergeMix — комбинацию ToMe-attention, mixup и SimPO. ToMe во время форварда объединяет похожие визуальные токены, что позволяет аккуратно переносить части одного изображения в другое. На полученных аугментациях делают обучение.
Learning to See Before Seeing: Demystifying LLM Visual Priors from Language Pre-training
Исследуют, как текстовый претрейн влияет на качество мультимодальных моделей. Во-первых, скейлинг оказывается неоднородным: для одних задач важнее размер модели, для других — объём данных. Во-вторых, для визуально-языкового ризонинга лучше работают сильные ризонинг-источники из текстового претрейна — код, математика и академические тексты. В-третьих, на визуальное восприятие сильно влияет качество визуального энкодера, и что интересно, качество на perception-based-задачах в процессе обучения быстро выходит на плато.
VLM Reasoning
Perception-R1: Advancing Multimodal Reasoning Capabilities of MLLMs via Visual Perception Reward
RL улучшает ответы модели, но почти не влияет на её способность видеть изображение. Поэтому к RLVR добавляют награду за атомарные визуальные факты (atomic visual facts), извлечённые из изображений. Так модель получает сигнал не только за правильный ответ, но и за правильное восприятие картинки.
Unleashing Perception-Time Scaling to Multimodal Reasoning Models
В обычных VLM perception — очень короткая фаза. Модель быстро переводит изображение в текстовое пространство и дальше рассуждает уже текстом. Чтобы это исправить, предлагают сделать perception длиннее и структурированнее за счёт перевода некоторых объектов с изображений в символьный вид. Это даёт дополнительный сигнал для RL, и мультимодальный ризонинг улучшается.
SophiaVL-R1: Reinforcing MLLMs Reasoning with Thinking Reward
Подход к оцениванию качества цепочки рассуждения, где предлагают добавлять reward за него. А чтобы избежать reward hacking, проверяют, различает ли верификатор правильные и неправильные ответы. Если да — используют его сигнал для обучения, если нет — отбрасывают такие примеры.
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic Shuffle
Решают проблему эффективности RL-дообучения. Оставляют самые контрастные пары с большим различием в реворде, а затем делают семплирование с возвращением, где вероятность выбора зависит от разницы между наградами. Чем контрастнее пара, тем чаще она попадает в обучение. За счёт этого растёт энтропия и RL-обучение становится лучше.
Разбор подготовил
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29❤17👍10❤🔥1
DeepEyesV2: Toward Agentic Multimodal Model
В последний год в статьях всё чаще затрагивают идею агентного зрения, где VLM используют в решении задач не только язык, но и создают новые изображения с помощью внешних инструментов.
Сегодня разбираем DeepEyesV2 — открытый бейзлайн мультимодального агентного ризонера. Авторы собирают его на основе опенсорсных данных в стадиях ColdStart и RL, и показывают рост по многим бенчмаркам. Бонусом — делятся данными неудачных подходов и проводят интересные ablation studies.
RL без Cold Start
В предыдущей DeepEyesV1 авторы через RL обучали модель использовать специализированные инструменты — функции кропа картинок и зума. В V2 попробовали тот же подход на сложных инструментах (Python и картиночном поиске) — и получили негативный результат.
Оказалось, что даже если до RL модель (в данном случае Qwen-2.5VL-7B) выполняла вызовы, после — разучивалась это делать (!). Причина в форматных ошибках: вызовы сложных инструментов требуют точного синтаксиса, в отсутствие которого модель получала штрафы от реворда форматирования. А при добавлении реворда на вызов, она обучалась хакать его — генерировать бессмысленные (но гарантированно корректные) вызовы Python, вроде:
Авторы пришли к выводу, что для сложных инструментов необходимо сначала показать модели примеры правильных вызовов во время Cold Start.
Сбор данных и обучение
Авторы постарались выжать из опенсорсных данных сложный и разнообразный датасет. Собрав наборы вопросов, картинок и ответов, они выфильтровывают примеры, которые Qwen-2.5.VL-7B уже может решить без ошибок. На оставшихся примерах в качестве ground-truth собирают траектории фронтирных моделей. Для определения сложности семплов используют pass@k как с инструментами, так и без них, руководствуясь следующей логикой:
🔴 если модель без инструментов решает задачу — задача не нужна в обучении;
🔴 если модель с инструментами решает задачу редко — задача отправляется на RL-стадию;
🔴 если модель с инструментами не решает задачу вовсе, то на RL она получит нулевой advantage, но траекторию решения полезно положить в ColdStart.
В Cold Start авторы используют стандартный NLL, а в RL — DAPO с двумя ревордами: форматным (правильное форматирование CoT и вызова тулов) и на результат.
Результаты
Замеры показывают хороший рост на бенчмарках, особенно на CharXiv Reasoning (вопросы по инфографике), MathVerse (задачки по математике) и HRBench (поиск объектов на картинках с высоким разрешением) — около +5%, выше предыдущей версии и схожих конкурентов. С другой стороны, при сравнении с фронтирными моделями или топовыми китайскими VLM, разрыв остаётся огромным — в десятки процентов, а главный сценарий использования Python — Numerical Analysis (то есть продвинутый калькулятор).
Аблейшены
В статье есть ряд любопытных замеров. Например разбивка обучающих данных по категориям Perception/Reasoning/Search с тренировкой по разным сплитам. Интересный результат — на второй картинке: после RL количество вызовов становится меньше на тех же бенчмарках по сравнению с ColdStart. Это показывает, что на RL модель обучается выбирать инструмент «по сложности», а не детерминировано вызывать Python в любой ситуации.
В итоге у авторов получилась хорошая база для дальнейших экспериментов на разных стадиях с открытыми данными, протоколом обучения и весами моделей.
Разбор подготовил❣ Борис Зимка
CV Time
В последний год в статьях всё чаще затрагивают идею агентного зрения, где VLM используют в решении задач не только язык, но и создают новые изображения с помощью внешних инструментов.
Сегодня разбираем DeepEyesV2 — открытый бейзлайн мультимодального агентного ризонера. Авторы собирают его на основе опенсорсных данных в стадиях ColdStart и RL, и показывают рост по многим бенчмаркам. Бонусом — делятся данными неудачных подходов и проводят интересные ablation studies.
RL без Cold Start
В предыдущей DeepEyesV1 авторы через RL обучали модель использовать специализированные инструменты — функции кропа картинок и зума. В V2 попробовали тот же подход на сложных инструментах (Python и картиночном поиске) — и получили негативный результат.
Оказалось, что даже если до RL модель (в данном случае Qwen-2.5VL-7B) выполняла вызовы, после — разучивалась это делать (!). Причина в форматных ошибках: вызовы сложных инструментов требуют точного синтаксиса, в отсутствие которого модель получала штрафы от реворда форматирования. А при добавлении реворда на вызов, она обучалась хакать его — генерировать бессмысленные (но гарантированно корректные) вызовы Python, вроде:
# There is no need to write code
Авторы пришли к выводу, что для сложных инструментов необходимо сначала показать модели примеры правильных вызовов во время Cold Start.
Сбор данных и обучение
Авторы постарались выжать из опенсорсных данных сложный и разнообразный датасет. Собрав наборы вопросов, картинок и ответов, они выфильтровывают примеры, которые Qwen-2.5.VL-7B уже может решить без ошибок. На оставшихся примерах в качестве ground-truth собирают траектории фронтирных моделей. Для определения сложности семплов используют pass@k как с инструментами, так и без них, руководствуясь следующей логикой:
В Cold Start авторы используют стандартный NLL, а в RL — DAPO с двумя ревордами: форматным (правильное форматирование CoT и вызова тулов) и на результат.
Результаты
Замеры показывают хороший рост на бенчмарках, особенно на CharXiv Reasoning (вопросы по инфографике), MathVerse (задачки по математике) и HRBench (поиск объектов на картинках с высоким разрешением) — около +5%, выше предыдущей версии и схожих конкурентов. С другой стороны, при сравнении с фронтирными моделями или топовыми китайскими VLM, разрыв остаётся огромным — в десятки процентов, а главный сценарий использования Python — Numerical Analysis (то есть продвинутый калькулятор).
Аблейшены
В статье есть ряд любопытных замеров. Например разбивка обучающих данных по категориям Perception/Reasoning/Search с тренировкой по разным сплитам. Интересный результат — на второй картинке: после RL количество вызовов становится меньше на тех же бенчмарках по сравнению с ColdStart. Это показывает, что на RL модель обучается выбирать инструмент «по сложности», а не детерминировано вызывать Python в любой ситуации.
В итоге у авторов получилась хорошая база для дальнейших экспериментов на разных стадиях с открытыми данными, протоколом обучения и весами моделей.
Разбор подготовил
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍8🔥6❤🔥2🤔2🤩1
GLM-Image: Auto-regressive for Dense-knowledge and High-fidelity Image Generation
Продолжаем разбирать интересные авторегрессионные модели text-to-image. Недавно рассказывали о BitDance, а сегодня на очереди GLM-Image. В блогпосте технических деталей почти нет, зато есть код в Diffusers, так что архитектуру можно восстановить довольно подробно.
Идея в следующем. Большая LLM каузально генерирует последовательность семантических визуальных токенов, а затем отдельный DiT восстанавливает по ним изображение высокого качества. Генерация и редактирование картинок напрямую LLM — мысль не новая (вспомним хотя бы Janus), но GLM-Image отличается несколькими интересными design choice и заметно превосходит предыдущие авторегрессионные модели по качеству.
Архитектура состоит из двух частей: авторегрессионного GLM-4-9B и диффузионного декодера на 7B параметров.
LLM генерирует изображение поэтапно. Сначала строится сетка 8х8 токенов — грубая композиция сцены. Она остаётся в KV-cache, и модель продолжает генерацию уже для 16х16, а затем и 32х32 токенов. Получается обычная авторегрессионная генерация в raster-порядке, но с постепенным увеличением разрешения.
Дальше семантические токены поступают в single-stream DiT, где поканально конкатятся с латентом шума. Примерно за 50 шагов диффузии модель восстанавливает финальное изображение. Любопытно, что текстовые эмбеддинги в DiT вообще не используются, поскольку считается, что вся семантика уже содержится в токенах, сгенерированных LLM. Исключение — текст в кавычках. Его дополнительно кодируют через ByT5 и подают как отдельное условие, чтобы модель лучше рисовала надписи.
Эдитинг устроен похоже. Исходное изображение кодируют в те же семантические токены и вместе с текстом отправляют в LLM. Параллельно картинка проходит через VAE encoder, после чего его признаки объединяются с семантическими фичами и поступают в DiT. В итоге LLM отвечает только за семантику, а восстановление структуры и мелких деталей остаётся за диффузионным декодером.
Самая интересная часть работы — токенизатор. Авторы выбирают между обычным VQ-VAE и semantic-VQ. Первый лучше оптимизирует реконструкцию, второй специально обучается так, чтобы токены содержали семантическую информацию. При одинаковом размере кодбука авторегрессионной модели заметно проще предсказывать именно semantic-VQ-токены, поэтому выбор падает на них. Кроме того, с заделом на будущее такой токенизатор открывает путь к единому представлению для мультимодальных моделей.
Про обучение известно немного. Авторы почти полностью ссылаются на X-Omni. Берут SigLIP2-g, добавляют vector-квантизацию, выравнивают представления с помощью небольшой Qwen2.5-1.5B и получают кодбук всего на 16 тысяч токенов с адаптером в пространство LLM.
Сам авторегрессионный бэкбон — GLM-4-9B-0414. Текстовые эмбеддинги замораживают, добавляют эмбеддинги визуальных токенов и заменяют LM-head новой головой, предсказывающей элементы кодбука. По сути, LLM просто учится продолжать последовательность, где после текста идут токены изображения. Судя по X-Omni, DiT отдельно обучают реконструкции по семантическим токенам, а затем обе модели шлифуют с помощью GRPO.
На бенчмарках GLM-Image находится в нижнем сегменте открытых SOTA-диффузионных моделей, но среди авторегрессионных подходов это большой шаг вперёд. Главная идея работы — использовать LLM как генератор семантических токенов, а восстановление деталей оставить диффузионному декодеру. Такая схема позволяет использовать знания LLM из текстового претрейна, естественно работать с interleaved-контекстом и получать качество, уже близкое к современным диффузионным моделям.
Разбор подготовил❣ Валерий Старцев
CV Time
Продолжаем разбирать интересные авторегрессионные модели text-to-image. Недавно рассказывали о BitDance, а сегодня на очереди GLM-Image. В блогпосте технических деталей почти нет, зато есть код в Diffusers, так что архитектуру можно восстановить довольно подробно.
Идея в следующем. Большая LLM каузально генерирует последовательность семантических визуальных токенов, а затем отдельный DiT восстанавливает по ним изображение высокого качества. Генерация и редактирование картинок напрямую LLM — мысль не новая (вспомним хотя бы Janus), но GLM-Image отличается несколькими интересными design choice и заметно превосходит предыдущие авторегрессионные модели по качеству.
Архитектура состоит из двух частей: авторегрессионного GLM-4-9B и диффузионного декодера на 7B параметров.
LLM генерирует изображение поэтапно. Сначала строится сетка 8х8 токенов — грубая композиция сцены. Она остаётся в KV-cache, и модель продолжает генерацию уже для 16х16, а затем и 32х32 токенов. Получается обычная авторегрессионная генерация в raster-порядке, но с постепенным увеличением разрешения.
Дальше семантические токены поступают в single-stream DiT, где поканально конкатятся с латентом шума. Примерно за 50 шагов диффузии модель восстанавливает финальное изображение. Любопытно, что текстовые эмбеддинги в DiT вообще не используются, поскольку считается, что вся семантика уже содержится в токенах, сгенерированных LLM. Исключение — текст в кавычках. Его дополнительно кодируют через ByT5 и подают как отдельное условие, чтобы модель лучше рисовала надписи.
Эдитинг устроен похоже. Исходное изображение кодируют в те же семантические токены и вместе с текстом отправляют в LLM. Параллельно картинка проходит через VAE encoder, после чего его признаки объединяются с семантическими фичами и поступают в DiT. В итоге LLM отвечает только за семантику, а восстановление структуры и мелких деталей остаётся за диффузионным декодером.
Самая интересная часть работы — токенизатор. Авторы выбирают между обычным VQ-VAE и semantic-VQ. Первый лучше оптимизирует реконструкцию, второй специально обучается так, чтобы токены содержали семантическую информацию. При одинаковом размере кодбука авторегрессионной модели заметно проще предсказывать именно semantic-VQ-токены, поэтому выбор падает на них. Кроме того, с заделом на будущее такой токенизатор открывает путь к единому представлению для мультимодальных моделей.
Про обучение известно немного. Авторы почти полностью ссылаются на X-Omni. Берут SigLIP2-g, добавляют vector-квантизацию, выравнивают представления с помощью небольшой Qwen2.5-1.5B и получают кодбук всего на 16 тысяч токенов с адаптером в пространство LLM.
Сам авторегрессионный бэкбон — GLM-4-9B-0414. Текстовые эмбеддинги замораживают, добавляют эмбеддинги визуальных токенов и заменяют LM-head новой головой, предсказывающей элементы кодбука. По сути, LLM просто учится продолжать последовательность, где после текста идут токены изображения. Судя по X-Omni, DiT отдельно обучают реконструкции по семантическим токенам, а затем обе модели шлифуют с помощью GRPO.
На бенчмарках GLM-Image находится в нижнем сегменте открытых SOTA-диффузионных моделей, но среди авторегрессионных подходов это большой шаг вперёд. Главная идея работы — использовать LLM как генератор семантических токенов, а восстановление деталей оставить диффузионному декодеру. Такая схема позволяет использовать знания LLM из текстового претрейна, естественно работать с interleaved-контекстом и получать качество, уже близкое к современным диффузионным моделям.
Разбор подготовил
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14❤5👍5🥰2
Concept Removal for Frontier Image Generative Models
Есть такая задача — разучивать модель генерировать нежелательные концепты: объекты и отношения между ними, стили и прочее. Нужно это для white-box-сетапов — случаев, когда модель необходимо дать пользователю не через API, а как набор весов.
Авторы статьи предлагают использовать transcoder-блок, который конвертирует латент нежелательного концепта в null и дальше подаёт в боттлнек и декодер генератора. Задача — обучить этот transcoder так, чтобы на инференсе он какие-то концепты кодировал, а какие-то — игнорировал.
Мы пробовали более простой архитектурно, но более требовательный к качеству данных подход. В нём:
🔴 готовили пары промптов с нежелательным концептом и без него,
🔴 генерировали много вариантов по обоим промптам,
🔴 отбирали пары, которые отличаются минимально, кроме отсутствия концепта,
🔴 алайнили на них модель.
Оказалось, что авторы работы тоже много экспериментировали с этим методом и даже написали о нём отдельную статью. По их словам, он сложнее для качественной реализации, чем описанный в этой работе. А ещё — склонен негативно влиять на общую релевантность (что мы тоже замечали).
Разбор подготовил❣ Сергей Кастрюлин
#YaICML2026
CV Time
Есть такая задача — разучивать модель генерировать нежелательные концепты: объекты и отношения между ними, стили и прочее. Нужно это для white-box-сетапов — случаев, когда модель необходимо дать пользователю не через API, а как набор весов.
Авторы статьи предлагают использовать transcoder-блок, который конвертирует латент нежелательного концепта в null и дальше подаёт в боттлнек и декодер генератора. Задача — обучить этот transcoder так, чтобы на инференсе он какие-то концепты кодировал, а какие-то — игнорировал.
Мы пробовали более простой архитектурно, но более требовательный к качеству данных подход. В нём:
Оказалось, что авторы работы тоже много экспериментировали с этим методом и даже написали о нём отдельную статью. По их словам, он сложнее для качественной реализации, чем описанный в этой работе. А ещё — склонен негативно влиять на общую релевантность (что мы тоже замечали).
Разбор подготовил
#YaICML2026
CV Time
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9❤🔥6👍5🔥1