Character.ai 🧍♂ (стартап небезывестного Ноама Шазира) выпустили небольшой блогпост про оптимизацию обучения LLM.
В блоге рассказывается про следующие трюки:
1️⃣ Сжатие градиентов в 6 бит при помощи техники Squinch. (квантизуют элементы группами по 8 элементов в 5 бит, 4 бита на значения, 1 знаковый, и 8-битный скейл)
2⃣️️ Z-регуляризация на логиты, применямая к логитам внимания и роутера, предтовращающая их рост.
3️⃣ Динамическая обрезка значений в ffn в QAT, предтовращающая схлопывание акитваций в ноль.
4️⃣ Эффективный аттеншен в случае древесных зависимостей. Не считаем внимание там, где его нет.
5️⃣ Для knowledge дистилляции предпосчитывают и сохраняют логиты, но не все, а только topk, которые сэмплируют через Gumbel-Softmax.
В блоге рассказывается про следующие трюки:
1️⃣ Сжатие градиентов в 6 бит при помощи техники Squinch. (квантизуют элементы группами по 8 элементов в 5 бит, 4 бита на значения, 1 знаковый, и 8-битный скейл)
2⃣️️ Z-регуляризация на логиты, применямая к логитам внимания и роутера, предтовращающая их рост.
3️⃣ Динамическая обрезка значений в ffn в QAT, предтовращающая схлопывание акитваций в ноль.
4️⃣ Эффективный аттеншен в случае древесных зависимостей. Не считаем внимание там, где его нет.
5️⃣ Для knowledge дистилляции предпосчитывают и сохраняют логиты, но не все, а только topk, которые сэмплируют через Gumbel-Softmax.
👍10❤5
NVIDIA Nemotron 3: Efficient and Open Intelligence
[Статья][Код RL] [Код RL-Gym]
Введение
Под конец уходящего года зеленая компания выкатила семейство гибридных MoE моделей, которые, как утверждается, не уступают SoTA аналогам по качеству, при этом работая значительно быстрее, особенно на длинных контекстах.
[Статья][Код RL] [Код RL-Gym]
Введение
Под конец уходящего года зеленая компания выкатила семейство гибридных MoE моделей, которые, как утверждается, не уступают SoTA аналогам по качеству, при этом работая значительно быстрее, особенно на длинных контекстах.
🔥1
🔬🧪 Метод и Эксперименты
Семейство Nemotron 3 содержит в себе 3 модели - Nano, Super, Ultra. Из них на текущий момент выложены только веса Nano. В Nano 3B активных параметров из 30B, размеры остальных моделей неизвестны (известно только, что они больше).
Из архитектурных особенностей следует отметить следующее:
📌 В модели для смешивания контекста преобладают Mamba-2 слои, линейные по времени и со скрытым состоянием фиксированного размера. Чтобы не терять в выразительности, в небольшой части блоков оставляют GQA attention с 2 kv-головами.
📌 В Super / Ultra применяют LatentMoE - скрытое состояние проецируется в пространство более низкой размерности перед подачей в экспертов, при этом пропорционально увеличивают количество экспертов (как общее количество, так и активных на токен). Показывают, что на бенчах это дает прирост.
Super / Ultra обучаются на Multi Token Prediction, что позволяет за раз предсказывать не один, а несколько токен на инференсе, и, как утверждается, еще и улучшает качество.
Для повышения эффективности обучения и инференса учат модели в NVFP4 формате (см. блогпост). Ради большей стабильности и качества немногочисленные слои внимания держат в bf16 и выходные проекции в Mamba-2 слоях в MXFP8.
Кроме того, не квантизуют последние 15% слоев. Также используют Адамаровы вращения и стохастическое округление на обратном проходе.
Модели поддерживают контекст до 1М токенов. Утверждается, что слои Mamba-2 неявно задают позиционную информацию и для слоев внимания не требуют позиционные эмбеддинги. RoPE ограничивает обобщаемость модели на контексты длиннее тех, на которых обучалась модель, потому от них решили отказаться. Обучали на последовательностях до 512к токенов, но неплохо обобщаются на 1M, судя по замерам на RULER.
На RL стадии подают задачи не поодиночке, а все разом. Это помогает избежать reward hacking и дает более-менее равномерный рост качества с течением обучения. Для RL используется модифицированный GRPO.
Из приятного, код обучения и данные выложены в публичный доступ.
💡 Выводы
Выглядит как серьезная инженерная работа с использованием SOTA известных рабочих архитектурных и квантизационных приемов. Вполне вероятно, MoE-шные гибриды, обученные в низкой точности станут стандартом в ближайшее время.
Семейство Nemotron 3 содержит в себе 3 модели - Nano, Super, Ultra. Из них на текущий момент выложены только веса Nano. В Nano 3B активных параметров из 30B, размеры остальных моделей неизвестны (известно только, что они больше).
Из архитектурных особенностей следует отметить следующее:
📌 В модели для смешивания контекста преобладают Mamba-2 слои, линейные по времени и со скрытым состоянием фиксированного размера. Чтобы не терять в выразительности, в небольшой части блоков оставляют GQA attention с 2 kv-головами.
📌 В Super / Ultra применяют LatentMoE - скрытое состояние проецируется в пространство более низкой размерности перед подачей в экспертов, при этом пропорционально увеличивают количество экспертов (как общее количество, так и активных на токен). Показывают, что на бенчах это дает прирост.
Super / Ultra обучаются на Multi Token Prediction, что позволяет за раз предсказывать не один, а несколько токен на инференсе, и, как утверждается, еще и улучшает качество.
Для повышения эффективности обучения и инференса учат модели в NVFP4 формате (см. блогпост). Ради большей стабильности и качества немногочисленные слои внимания держат в bf16 и выходные проекции в Mamba-2 слоях в MXFP8.
Кроме того, не квантизуют последние 15% слоев. Также используют Адамаровы вращения и стохастическое округление на обратном проходе.
Модели поддерживают контекст до 1М токенов. Утверждается, что слои Mamba-2 неявно задают позиционную информацию и для слоев внимания не требуют позиционные эмбеддинги. RoPE ограничивает обобщаемость модели на контексты длиннее тех, на которых обучалась модель, потому от них решили отказаться. Обучали на последовательностях до 512к токенов, но неплохо обобщаются на 1M, судя по замерам на RULER.
На RL стадии подают задачи не поодиночке, а все разом. Это помогает избежать reward hacking и дает более-менее равномерный рост качества с течением обучения. Для RL используется модифицированный GRPO.
Из приятного, код обучения и данные выложены в публичный доступ.
💡 Выводы
Выглядит как серьезная инженерная работа с использованием SOTA известных рабочих архитектурных и квантизационных приемов. Вполне вероятно, MoE-шные гибриды, обученные в низкой точности станут стандартом в ближайшее время.
🔥7🤔6
🔬 Метод
Результат перемножения действительной матрицы R на X, можно представить эквивалентно как комплексное матричное умножение с некоторыми матрицами U и W вида:
Далее в качестве квантизационной сетки берут корни 4-й степени из единицы {±1, ±𝑖}, и представляют веса в виде произведения скейла (float-а) и корня. Итого имеем 2 бита на подряд идущих числа - то есть 1 бит на параметр.
Для улучшения качества за счет битности делают residual квантизацию - квантизуют остаток и прибавляют к квантизованной части.
🧪 Эксперименты
Метод валидируют на Llama-2-7b. Обучают на подмножестве RedPajama размером в 30B токенов.
Выдают довольно неплохие метрики, несколько лучше, чем бинарная квантизация и на уровне QuIP# без дообучения. 2-битная residual квантизация дает метрики лучше, чем AQLM и QuIP#. Однако нет сравнения с PV-Tuning, который является естественным бейзлайном (причем требующим даже меньшего числа токенов).
В Ablation показывают, что WSD (Warmup-Stable-Decay) расписание помогает.
💡 Выводы
Результат неплохой, но на самом деле комплексная формулировка здесь избыточна, и то, что сделано по существу есть векторная квантизация в 2-мерное пространство с 2-битным кодбуком. Теоретически оно может работать быстро, но кернелов и замеров скорости нет. Да и бюджет в 30B достаточно солидный и на порядок дороже PTQ процедур.
Результат перемножения действительной матрицы R на X, можно представить эквивалентно как комплексное матричное умножение с некоторыми матрицами U и W вида:
y = U x + W x* (x* - комплексно сопряженное число)Далее в качестве квантизационной сетки берут корни 4-й степени из единицы {±1, ±𝑖}, и представляют веса в виде произведения скейла (float-а) и корня. Итого имеем 2 бита на подряд идущих числа - то есть 1 бит на параметр.
Для улучшения качества за счет битности делают residual квантизацию - квантизуют остаток и прибавляют к квантизованной части.
🧪 Эксперименты
Метод валидируют на Llama-2-7b. Обучают на подмножестве RedPajama размером в 30B токенов.
Выдают довольно неплохие метрики, несколько лучше, чем бинарная квантизация и на уровне QuIP# без дообучения. 2-битная residual квантизация дает метрики лучше, чем AQLM и QuIP#. Однако нет сравнения с PV-Tuning, который является естественным бейзлайном (причем требующим даже меньшего числа токенов).
В Ablation показывают, что WSD (Warmup-Stable-Decay) расписание помогает.
💡 Выводы
Результат неплохой, но на самом деле комплексная формулировка здесь избыточна, и то, что сделано по существу есть векторная квантизация в 2-мерное пространство с 2-битным кодбуком. Теоретически оно может работать быстро, но кернелов и замеров скорости нет. Да и бюджет в 30B достаточно солидный и на порядок дороже PTQ процедур.
❤5👍5
Год назад я у себя проводил опрос по поводу того, какое направление будет активнее всего развиваться в 2025 году, и, по всей видимости, наиболее популярный вариант ответа про агентность оказался правильным. Vox populi vox deus, как говорится.
Этот год также отметился интенсивным прогрессом в плане возможностей моделей, приростом метрик на бенчах, новыми возможностями. Вайбкодинг пошел в массы. На ARC AGI 2 был превзойден уровень среднего человека, что самое главное.
Будем надеяться, что и год грядущий порадует нас новыми яркими открытиями, развитием LLMок и иных приложений AI.
🎄☃️ Всех с наступающим праздником! 🎄☃️
Этот год также отметился интенсивным прогрессом в плане возможностей моделей, приростом метрик на бенчах, новыми возможностями. Вайбкодинг пошел в массы. На ARC AGI 2 был превзойден уровень среднего человека, что самое главное.
Будем надеяться, что и год грядущий порадует нас новыми яркими открытиями, развитием LLMок и иных приложений AI.
🎄☃️ Всех с наступающим праздником! 🎄☃️
Telegram
КПД
Какое направление будет активнее всего развиваться в 2025 году?
Мультимодальность / Reasoning / Диффузионные видео модели / Альтернативные варианты токенизации в LLM (Byte Latent Transformer, Large Concept Model) / Механистическая интерпретируемость / VAR…
Мультимодальность / Reasoning / Диффузионные видео модели / Альтернативные варианты токенизации в LLM (Byte Latent Transformer, Large Concept Model) / Механистическая интерпретируемость / VAR…
🎄4
Какое направление будет активнее всего развиваться в 2026 году?
Anonymous Poll
29%
Агентность
16%
Мультимодальность
7%
Image/Video генеративные модели
11%
Edge Inference / Small Models
11%
Приложения AI в бизнесе
11%
Приложения AI в науке
16%
Приложения AI в робототехнике
Dynamic Large Concept Models: Latent Reasoning in an Adaptive Semantic Space
[Статья] [Кода нет]
Введение
Моделирование естественного языка через фиксированные токены, полученные через BPE или иной процедурой, не ругал только ленивый.
Инференс предсказания одного токены требует фиксированного количества вычислений, при том что сами токены обладают очень разной смысловой нагрузкой и предсказуемостью.
Ранее уже были сделаны попытки отойти от привычной парадигмы - Byte Latent Transformer , COCONUT и Large Concept Model (LCM). Однако и у этих подходов есть ограничения. COCONUT, использующий непрерывные эмбеды, не транслируется естественным образом в естественный язык, а SONAR эмбеддинги полагаются на предопределенный человек метод разбиения на предложения.
В этой же статье предлагают динамическое разбиение с автоматическим слиянием токенов.
[Статья] [Кода нет]
Введение
Моделирование естественного языка через фиксированные токены, полученные через BPE или иной процедурой, не ругал только ленивый.
Инференс предсказания одного токены требует фиксированного количества вычислений, при том что сами токены обладают очень разной смысловой нагрузкой и предсказуемостью.
Ранее уже были сделаны попытки отойти от привычной парадигмы - Byte Latent Transformer , COCONUT и Large Concept Model (LCM). Однако и у этих подходов есть ограничения. COCONUT, использующий непрерывные эмбеды, не транслируется естественным образом в естественный язык, а SONAR эмбеддинги полагаются на предопределенный человек метод разбиения на предложения.
В этой же статье предлагают динамическое разбиение с автоматическим слиянием токенов.
🔥5
🔬 Метод
За основу берут метод из H-Net, но моделируют на уровне токенов, а не бит.
Dynamic Large Concept Model (DLCM) работает следующим образом:
1️⃣ Токенизируем текст каким-то токенизатором
2️⃣ Прогоняем текст через некий энкодер
3️⃣ Затем считаем похожесть (косинусное расстояние) между прошлой query и текущим ключом. Если расстояние больше заданного порога, то начинаем следующий токен, иначе сливаем текущий токен с тем что есть. Получаем таким образом укороченную последовательность.
4️⃣ Прогоняем эту укороченную последовательность через основную модель.
5️⃣ Декодируем обратно в исходное пространство токенов через cross-attention на исходную последовательность токенов.
При обучении задается желаемое сжатие R (сколько в среднем исходных токенов сжимаются в латентный токен). Для поддержания целевой степени сжатия добавляется вспомогательный лосс, который способствует тому, чтобы в среднем R токенов сливалось в один токен.
На обучении разбиение на токены сэмплируют из распределения Бернулли для exploration, на инференсе разбивают по порогу 0.5.
Из деталей реализации стоит отметить следующее. Так как при подаче батча с фиксированной длиной исходных токенов число латентных может разниться, в данной работе реплицируют их на этапе обучения. Flex Attention с паддингами выглядит естественным решением, но оказывается, что это работает медленнее (в 1.4-1.7 раз), чем Flash Attention c репликацией.
🧪 Эксперименты
Метод валидируют, обучая семейство моделей Llama-like архитектуры, используя токенизатор DeepSeek.
Для подбора оптимальных гипепараметров используют \muP параметризацию, как для энкодера, так и основной модели. Параметры настраивают на маленькой 87M модели и масштабируют на большие.
Кроме того, в данной статье предлагают scaling law лосса в зависимости от степени сжатия R, и доли параметров, приходящихся на энкодер P. Оказывается, что R=4 более менее оптимальный выбор с точки зрения соотношения качество/скорость.
Для оценки качества берут выборку из 12 бенчмарков из lm-eval-harness. DLCM дает прирост почти на всех бенчах и в среднем 2-3% качества по сравнению с стандартной токенизацией. Основной прирост на задачах, требующих reasoning,
Глобальная регуляризация (приведение среднего сжатия к R) лучше, чем на уровне отдельного предложения.
💡 Выводы
Неплохой результат с очевидной практической пользой - солидной экономией вычислений за счет более коротких последовательностей. Интересно, будет ли данное направление дальше развиваться и увидим ли мы SOTA-level LLM c отходом от стандартной токенизации?
За основу берут метод из H-Net, но моделируют на уровне токенов, а не бит.
Dynamic Large Concept Model (DLCM) работает следующим образом:
1️⃣ Токенизируем текст каким-то токенизатором
2️⃣ Прогоняем текст через некий энкодер
3️⃣ Затем считаем похожесть (косинусное расстояние) между прошлой query и текущим ключом. Если расстояние больше заданного порога, то начинаем следующий токен, иначе сливаем текущий токен с тем что есть. Получаем таким образом укороченную последовательность.
4️⃣ Прогоняем эту укороченную последовательность через основную модель.
5️⃣ Декодируем обратно в исходное пространство токенов через cross-attention на исходную последовательность токенов.
При обучении задается желаемое сжатие R (сколько в среднем исходных токенов сжимаются в латентный токен). Для поддержания целевой степени сжатия добавляется вспомогательный лосс, который способствует тому, чтобы в среднем R токенов сливалось в один токен.
На обучении разбиение на токены сэмплируют из распределения Бернулли для exploration, на инференсе разбивают по порогу 0.5.
Из деталей реализации стоит отметить следующее. Так как при подаче батча с фиксированной длиной исходных токенов число латентных может разниться, в данной работе реплицируют их на этапе обучения. Flex Attention с паддингами выглядит естественным решением, но оказывается, что это работает медленнее (в 1.4-1.7 раз), чем Flash Attention c репликацией.
🧪 Эксперименты
Метод валидируют, обучая семейство моделей Llama-like архитектуры, используя токенизатор DeepSeek.
Для подбора оптимальных гипепараметров используют \muP параметризацию, как для энкодера, так и основной модели. Параметры настраивают на маленькой 87M модели и масштабируют на большие.
Кроме того, в данной статье предлагают scaling law лосса в зависимости от степени сжатия R, и доли параметров, приходящихся на энкодер P. Оказывается, что R=4 более менее оптимальный выбор с точки зрения соотношения качество/скорость.
Для оценки качества берут выборку из 12 бенчмарков из lm-eval-harness. DLCM дает прирост почти на всех бенчах и в среднем 2-3% качества по сравнению с стандартной токенизацией. Основной прирост на задачах, требующих reasoning,
Глобальная регуляризация (приведение среднего сжатия к R) лучше, чем на уровне отдельного предложения.
💡 Выводы
Неплохой результат с очевидной практической пользой - солидной экономией вычислений за счет более коротких последовательностей. Интересно, будет ли данное направление дальше развиваться и увидим ли мы SOTA-level LLM c отходом от стандартной токенизации?
👍7🙏2🔥1
Интересный блогпост на лицехватс 🤗 про оптимизацию FP4 кернела под MoE.
Он содержит в себе детальный анализ работы кернелов и отпимизаций в разных фреймворках (vLLM, SGLang, FlashInfer).
Он содержит в себе детальный анализ работы кернелов и отпимизаций в разных фреймворках (vLLM, SGLang, FlashInfer).
😁3
Forwarded from Love. Death. Transformers.
А теперь ещё и на hf самое подробное сравнение особенностей инференса Moe в vllm и sglang
https://huggingface.co/blog/apsys/blackwell-nvfp4-comparison
https://huggingface.co/blog/apsys/blackwell-nvfp4-comparison
huggingface.co
TFLOPS Gap: Why FP4 MoE Kernel Engineering Matters on Blackwell
A Blog post by Konstantin on Hugging Face
NextFlow: Unified Sequential Modeling Activates Multimodal Understanding and Generation
[Статья][Репозиторий без кода]
Некоторое время назад был предложен VAR - авторегрессионная модель, генерирующая за один проход не один токен, а целое разрешение. Оригинальная модель выдавала неплохое качество на class-conditional генерации ImageNet, а затем вышли text-to-image модель Infinity и Switti. Однако составить серьезную конкуренцию диффузионным моделям данному направлению не удалось.
И в данной работе делают новый заход, причем конечная модель умеет не только в text-to-image, но еще и эдитинг.
[Статья][Репозиторий без кода]
Некоторое время назад был предложен 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-диффузии - время покажет.
🏘 Архитектура
📌 За основу берут подход 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-диффузии - время покажет.
GLM-Image: Auto-regressive for Dense-knowledge and High-fidelity Image Generation
[Модель][Блог]
z-ai (наши 🐘) выпустили гибридную авторегрессионную картиночную модель с диффузионным декодером.
Авторегрессия обучается с инициализации 9B VLMкой, и учат 7B диффузионный трансформер.
Низкие частоты отвечающие за общую семантику генерятся авторегрессией, а диффузия дополняет высокие частоты.
Как утверждается, оно умеет довольно хорошо в lettering, на уровне SOTA.
[Модель][Блог]
z-ai (наши 🐘) выпустили гибридную авторегрессионную картиночную модель с диффузионным декодером.
Авторегрессия обучается с инициализации 9B VLMкой, и учат 7B диффузионный трансформер.
Низкие частоты отвечающие за общую семантику генерятся авторегрессией, а диффузия дополняет высокие частоты.
Как утверждается, оно умеет довольно хорошо в lettering, на уровне SOTA.
huggingface.co
zai-org/GLM-Image · Hugging Face
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
🔥15💩4🖕2❤1👍1🍌1
SnapGen++: Unleashing Diffusion Transformers for Efficient
High-Fidelity Image Generation on Edge Devices
[Статья][Без кода]
Введение
От диффузии хочется чтобы она генерила качественно и быстро, а в идеале еще и не на очень мощном железе. За последнее время вышло много моделей хорошего качества - Qwen-Image, Z-Image, FLUX-2, но все это ни разу ни про генерацию на мобилках 📱.
Ребята из SnapChat призадумались и произвели на свет диффузионку, способную выдавать достойное качество генерации на смартфонах.
High-Fidelity Image Generation on Edge Devices
[Статья][Без кода]
Введение
От диффузии хочется чтобы она генерила качественно и быстро, а в идеале еще и не на очень мощном железе. За последнее время вышло много моделей хорошего качества - Qwen-Image, Z-Image, FLUX-2, но все это ни разу ни про генерацию на мобилках 📱.
Ребята из SnapChat призадумались и произвели на свет диффузионку, способную выдавать достойное качество генерации на смартфонах.
👍4🔥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, конечно, но вполне себе пригодно.
🏘 Архитектура
За основу берут 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, конечно, но вполне себе пригодно.
👍3❤1
К разговору о компактных диффузионнках.
Black Forest Lab выпустили меньшие версии FLUX2 с суффиксом [klein]
👶 9B модель с Qwen-3-8B текстовым энкодером
👶 4B модель с Qwen-3-4B текстовым энкодером
Обещают инференс за 0.5 сек.
Кроме того, выпустили FP8 и NVFP4 версии моделей.
Black Forest Lab выпустили меньшие версии FLUX2 с суффиксом [klein]
👶 9B модель с Qwen-3-8B текстовым энкодером
👶 4B модель с Qwen-3-4B текстовым энкодером
Обещают инференс за 0.5 сек.
Кроме того, выпустили FP8 и NVFP4 версии моделей.
👍8🔥3
Тут в соцсети Х обнаружили забавную утечку на MMLU-Pro.
Правильный ответ во многих примерах имеет лишний отступ. Если отгадывать ответ на основе отступа, то получается прирост на 10-15% по сравнению с случайным угадыванием на срезах по математике/физике/химии.
SOTA качество так не выбить, но умение моделей пользоваться этой утечкой ведет к статзначимой разнице в качестве.
Правильный ответ во многих примерах имеет лишний отступ. Если отгадывать ответ на основе отступа, то получается прирост на 10-15% по сравнению с случайным угадыванием на срезах по математике/физике/химии.
SOTA качество так не выбить, но умение моделей пользоваться этой утечкой ведет к статзначимой разнице в качестве.
X (formerly Twitter)
Eric W. Tramel (@fujikanaeda) on X
The presence of a leading whitespace leaks the correct choice selection in the MMLU-Pro benchmark. Am I missing something? Seems to impact Chemistry, Physics, and Math.
HF Issue in reply.
HF Issue in reply.
😁30❤4🌚3
Отличный разбор от некоего Jia-Bin Huang (звучит как персонаж из звездных войн) статьи mHC: Manifold-Constrained Hyper-Connections от DeepSeek 🐋 с визуализациями, сделанными в manim.
❤7