TGViewer
Channel Public Channel
КПД

КПД

@quant_prune_distill

Квантование & Прунинг & Дистилляция

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

Группа с комментариями:
@quant_prune_distill_comments
Subscribers
3.49K
Photos
292
Videos
0
Links
504

Showing posts older than #641 · Back to latest

Older Posts 20 shown
Post #640 2.02K
🔬 Метод

В основе эффективных техник (Training LLMs with MXFP4, Quartet, FP4 All the Way)
обучения неизбежно фигурирует стохастическое округление (SR) градиентов на обратном проходе. При стохастическом округлении тензор квантизуется не к ближайшему значению, а с вероятностью, зависящей от расстояния до ближайших точек на решетке вверх или вниз. Стохастическое округление обладает свойством несмещенности - матожидание сходится к истинному среднему. И это свойство критично для градиентов. Без него в низкой битности обучения нормально не сходятся.

Однако, оно менее точно, чем округление к ближайшему (RtN) и заметно повышает среднеквадратичную ошибку. Можно ли добиться среднеквадратичной ошибки почти как у RtN, при этом сохранив несмещенность?

И авторы статьи предложили способ этого добиться.

Несмещенности добиваются за счет двух приемов
1️⃣ Адаптируют метод EDEN из распределенной отпимизации, где применяется случайное Адамарово вращение и домножение на фактор, равный отношению скалярного произведения исходного вектора на скалярное произведение квантизованного повернутого и неквантизованного повернутого.
2️⃣ Скейлы квантизации стохастически квантизуются в FP8. Ошибка квантизации в FP8 куда меньше, чем у FP4.

Дополнительно на прямом проходе используют свежий трюк из статьи, где в зависимости от того, меньше ли ошибка квантизации на полной FP4 сетке (от -6, 6) или урезанной от -(4,4) выбирают первую или вторую.

MS-EDEN в итоге достигает вдвое меньшей ошибки по сравнению с SR.

Так же сравнивают блочную квантизацию 16x16 и линейные группы 1x16. Используют вторые, так как они дают меньшую ошибку.

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

Метод валидируют сначала в постановке из Quartet I, обучая семейство моделей Llama-2 архитектуры. В качестве бейзлайнов берут рецепт от Nvidia , TetraJet-v2, и 4/6. Quartet II достигает наименьшего (до 20% по сравнению с лучшим бейзлайном) разрыва по лоссу в сравнении с bf16 обучением.

Затем обучают Nanochat с использованием всовременных наработок по обучению LLM - мюон оптимизатор, WSD расписание learning rate, ReLU2 активаций. Учат на FinewebEdu в режиме Шиншилла-оптимального скейлинга. Для наночата справедливы те же выводы о превосходстве Quartet II измеряемом в bits-per-byte.

И что приятно, все это приходит в связке с солидным ускорением. Матричные умножения ускоряются более чем в 4 раза в сравнении с bf16, а end-2-end throughput на обучении до 2.7x.

💡 Выводы

Данный результат дает дополнительную мотивацию к переходу на низкобитное обучение больших языковых моделей. Полагаю, что данный рецепт будет перенят Нвидией и иными крупными игроками.
Post #639 1.65K
Quartet II: Accurate LLM Pre-Training in NVFP4 by Improved Unbiased Gradient Estimation
[Статья][Код]

Команда из IST Austria с Черным Саморезом в составе выпустила продолжение истории про Quartet для обучения LLM в низкой точности (а, именно современных MiscoScaling форматов).
  • 🔥 6
Post #638 2.04K
Дело бы вечером, делать было нечего, и я попробовал завайбкодить интепретатор Python на Rust.

Самым банальным промптом
You are a professional Rust programmer. Write python interpreter in Rust Language.


Сначала попробовал GPT-5.2-Codex.

На первой итерации он сделал рабочую минималистичную версию на 300 строк с присваиванием и арифметическими операциями, но без циклов, сравнений и функций. Затем по запросу он стал добавлять эту функциональность и за 5 попыток файл main.rs вырос до 3к с небольшим строк. Однако, cargo run выдал простыню ошибок. Я этой простыней закинул в него. Он такой сорян, мой господин, ща поправлю. На следующий раз ошибок стало еще больше. После 3х итераций я сдался.

Взял тогда Claude-4.5-Sonnet с начальной точки и тем же промптом.

С первой попытки он начал реализовать всю функциональность (функции, лямбды, и т.п) и еще ридмихи с примерами использования.
cargo run тоже упал но все с 4 ошибками вида error[E0614]: type `i64 cannot be dereferenced`. Кинул в него трейсбеком и со второй попытки завелось. Все хозяйство примерно заняло чуть менее 80к токенов генерации.

Затем еще интереса ради тыкнул в Gemini-3-Pro. Получилось нечто среднее по качеству между кодексом и соннетом. С 4-х промптов реализовало нужный функционал, но без подробных ридмишек. Зато без ошибок компиляции сходу.

Какова мораль?

Морали нет, но сам получившийся репозиторий ниже:

🐈‍⬛ Репозиторий
GitHub GitHub - Godofnothing/VibePython: Python interpreter written in Rust Python interpreter written in Rust. Contribute to Godofnothing/VibePython development by creating an account on GitHub.
  • 🔥 18
  • 🆒 3
  • ❤ 1
  • 🥴 1
