2.91K subscribers
184 photos
6 files
380 links
Квантование & Прунинг & Дистилляция

Блог про сжатие сетей и не только.
От древнейших времен по настоящее время.
Download Telegram
NextFlow: Unified Sequential Modeling Activates Multimodal Understanding and Generation
[Статья][Репозиторий без кода]

Некоторое время назад был предложен VAR - авторегрессионная модель, генерирующая за один проход не один токен, а целое разрешение. Оригинальная модель выдавала неплохое качество на class-conditional генерации ImageNet, а затем вышли text-to-image модель Infinity и Switti. Однако составить серьезную конкуренцию диффузионным моделям данному направлению не удалось.

И в данной работе делают новый заход, причем конечная модель умеет не только в text-to-image, но еще и эдитинг.
👍3
🔬 Метод

🏘 Архитектура

📌 За основу берут подход VAR с TokenFlow токенизатором. Однако в последовательностях изображения могут входить теперь как желаемый выход, так и условие.
📌 Модель инициализируется из Qwen-2.5-VL-7B. Визуальные токены из кодбука добавляются в словарь. Пробовали раздельные головы для языка и зрения, но одна голова оказалась не хуже.
📌 Multiscale 3D RoPE. Координаты для текста реплицируются вдоль всех осей, для зрения нормализуют на размер изображения.
📌 В лоссе масштабируют на размер карты признаков, чтобы учесть разное количество токенов на разных уровнях.
📌 Сэмплирование из распределения с некоторой температурой на обучении вместо кодирования к ближайшему кодовому слову для устойчивости к шуму.

👨‍🏫 Стадии обучения

📌 Обучают суммарно на 6Т токенов.
📌 На первой стадии делают короткий alignment на 256px, где учат только коннектор и выходной слой.
📌 Затем обучают последовательно на разрешениях 256, 512, 1024.
📌 Потом делают SFT на данных более высокого качества.
📌 На финальной стадии гоняют GRPO, адаптированный к VAR. Градиенты пробрасываются только через 8 (из 10?) скейлов низкого разрешения.

Ко всему прочему обучают диффузионный декодер (а-ля refiner) для улучшения сэмплов, полученных из VAR.

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

Модель выдает довольно хорошие метрики. Метрики на GenEval/DPG (что бы это ни значило) на уровне GPT-Image 1 и Qwen-Image.
На ImgEdit выдает около SOTA.

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

💡 Выводы

Неплохой заход со стороны scalewise генерации. Но чтобы оценить по достоинству, требуется, чтобы community могло поиграться и сопоставить с тем что есть. Сможет ли оно догнать уровень SOTA-диффузии - время покажет.
🔥3👍1
Интересный и содержательный видос на GPU Mode про вычисления / специфику операций с целочисленными типами и плавающей точкой.

В частности, иллюстрируется диапазон и точность для разных форматов, и демонстрируется неассоциативность операций в fp.
👍16
GLM-Image: Auto-regressive for Dense-knowledge and High-fidelity Image Generation
[Модель][Блог]

z-ai (наши 🐘) выпустили гибридную авторегрессионную картиночную модель с диффузионным декодером.

Авторегрессия обучается с инициализации 9B VLMкой, и учат 7B диффузионный трансформер.

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

Как утверждается, оно умеет довольно хорошо в lettering, на уровне SOTA.
🔥15💩4🖕21👍1🍌1
SnapGen++: Unleashing Diffusion Transformers for Efficient
High-Fidelity Image Generation on Edge Devices

[Статья][Без кода]

Введение

От диффузии хочется чтобы она генерила качественно и быстро, а в идеале еще и не на очень мощном железе. За последнее время вышло много моделей хорошего качества - Qwen-Image, Z-Image, FLUX-2, но все это ни разу ни про генерацию на мобилках 📱.

Ребята из SnapChat призадумались и произвели на свет диффузионку, способную выдавать достойное качество генерации на смартфонах.
👍5🔥2
🔬 Метод

🏘 Архитектура

