3.37K subscribers
253 photos
7 files
462 links
Квантование & Прунинг & Дистилляция

Блог про сжатие сетей и не только.
От древнейших времен по настоящее время.
Download Telegram
Квен на самом-деле произносится как Чивен.

Теперь живите с этим.

[Видео]
😁3053👍2🔥2🙏1💯1
FLARE: Diffusion for Hybrid Language Model
[Статья] [Код] coming soon (или не soon)

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

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

Именно такой рецепт предлагает команда Adobe. Авторы показывают, как конвертировать SOTA AR-модель в гибридную диффузионную архитектуру, сохранив большую часть качества исходной модели.
👍6
🔬 Метод

Ключевая идея — максимально сохранить знания базовой авторегрессионной модели, то есть её autoregressive prior.

Для этого входная последовательность дублируется в два потока:
1️⃣ Чистый поток — обычная авторегрессия.
2️⃣ Шумный поток — диффузионный. Он обусловливается на:

зашумленные токены внутри текущего блока;
чистые токены из предыдущих по времени блоков.

Лосс-функция одновременно оптимизирует:
• авторегрессионный лосс;
• диффузионный лосс размаскирования.

Для GDN рекуррентное состояние берётся из последнего чистого блока и дополняется вкладом зашумлённого блока.

Для генерации предлагаются два режима:

👉 Diffusion-Trust

По сути напоминает confidence-based unmasking: модель постепенно раскрывает наиболее уверенные токены.

👉 AR-Trust

Фактически вариант спекулятивного декодирования. Диффузионный поток предлагает токены, а авторегрессионный поток их проверяет.

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

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

Первичные эксперименты проводят на Qwen3-1.7B (чистый Transformer).

Отдельное внимание уделяется выбору данных для адаптации. Авторы рассматривают различные смеси:
• CoT;
• Math;
• Instruction Following.

Наблюдение довольно интересное: хорошая смесь данных не должна ухудшать качество базовой модели уже после AR-SFT.

В итоге оказывается полезно смешивать данные из разных доменов. Финальный датасет содержит около 10B токенов.

В ablation показывают, что критически важны:

сохранение авторегрессионного потока;
наличие авторегрессионного лосса;
сдвиг логитов на один токен в диффузионном потоке.

Далее авторы переходят к моделям семейства Qwen-3.5 (2B / 4B / 9B).

FLARE-9B в большинстве сценариев превосходит:
• LLaDA-2.0;
• LLaDA-2.1;
• SDAR.

Однако отставание от базовой Qwen-3.5-9B всё ещё остаётся довольно заметным.

Как и ожидалось, AR-Trust показывает лучшее качество, чем более параллельный Diffusion-Trust.

Отдельно авторы оптимизируют инфраструктурную часть:
• сравнивают Gated Delta Rule и ShortConv;
• подбирают размеры блоков;
• исследуют различные схемы чанкирования.

В результате MFU удаётся почти удвоить относительно бейзлайна.

По throughput результаты тоже выглядят достойно:

заметно быстрее SDAR-1.7B;
младшие модели существенно опережают LLaDA;
версия 9B также сохраняет преимущество по токенам/сек.

💡 Выводы

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

Главная проблема пока остаётся прежней: нет открытых моделей и кода. Если бы авторы выложили оба артефакта, ценность работы была бы значительно выше.

Также остаются открытые вопросы:
Как выглядит end-to-end latency относительно AR-бейзлайнов?
Насколько хорошо подход масштабируется на современные крупные MoE-модели вроде DeepSeek-V4, Minimax M3 или Qwen-3.5-397B?

Будет интересно посмотреть на продолжение этой линии работ.
Alphaxiv поверх Gemini 3 Flash ни с того ни с сего переходит на китайский.

Напрашивается следующее подозрение - либо под капотом запихнули (квен чивен), либо гугол дистиллит на трейсах китайцев 🤪. А то и учит с инициализации.
😁16🤔6
DFlare: Scaling Up Draft Capacity for Block Diffusion Speculative Decoding
[Статья]