Post #637 2.16K
Из веселых новостей еще появилась соцсеть Moltbook для LLM агентов.

Агенты создают посты, обсуждают и лайкают.

Кожаные мешки могут наблюдать за процессом.
  • 😁 23
  • ❤ 3
Post #636 2.15K
Quantization-Aware Distillation for NVFP4 Inference Accuracy Recovery
[Статья]

Ребята из Нвидии выкатили техрепорт про дистилляцию моделей, с квантизованными в NVFP4 весами и активациями. В репорте гоняют квантизацию + дистилляцию на семействе собственных моделей и тюнов.

С точки зрения научной новизны так-то ничего интересного, но можно отметить следующее:
📌 Дистилляция на логитах менее подвержена оверфиту (да ладно?)
📌 Данные важны (удивительно, не правда ли?)
📌 KL-дивергенция лучше MSE для логитов (вот это да!)
📌Надо аккуратно тюнить learning rate (да ну?)

А так, в целом, удается почти не потерять в качестве.
  • 😁 17
Post #635 2.11K
Kimi K2.5: Visual Agentic Intelligence
[Блог]

Китайцы релизнули очередную занятную модельку - обновление Kimi-K2 под названием Kimi-K2.5.

Из основных отличий по отношению к прошлой версии следует отметить следующее:
🧞‍♂️ Мультимодальность. Предшественница была text-only модель, а 2.5 умеет обрабатывать и выдавать визуальную информацию. В частности, оно могет в генерацию няшных интерфейсов и фронтенда.
🧞‍♂️ Мультиагентность. Утверждается, что оно может дирижировать аж до сотни агентов (Agent Swarm). Реворд специально сделан так, чтобы обучать оркестратор призывать агентов по мере необходимости. Показывается, что вызов множества агентов позволяет уменьшить время решения задачи по сравнению с single-agent.
🧞‍♂️ Так же она умеет в разные офисные задачи, работу с таблицами, графиками.

По бенчам (всяким HLE, GPQA, IMO, если им доверять) +/- на уровне клозед-сурс SOTA. Ну и представили график, что они якобы куда более cost-effective, чем гопота.
  • 👍 7
  • ❤ 4
Post #634 2.93K
Качественный и иллюстративный получасовой видеообзор субквадратичных аналогов внимания.

В частности, разобраны:
• Linear Attention
• Gated Linear Attention
• Gated Delta Net
• Titan
  • 🔥 20
  • 👍 6
Post #633 2.18K
🔬 Метод

Напомним, что 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.

💡 Выводы

Годная валидация подхода, но дабы окончательно убедиться в
эффективности, наверное, потребуются модели околосотового качества.
  • 👍 4
  • ✍ 2
  • 🔥 2
  • ❤ 1
Post #632 1.69K
Scaling Text-to-Image Diffusion Transformers with Representation Autoencoders
[Статья] [Код]

Введение

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

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

И вот коллектив оригинальных авторов + ЛеКун выпустили продолжение с экспериментами на t2i.
  • ❤ 2
Post #630 15.4K
На GPU Mode недавно вышла 3-х часовая лекция про RL, Агентов и фреймворк для создания и работы со средами OpenEnv.

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

Довольно содержательно и познавательно. В частности, разбираются характерные нюансы и проблемы обучения с подкреплением.
  • ❤ 17
  • 👍 6
Post #629 2.25K
🔬 Метод

В качестве отправной точки берут метод 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
Post #628 1.87K
KVzap: Fast, Adaptive, and Faithful KV Cache Pruning
[Статья][Репозиторий]

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

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

В данной статье исследователи предлагают новый метод сжатия KV-кэшей посредством выбрасывания наименее информативных токенов, выдающий state-of-the-art баланс между качеством 🥇 и скоростью 🏃.
  • ❤ 7
Post #626 2.7K
Тут в соцсети Х обнаружили забавную утечку на MMLU-Pro.

Правильный ответ во многих примерах имеет лишний отступ. Если отгадывать ответ на основе отступа, то получается прирост на 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.
  • 😁 33
  • ❤ 4
  • 🌚 3
Post #625 1.79K
К разговору о компактных диффузионнках.

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

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

Кроме того, выпустили FP8 и NVFP4 версии моделей.
  • 👍 8
  • 🔥 4
Post #624 1.72K
🔬 Метод

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

За основу берут 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
  • ❤ 2
Post #623 1.56K
SnapGen++: Unleashing Diffusion Transformers for Efficient
High-Fidelity Image Generation on Edge Devices

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

Введение

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

Ребята из SnapChat призадумались и произвели на свет диффузионку, способную выдавать достойное качество генерации на смартфонах.
  • 👍 5
  • 🔥 2
Post #621 1.73K
GLM-Image: Auto-regressive for Dense-knowledge and High-fidelity Image Generation
[Модель][Блог]

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
  • 💩 5
  • 🖕 2
  • ❤ 1
  • 👍 1
  • 🍌 1
Post #620 2.74K
Интересный и содержательный видос на GPU Mode про вычисления / специфику операций с целочисленными типами и плавающей точкой.

В частности, иллюстрируется диапазон и точность для разных форматов, и демонстрируется неассоциативность операций в fp.
  • 👍 16
Post #619 2.26K
  • 🔥 3
  • 👍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →