Transfer between Modalities with MetaQueries
[страничка с кодом и данными]
Выше мы много обсуждали мультимодальные модели, способные одновременно понимать и генерировать картинки и текст. Архитектурно, для создания таких моделей сейчас предлагается два подхода:
1. Учить генеративную картиночную голову поверх VLM (Nexus-Gen, Qwen-Image);
2. Учить, условно, unified модель, которая будет генерить сразу картинки и текст (BAGEL, Transfusion, Show-o).
В первом случае надо подумать как именно передавать инфу из VLM в картиночный генератор. Обычно в качестве такого генератора используют диффузионку. Тогда, если представить, что VLM — это просто текстовый энкодер, то можно использовать наиболее популярный интерфейс — подавать в денойзер текстовые эмбединги с последних слоёв VLM. Так делать можно, но авторы этой работы утверждают, что есть способ получше и предлагают подход MetaQueries.
Идея и метод
MetaQueries — это набор небольшого количества обучаемых векторов (queries), которые подаются на вход замороженной VLM вместе с обычным промптом (текстом и/или изображением). Эти "мета-запросы" заставляют VLM извлечь из своих латентных представлений всю необходимую информацию для генерации.
Полученные на выходе представления от MetaQueries затем через небольшой обучаемый коннектор (трансформер-энкодер) подаются в качестве условия (condition) в любую предобученную диффузионнку, заменяя ее стандартный текстовый энкодер.
Весь процесс обучения сводится к простой и стабильной задаче: обучить MetaQueries и коннектор на обычных парах (картинка, промт) с любым вариантом диффузионного лосса.
Метод сильно напоминает Q-Former с двумя отличиями:
- В MetaQueries нужно прокидывать градиенты через энкодер (VLM);
- В MetaQueries картиночный condition подаётся прям на вход, а не через cross-attn коннектора.
Эксперименты и результаты
Авторы учат коннекторы размера от 84М до 2В между весьма мелкими LLaVA-OneVision-0.5 и Sana-0.6B в претрен сетапе (lr=1e-4, bs=4096) порядка 50к итераций чтобы показать FID MJHQ-30k порядка 6 и GenEval порядка 0.6 😂 (ладно-ладно, скидка на мелкие VLM и денойзер).
Важно, что в процессе проаблейтили и на цифрах показали, что:
- Дообучение без разморозки VLM даёт примерно такое же качество как с разморозкой но без MetaQueries;
- Больше длина последовательности queries — не всегда лучше (есть некая золотая середина);
- По бенчам метод действительно лучше чем просто брать эмбеды с последнего слоя
Еще понравилось, что с помощью MetaQueries можно почти идеально выучить реконструкцию картинок. Это значит, что метод позволяет довольно детально пробрасывать через VLM картиночную инфу, что полезно для задач с использованием картиночного condition’a.
Не понравилось, что надо пропускать градиенты через VLM. На практике может оказаться, что Q-Former даёт примерно такое же качество без дополнительных инженерных приседаний.
Post #264
919

- 👍 6
- ❤ 3
- 🥰 1