За основу берут DiT из PixArt-α, но с рядом особенностей и модификаций:
📌 В качестве бейзлайна берут модель на 400М с MultiQueryAttention и уменьшенными FFN-ами. (не понял зачем MQA, если не используются KV-кэши)
Архитектуру DiT-a превращают в песочные часы. После нескольких блоков делают downsampling x2 по каждой из осей, и гоняют карты признаков меньшего размера, а затем ближе к концу снова повышают разрешение добавляя skip-connections как в UNet.
📌 Чтобы удешевить attention на высоком разрешении, делают следующее:
1) Сверткой сжимают ключи и значения
2) Attention не глобальный, а блочный, друг на друга внимаются только соседние токены в пределах блока.
📌Затем еще добавляют skip-connections в middle-block (после downsampling), увеличивают ffn на высоком разрешении и подбирают количество блоков до сжатия и после разжатия.

Архитектурный ablation проводят на ImageNet на основе валидационного лосса, а затем переносят на text-2-image модель.

Кроме того, учат не одну модель за раз, а суперсеть 🕸, включащую в себя подсети для работы на разных устройствах:
👶 Самую маленькую на 0.3B параметров, чтобы гонять на не high-end андроидах.
👦 Чуть побольше на 0.4B, для более high-end.
💪 И самую большую и сильную на 1.6B, для быстрого инференса на GPU.

На обучении все подсети сэмплируются из подсети и обучаются на flow-matching loss. Подсети еще дистиллируют на всей суперсети для лучшей сходимости и качества.

Кроме того, еще добавляют дистилляцию на выходы учителя (Qwen-Image), причем дистиллируют не только скорость, но и последнее скрытое состояние.

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

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

Учат подсеть на 1.6B параметров с двумя подсетями. В качестве текстовых энкодеров берут TinyClip и Gemma3-4b-it.

Сначала преобучают на разрешении 256, а потом переходят на 1024.
0.4B моделька при инференсе в 4 шага отрабатывает на 16-ом айфоне на 1.7c.

По user study меньшая модель чуть лучше SANA-1.6M и чуть хуже SD3M, а большая на 1.6B параметров как FLUX-1-dev.

На автобенчах (DPG/GenEval) тоже неплохо.

💡 Выводы

Выглядит как достойная инженерная работа по заведению диффузии на мобилках. Не NanoBanana, конечно, но вполне себе пригодно.
👍31
К разговору о компактных диффузионнках.

Black Forest Lab выпустили меньшие версии FLUX2 с суффиксом [klein]
👶 9B модель с Qwen-3-8B текстовым энкодером
👶 4B модель с Qwen-3-4B текстовым энкодером

Обещают инференс за 0.5 сек.

Кроме того, выпустили FP8 и NVFP4 версии моделей.
👍8🔥3
Тут в соцсети Х обнаружили забавную утечку на MMLU-Pro.

Правильный ответ во многих примерах имеет лишний отступ. Если отгадывать ответ на основе отступа, то получается прирост на 10-15% по сравнению с случайным угадыванием на срезах по математике/физике/химии.

SOTA качество так не выбить, но умение моделей пользоваться этой утечкой ведет к статзначимой разнице в качестве.
😁304🌚3
Отличный разбор от некоего Jia-Bin Huang (звучит как персонаж из звездных войн) статьи mHC: Manifold-Constrained Hyper-Connections от DeepSeek 🐋 с визуализациями, сделанными в manim.
7
KVzap: Fast, Adaptive, and Faithful KV Cache Pruning
[Статья][Репозиторий]

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

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

В данной статье исследователи предлагают новый метод сжатия KV-кэшей посредством выбрасывания наименее информативных токенов, выдающий state-of-the-art баланс между качеством 🥇 и скоростью 🏃.
6
🔬 Метод

В качестве отправной точки берут метод KVZip, который дублирует входной промпт следующим образом

user: <prompt>
Repeat the previous context exactly.
assistant: <prompt>


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

Авторы предлагают модификацию KVZip+, которая дополнительно еще учитывает тот факт, что внимание домножается на value и выходную проекцию O - тем самым получая более точную оценку на важность данного токена.

Конечный метод KVZap предлагает обучать небольшую нейросеть (линеный слой или MLP) предсказывать оценку из KVZip+ и использовать ее для выбрасывания токенов. Предсказание стоит заметно меньше, чем выгрузка большого KV-кэша на каждом шаге генерации. На инференсе задается некий порог важности, выше которого токен принимается, а ниже выбрасывается.

