Каждый раз, когда вы пишете промпт в ChatGPT или Llama 4, внутри вашего запроса происходит вакханалия умножений. Миллиарды чисел перемножаются с миллиардами других чисел. И что самое обидное — значительная часть этих операций абсолютно бесполезна. Почему? Потому что одно из чисел равно нулю.
Ноль в математике — тривиальность. Умножать на ноль не нужно: результат всегда ноль. Но в GPU и TPU, где заточены матричные умножения, нолики всё равно участвуют в общем хороводе. Они жрут такты, греют кристалл и тратят драгоценные джоули. А если нолей 50% или 80%? Добро пожаловать в мир разреженных вычислений — направления, которое в 2026 году становится главным предохранителем от перегрева дата-центров.
Коротко: разреженность (sparsity) — это свойство матрицы весов нейросети, где много нулей. Если заставить железо пропускать умножения с нулевым операндом, скорость вычислений растёт на десятки процентов, а счёт за электричество падает. Звучит как лайфхак — но дьявол в деталях.
Сортировка мусора: откуда берутся нули в нейросетях
Нули в модели не появляются просто так. Их можно внедрить двумя способами: принудительно (pruning) или естественным образом (ReLU, Mixture of Experts).
Pruning — это хирургия. Берём большую плотную сетку вроде Llama 4 (параметров 405B, если верить слухам) и прореживаем её, удаляя малозначимые связи. Классический пример — недавняя история про японского школьника, сжавшего модель в 42 раза. Он выкинул 98% весов — и модель всё ещё работала. Потому что оставшиеся 2% несли основную смысловую нагрузку, а остальное — шум.
Активации. ReLU (Rectified Linear Unit) — самая популярная функция активации в LLM — превращает отрицательные значения в ноль. После ReLU примерно половина нейронов молчит. Это уже природная разреженность, которую можно использовать.
Mixture of Experts (MoE) — архитектурный хак. Модель делится на несколько «экспертов», но для каждого токена активируется только часть из них. Mixtral 8x7B, Qwen 3 с 256 экспертами — они на порядок разреженнее своих плотных аналогов при том же качестве.
Железо, которое любит пустоту
Одно дело — создать разреженную модель. Другое — заставить чип выполнять работу только с ненулевыми элементами. GPU, спроектированные для плотных матриц, впадают в ступор от разреженности: нерегулярный доступ к памяти, ветвления, простой конвейеров.
Выход нашли в двух лагерях:
- Специализированные чипы — Groq LPU (Language Processing Unit) и Cerebras Wafer Scale Engine с рождения умеют работать с разреженными данными. Groq, например, заявляет, что их архитектура пропускает нулевые операции на аппаратном уровне, ускоряя инференс в разы. Прямой конкурент — нейроморфные чипы, которые симулируют разреженность спайков мозга.
- Доработанные GPU — NVIDIA начиная с архитектуры Ampere (A100) добавила Sparse Tensor Cores, которые позволяют ускорить матричные умножения при 50% разреженности в два раза. В Hopper (H100) и Blackwell (B200) разреженное железо стало умнее: теперь оно поддерживает более гибкую структуру разреженности, а не только 2:4 (два ненулевых из четырёх).
На практике это выливается в то, что один и тот же дата-центр может обработать в два раза больше запросов при том же энергопотреблении — или сохранить производительность, выключив половину стоек. Учитывая новые законы об энергопотреблении дата-центров, это уже не бонус, а условие выживания.
Битва за каждый джоуль
Энергопотребление LLM — больная тема. AI задыхается в собственных тепловыделениях. HBM-память дорога, а её охлаждение — ещё дороже. Разреженные вычисления снижают нагрузку на память: если веса разрежены, их можно хранить в сжатом формате (например, CSR — Compressed Sparse Row), и для загрузки одного токена нужно меньше данных из DRAM.
Здесь в игру вступает ещё один трюк — квантование. Когда веса ужаты до 4 или 2 бит, разреженность становится практически обязательной: иначе точность падает. Комбинация «pruning + квантование» — стандарт для локального AI. Сборка на двух RTX 4090 вытягивает разреженную 70B-модель с 4-битным квантованием быстрее, чем плотную 13B. Только вот остается проблема — не все инструменты поддерживают разреженность гладко. Фреймворки вроде llama.cpp и vLLM только в 2026 году начали нормально работать с неструктурной разреженностью.
А как на счёт обучения?
До сих пор говорили про инференс, но разреженность полезна и для тренировки. Во-первых, разреженные градиенты (если использовать sparse backpropagation) экономят память на загрузку и вычисления. Во-вторых, можно обучать плотную модель, а потом проредить — как сделали с Mixtral. Но всё же основной профит — на этапе эксплуатации.
Обратная сторона разреженности
Было бы слишком хорошо, если бы всё работало без граблей. Какие подводные камни?
- Неравномерность. Ненулевые элементы разбросаны хаотично. GPU ненавидят такое — им проще работать с плотными блоками. Поэтому часто применяют структурную разреженность (например, блоки 4×4 с фиксированным числом нулей), чтобы железо могло предсказать паттерн.
- Фрагментация памяти. Хранение разреженных матриц в CSR или COO требует дополнительных структур (индексы строк, столбцов). Эти метаданные могут съедать больше памяти, чем экономия от удаления нулей, если разреженность ниже 60-70%.
- Совместимость. Не все библиотеки умеют работать с разреженными операциями. PyTorch 2.7 (релиз апреля 2026) наконец-то добавил полноценную поддержку sparse attention, но legacy-код часто падает.
Несмотря на это, гонка за нулями продолжается. Масштабирование LLM до тысячи одновременных запросов без разреженности просто не имеет смысла — уткнётесь в лимит мощности раньше, чем в лимит точности.
Что дальше?
Разреженные вычисления перестают быть нишевой экзотикой. Groq уже анонсировала LPU второго поколения с динамической маршрутизацией нулей. NVIDIA встраивает Sparse Tensor Cores даже в карты для ноутбуков. А модели вроде Llama 4 и Qwen 3 по умолчанию поставляются с опциональным pruning-режимом.
Единственное, что тормозит революцию, — это инерция. Дата-центры покупают оборудование на годы вперёд, и старые плотные GPU никуда не денутся. Но новые проекты уже закладывают разреженность в архитектуру. Через два-три года термин «плотная модель» будет звучать как ламповая технология из прошлого.
А пока — берите любую LLM, прореживайте её на 40% (рекомендую библиотеку SparseML от Neural Magic), и смотрите, как она шустро отвечает даже на дешёвом железе. Только не забудьте измерить энергопотребление до и после — вот хороший гайд. Спойлер: разница вас удивит. Нули — это новое золото.