По существу работа предлагает инкрементальные улучшения поверх DFlash (наткнулся, когда искал код FLARE), поэтому кратко:
👉 Вместо того, чтобы брать равномерно признаки с какого-то по какой-то слой, делают взвешенное смешивание с обучаемой матрицей.
👉 Разделяют KV проекции для target контекста и драфтовых токенов.
👉 В экспоненциальном затухании весов токенов при удалении вглубь драфта постепенно повышают знаменатель (снижают скорость затухания).
👉 Stack more layers and train on more (3x) data 😝.

В итоге оно дает 5-10% ускорения против DFlash.
👍9🤔3
И премию за самые информативные названия коммитов получает...

[Ссылка]
😁12
Alignment Collapse Under KV Cache Quantization: Diagnosis and Mitigation
[Статья][Код]

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

Однако на практике есть еще один важный аспект — безопасность.

Авторы показывают, что модель может практически не потерять качество по стандартным метрикам, но при этом заметно хуже соблюдать alignment и гораздо охотнее отвечать на опасные запросы.
🔥104
🔬 Метод

Ключевое наблюдение статьи в следующем - признаки, отвечающие за способность модели отказывать в ответе, лежат в низкоразмерном подпространстве. Перплексия / стандартные бенчи оценивают возмущение в более высокоразмерном пространстве. Можно в среднем не сильно исказить общие признаки, но существенно задеть safety.

Далее авторы исследуют природу safety признаков.

Если safety каналы соотвествуют выбросам (каналам с большой нормой), то большой разницы между per-tensor квантизацией и per-channel (per-group) не будет. Если же они лежат в каналах с небольшой нормой, то они более чувствительны к выбору гранулярности.

Вводится PCR Score (FlipRate - доля ответов, где модель со сжатым кэшом согласилась на harmful запрос, а с несжатым отказалась)

PCR=1 − FlipRate_{per-tensor}​ / FlipRate_{per-channel​​}

Кроме того safety может быть распределена между несколькими подряд идущими слоями (spread). Их тогда следует обрабатывать аккуратнее.

Общая процедура safety-aware квантизации следующая:
• Квантизуем кэш каждого слоя по отдельности. Находим те, где большой процент флипов.
• Находим слои, где FlipRate превышает 10-20%.
• Считаем PCR

Для чувствительных слоев:
• Если PCR < 30% держим в FP16
• PCR 30-70% - в FP16 первый слой из группы подряд идущих критических слоев, остальные квантизуем с размером группы 64.
• PCR > 70% (low spread) - просто квантизуем с размером группы 64
• PCR > 70% (high spread) - FP16 для первых 3-4 слоев, а далее все с размером группы 64

Для такой калибровки достаточно ~20 промптов, и оно неплохо, как утверждается, обобщается.

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

Исследования проводят на разных моделях (Qwen-2.5, Mistral, Mixtral, Gemma-2, Yi) и для разных техника сжатия (наивное сжатие / KIVI). Замеряют на совокупности из 5 safety бенчей - AdvBench, HarmBench, XSTest, IFEval, и каком-то своем датасете.

У разных моделей разные паттерны Safefy
• У Квена Safety сконцентирована в 0 слое
• Gemma-2 больше всего в первом слое, но еще и на нескольких соседних
• Mistral / Yi - Safety распределена широко по всей модели

Safety ломается на разных битностях (при per-tensor квантизации). У квена уже при 6-битной квантизации refusal ломается, у Mistral на 4-х битах, Gemma-2 / Mixtral только при 2-битной, когда уже сама по себе модель перестает выдавать что-то внятное.

Далее авторы валидируют свой подход по safety-aware квантизации. Защищая конкретные слои удается для некоторых моделей (для Qwen-2.5-7B) прямо хорошо сохранить safety (в 1.9% модель согласилась выполнить harmful запрос против 90.3% без защиты). Но всегда оно так хорошо работает.

Еще утверждается, что подход обобщается на разные модели (Olmo / KIVI квантизатор). FP8 квантизация KV-кэша для Квена тоже существенно сказывается на safety, а вот если квантовать в INT - то почти без разницы с FP16.

💡 Выводы