Для обучения предсказателей собирают выборку из 1.2M пар hidden / метрика из датасета Nemoton-CC. Кроме того для гарантированного сохранения ближайших токенов сохраняют всегда 128 последних токенов.

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

Метод валидируют на Qwen3-8B, Llama-3.1-8B-Instruct, and Qwen3-32.
Качество оценивают на бенчах длинного контекста - RULER/LongBench и AIME25 (ризонинг с длинным контекстом).

По квадратичной ошибке двуслойная MLP всегда лучше линейного слоя, и превосходство имеет место в большинстве случаев и на бенчах, кроме Llama.

KVZap по качеству равен или чуть хуже KVZip, но опережает заметно, все остальные бейзлайны.

В ablation показывают, что фиксированный порог лучше, чем topk pruning, потому что разные тексты могут иметь разную информационную нагрузку. Скользящее окно важно для хорошего качества.

В итоге удается достичь сжатия в 2-4 раза без просадки в качестве.

💡 Выводы

Выглядит как вполне рабочий и сравнительно легко применимый на практике подход с небольшим пост обучением. Из бейзлайнов не хватает очень похожего по смыслу и мотивации AutoJudge, где важность токенов определяется на основе конечной задачи. В то же время, данный подход, по всей видимости, более обобщаем на другие задачи.
3👍3
На GPU Mode недавно вышла 3-х часовая лекция про RL, Агентов и фреймворк для создания и работы со средами OpenEnv.

Выступают рассказчики из unsloth, лицехватс и разработчики торча.

Довольно содержательно и познавательно. В частности, разбираются характерные нюансы и проблемы обучения с подкреплением.
16👍6
Scaling Text-to-Image Diffusion Transformers with Representation Autoencoders
[Статья] [Код]

Введение

RAE (Represenation Auto Encoders) ранее неплохо себя показали в качестве альтернативы VAE в задаче Class Conditional генерации.

Однако валидации на масштабе и для задачи text-2-image не было. Поэтому вопрос о масштабируемости парадигмы оставался открытым.

И вот коллектив оригинальных авторов + ЛеКун выпустили продолжение с экспериментами на t2i.
🔬 Метод

Напомним, что RAE кодирует одновременно высокочастотную информацию, необходимую для реконструкции и сематническую. RAE инициализуется неким семантическим энкодером (SigLIP/WebSSL) и дообучается на реконструкцию + дополнительные лоссы.

В данной работе рассматривают в качестве базовых тушек SigLIP2/WebSSL и обучают RAE на реконструкцию + LPIPS + Грам лосс + адверсариальный лосс. Удается добиться качества реконструкции между SDXL VAE и FLUX VAE. Для реконструкции текстов (внезапно) важно долить текстовых данных.

Используют MetaQuery в архитектуре - последовательность обучаемых токенов той же длины, что и выход RAE (256 токенов для изображений 224x224).

Для оригинального RAE для лучших результатов было важно зашумлять латенты и делать широкую DDТ голову. Для T2I оказывается, что данные изменения не дают особого прироста если учить достаточно долго достаточно большие модели.

А вот сдвиг расписания (flow shift) остается довольно важным.

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

Обучение состоит из двух стадий - претрейна на большом количестве данных и файнтьюне на более качественных данных.

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

Основная масса экспериментов проводится на 1.5B Квене в качестве текстового энкодера и 2.4B диффузионной модели.

RAE сходится значительно быстрее к тем же метрикам (в 4 раза по GenEval, в 4.6 раз по DPG Bench) и выходят на лучшее качество при заданном бюджете.

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

Интересной фичой подхода с RAE является способность оценивать свои генерации, тем самым делая возможным test-time scaling по типу Best-of-N.

💡 Выводы

Годная валидация подхода, но дабы окончательно убедиться в
эффективности, наверное, потребуются модели околосотового качества.
👍32🔥2
Качественный и иллюстративный получасовой видеообзор субквадратичных аналогов внимания.

В частности, разобраны:
• Linear Attention
• Gated Linear Attention
• Gated Delta Net
• Titan
🔥14👍5