Довольно важное наблюдение для развертывания моделей на практике. Провайдерам и владельцам разных сервисов стоит быть начеку, ибо экономия памяти без видимой просадки качества может привести к репутационным рискам и потерям. Интересно, если заквантовать кэш Фаблы 5-ой будет ли справедливо то же самое? Немного удивляет выбор моделей для статьи вышедшей в июне 2026 года - модели в основном довольно старые, никаких тебе последних квенов и гемм.
👍2
Когда пытаешься воспользоваться Фаблой
😁324
КПД
И премию за самые информативные названия коммитов получает... [Ссылка]
В телеге, впрочем, тоже не шибко парятся за информативный changelog)
11😁6
Симпатичный и содержательный блогпост про Flow-Based генерацию языка.

Содержание блога следующее:
1️⃣ Стандарные вводные про авторегрессию vs диффузию
2️⃣ Специфика текстовый диффузии
3️⃣ Наблюдение про то, что минимизация L2 для x0-предсказания суть MLE для гауссовой модели с фиксированной дисперсией
4️⃣ Затем вводится понятие FlowMap - отображения из любой точки s на траектории в любую другую t (иначе говоря, выход интегрирования по мгновенной скорости)
5️⃣ Обучать FlowMap можно через Lagrangian self-distillation (тождество, которому обязан удовлетворять FlowMap)
6️⃣ Далее приводится специальная форма FlowMap для категориального распределения, когда распределение живет на вероятностном симплексе
8👍2🔥1
MiniMax Sparse Attention
[Статья] [Код]

Работа с длинным контекстом становится все более востребованной, но стандартный full attention вычислительно дорогой, поэтому за последние годы появилась целая плеяда работ, предлагающих разные вариации Sparse Attention.

И в данной работе предложили Yet Another Sparse Attention, который даже масштабируется на крупные и практически интересные модели — свежевышедший Minimax M3.
🔬 Метод

Концептуально метод довольно несложный. Возникают две ветки вычислений:

🤙 Легковесная индексирующая ветка. В ней на каждую query-группу в исходном внимании приходится одна query-голова и одна единственная key-голова на весь слой. Сначала считается pre-softmax скор, а затем отбирается максимальное значение в рамках некоего разбиения на блоки. Затем берутся topK блоков с наибольшим найденным значением максимума.
🤙 Главная ветка. Обычное блочно-разреженное внимание на блоках, которые вернула индексирующая ветка.

Процедура обучения устроена следующим образом:

👉Функция потерь — KL-дивергенция между выходами индексной ветки и усредненными выходами основной ветки. Хотим, чтобы выбранная sparsity в индексной ветке совпадала с главной. Через вероятности в главной ветке делается stopgrad, чтобы не коллапсировало.
👉 На входы индексной ветки тоже накладывается stopgrad, чтобы оптимизировались только проекции индексной ветки и градиент не тек ниже по модели.
👉 Разогрев индексной ветки. Сначала некоторое время гоняют полный attention в обеих ветках, а затем включают topK в индексной ветке.
👉 Последний блок (скользящее окно токенов) добавляют всегда.

С Minimax Sparse Attention (MSA) можно обучать как с самого начала, так и пострейнить.

Еще они наворотили topK-кернел, который быстрее торчового и быстрее TileLang-референса. И еще там персистентная сетка, учитывающая неоднородную и динамическую загрузку в процессе вычислений.

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

Эксперименты проводят на 109B MoE с 6B активными параметрами (учат на 3T токенов суммарно). Есть три постановки:
🔅 Full Attention бейзлайн
🔅 MSA-PT (учат MSA с нуля)
🔅 MSA-CPT (2.6T токенов с Full Attention / 400B с MSA)

MSA учится довольно стабильно, лосс почти не отходит от Full Attention, без спайков и скачков.

По метрикам все 3 варианта довольно близки, без явного победителя, при этом в MSA внимание проводится всего на 2048 токенов (16 блоков по 128 токенов). Для работы на длинном контексте дополнительно дообучают модель, и там она на Helmet/RULER примерно на уровне MSA.

На контексте в 1М токенов предложенный подход дает 28х теоретического ускорения против полного внимания, но на практике выходит 14х на префилле и 7х на декоде из-за дополнительных оверхедов с запуском второй ветки вычислений, topK, индексаций.

💡 Выводы

Подход, безусловно, интересный, но не хватает сравнения с линейными вниманиями (в идеале гибридами полного и линейного внимания), а также другими бейзлайнами по Sparse Attention (с тем же Big Bird, DeepSpeed Sparse Attention, XAttention, DeepSeek-V4 разреженными вниманиями и многими другими). Также непонятно, как оно себя ведет на context-intensive задачах. А еще ускорения почему-то репортятся на H800, а кернелы выложены только под Blackwell.
7
Alex Smola (известный как пионер large-scale деплоя моделей и CEO Boson AI) выложил очень содержательную презентацию по Efficiency in LLMs, которую он расскажет Machine Learning Summer School (записи вроде не будет 😰).

В ней он рассказывает про:
• Современное железо и как оно влияет на инференс/обучение LLM
• Serving моделей
• Сжатие весов и KV-кэшей (затрагивая довольно свежие работты в том числе)

Рекомендую всем, желающим погрузиться в область или освежить знания.
🔥23
Как мне кажется, есть некоторая несправедливость в том, что на разные инкрементальные улучшения авторегрессии (yet another sparse attention, новые residual connections, gating в аттеншене) и их ablation находится ресурс на обучение в более-менее практически релевантной постановке (модели размером 10B-100B параметров на бюджетах порядка триллиона токенов), а куда концептуально более интересные работы по текстовой диффузии в основном обучаются в игрушечных сетапах а-ля ~100M модель на нескольких миллиардах токенов.

Впрочем, возможно, лучше синица в руке, чем журавль в небе...
15👏2
Flow Map Language Models: One-step Language Modeling via Continuous Denoising
📄 [Статья]
💻 [Код]

Статья старше ELF и LDLM, тем не менее интересна с точки зрения самого подхода и теоретических результатов.

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

В непрерывной диффузии этого можно добиться, но на практике она обычно уступает дискретной. И в этой работе предложили подход к генерации текста, основанный на непрерывных потоках, к которому ещё прикрутили flow map-дистилляцию, позволяющую получать адекватное качество на малом числе шагов сэмплирования.
7👍2
🔬 Метод

За основу берётся фреймворк flow matching со стохастическим интерполянтом на непрерывных данных.

Однако вместо стандартного v-prediction предлагают перейти к x-prediction, мотивируя это аналогично работе JiT из картиночного мира: мол, оно лежит на многообразии, а скорость — нет.

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

Далее в статье вводят формулировку Flow Map — отображения, которое переводит из заданной точки в любую другую. Целевое отображение параметризуют в виде two-time денойзера, обладающего следующими свойствами:

🔹 Выход денойзера лежит на вероятностном симплексе.
🔹 Если оба времени совпадают, получаем обычный денойзер для x0-prediction.
🔹 Полугрупповое свойство: попасть в точку t из s — то же самое, что из s в u посередине, а затем из u в t.

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

⚠️ Ещё из важных аспектов следует отметить следующее

🔸 Равномерные шаги сэмплирования работают плохо. Авторы замеряют decoding error rate (долю неправильно предсказанных токенов) в зависимости от времени и замечают, что она держится в районе 1 (всегда ошибаемся) большую часть траектории, а в конце резко падает в 0. Поэтому шаги подбираются так, чтобы равномерно улучшать данную метрику. То есть шаги сконцентрированы в районе переходной зоны.

🔸 В отличие от дискретной диффузии, на непрерывную легко переносятся известные техники гайденса. Автогайденс с плохой моделью или гайденс на некоторый реворд.

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

Обучают модель на 179M параметров на LM1B и OpenWebText. Сравнивают с RDLM, CANDI, MDLM, Duo.

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

А если сравнивать дистиллированную версию FMLM, то на малом числе шагов (1–8) она оказывается заметно лучше конкурентов.

Затем сравнивают guidance. MDLM и Duo, начиная с какого-то момента (силы guidance), разваливаются, и перплексия уходит в стратосферу. У FLM перплексия только убывает с ростом гайденса, но энтропия тоже убывает.

🎯 Гайденс на реворд улучшает целевую метрику.

Затем проводят ablation метода:

🔹 x0-prediction гораздо лучше, чем v-prediction.
🔹 CE loss с softmax на логитах даёт лучший результат.
🔹 Диффузия в евклидовом пространстве лучше различных римановых и симплексных вариантов.

Для FMLM:

🔹 two-time параметризация оптимальна.
🔹 Лучше стартовать с предобученной диффузии, а не с нуля.
🔹 Полугрупповой дистилляционный objective лучше, чем эйлеров или лагранжев (что есть что прекрасно разобрано у Sander Dieleman).

📝 Выводы

Небезынтересный подход с неплохой теоретической подоплёкой. Но, как и везде, встаёт вопрос масштабирования и обобщаемости.
👍6🔥3
Normalized Architectures are Natively 4-Bit
📄 [Статья]
💻 [Код]

Наличие выбросов в весах и активациях является характерной сложностью при квантизации LLM. Отсюда возникает вопрос: а можно ли избавиться от них на уровне самой архитектуры, и как это взаимодействует с квантизацией?

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

Но как это взаимодействует с квантизацией, и в частности с обучением в низкой точности? В рассматриваемой работе авторы провели теоретический и эмпирический анализ, показывающий, что можно стабильно обучать модели в NVFP4 без необходимости применения специальных техник, как в Quartet II.
👍3
🔬 Метод

Анализ сначала проводят на dense-трансформере против nanoGPT-бейзлайна.

В качестве меры точности рассматривают SNR (signal-to-noise ratio). Как нетрудно догадаться, это отношение сигнала к шуму, и чем оно выше, тем точнее приближение.

📊 Замечают следующее: если по отдельности отслеживать ошибку квантизации весов W и активаций X в ненормализованном и нормализованном случае, то особой разницы нет. Но если рассматривать уже скалярное произведение WX, то для nGPT ошибка на 7 дБ меньше.

Возникает вопрос: почему?

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

📈 Далее авторы строят корреляции скалярных произведений (WX) и обнаруживают, что у nGPT они действительно больше.

Кроме того, оказывается, что отношение SNR масштабируется с размерностью: чем жирнее модель, тем больше выигрыш. На типичных размерах современных моделей (hidden_dim ~ 1k–10k) отношение SNR порядка 4–6, а в пределе бесконечной размерности уходит в 14.2.

🛡️ Также проверяют прирост валидационного лосса при наложении гауссова шума, и у nGPT этот прирост в 3.5 раза меньше, чем у GPT.

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

Сначала обучают плотные GPT/nGPT на 1.2B параметров с AdamW на 1T токенах. Сама nGPT немного лучше GPT, и просадка качества при переходе к NVFP4 у nGPT тоже заметно меньше, чем у GPT. GPT-бейзлайн использует Адамаровы вращения и per-tensor scaling.

Затем обучают маленькую MoE Mamba-hybrid модель и модель побольше. nGPT немного плохеет на первых итерациях, но затем по лоссу почти сравнивается с бейзлайном.

⚙️ Еще из приятного: learning rate для nGPT хорошо переносится с bf16-модели на NVFP4, а для GPT требуется отдельно тюнить его (ставить в 16 раз больше). Кроме того, модель устойчивее к выбору самого значения learning rate: в достаточно широком диапазоне качество не сильно страдает при уходе от оптимума.

📝 Выводы

Претрейн с нормализацией весов выглядит достаточно привлекательной идеей и несложен в реализации. Вопрос в том, насколько велик потенциальный оверхед при обучении от нормализаций. Также нет сравнения с Quartet II (полагаю, что бейзлайновый рецепт слабее).
32👍2
The Price Reversal Phenomenon: When Cheaper Reasoning Models Cost More

📄 [Статья]
💻 [Кода нет]

Интуитивно более дешёвые по цене за миллион токенов модели должны обходиться дешевле при решении задач.

Но так ли это на самом деле?

Авторы оценили стоимость замеров на выборке из стандартных бенчей, и оказалось, что нередко (в 32% случаев) более «дешёвые» модели в итоге выходят дороже. В частности, Gemini 3 Flash на 80% дешевле на токен, чем GPT-5.4, но замеры с ней обходятся на 38% дороже.
👍11