ИИ-модели можно ускорить вдвое — просто глянув на их веса
Новый метод Magnitude Profile Pruning позволяет удалять лишние «головы внимания» из трансформер-моделей без калибровки и обучения — достаточно проанализировать числовые значения весов.
Если какие-то «головы» в нейросети весят примерно одинаково со всеми остальными — они, скорее всего, не нужны. Выбросы же среди весов указывают на действительно важные компоненты, которые стоит сохранить.
Зачем вообще «вырезать» части нейросети
Современные языковые модели на архитектуре Transformer — это те самые GPT, LLaMA, RoBERTa и десятки других — устроены так, что внутри работает сразу несколько так называемых «голов внимания». Каждая голова отвечает за свой «взгляд» на текст: одна улавливает грамматические связи, другая — смысловые, третья — контекст между отдалёнными словами.
Проблема в том, что не все эти голови одинаково полезны. Некоторые дублируют работу друг друга или просто не вносят заметного вклада в результат. При этом каждая лишняя голова — это расход памяти и вычислительных ресурсов. Для серверных сценариев это киловатты электричества, а для запуска на устройстве пользователя — тормоза и перегрев.
Поэтому исследователи давно занимаются прунингом — методом «обрезки» нейросетей, при котором удаляются наименее значимые компоненты. В случае с трансформерами речь идёт о структурном прунинге голов внимания: не нужно менять математику модели, просто отключаем лишнее — и модель становится компактнее и быстрее на стандартном железе.
В чём была проблема с существующими подходами
До сих пор все сколько-нибудь рабочие методы прунинга голов внимания требовали одного или нескольких условий:
- Калибровочные данные — набор примеров, на которых модель «тестируется» перед обрезкой, чтобы понять, какие головы важны.
- Вычисление градиентов — по сути, нужно запускать обучение, пусть и частичное.
- Оценка Гессиана — матрица вторых производных, которая показывает чувствительность модели к изменениям параметров. Вычислительно дорогая вещь.
Всё это добавляет накладные расходы. Нужны данные, нужно время, нужна память. А если модель работает в конфиденциальной среде, где калибровочные данные нельзя показать сторонним алгоритмам, — тем более проблема.
Суть нового метода: смотрим на веса — и всё понятно
Авторы работы из Университета Вайкато (Новая Зеландия) предложили элегантно простой подход под названием Magnitude Profile (MP). Идея заключается в следующем:
- У каждой головы внимания есть матрицы весов — проекционные матрицы для запросов (Q), ключей (K) и значений (V).
- Берём нормы (упрощённо — «размеры») строк этих матриц.
- Статистически определяем выбросы: головы, чьи нормы заметно выше остальных, — это «выдающиеся» голови, которые несут основную нагрузку.
- Головы, чьи нормы попадают в основную массу (bulk), — кандидаты на удаление.
Аналогия из жизни: представьте футбольную команду. Большинство игроков примерно одного уровня — хорошие, но взаимозаменяемые. А если кто-то выделяется разительно — голы забивает, передачи отдаёт — его точно нельзя убирать из состава. MP-метод делает ровно это: убирает «средних» и оставляет «звёзд».
При этом не нужно запускать модель ни на одном примере, не нужны градиенты, не нужна калибровка. Достаточно один раз посмотреть на числа в файлах весов.
Адаптация для Grouped Query Attention
Отдельная находка — вариант MP-G, который умеет работать с архитектурой Grouped Query Attention (GQA). Это оптимизация, используемая в современных моделях вроде Llama 2/3, Mistral и некоторых других, где несколько «запросных» голов разделяют общую группу ключей и значений.
MP-G распределяет оценку важности общей ключ-значение группы между всеми связанными с ней запросными головами. Это позволяет корректно учитывать архитектурные особенности, а не резать «вслепую».
Результаты: лучше методов с калибровкой
Авторы испытали свой подход на пяти моделях и сравнили с тремя базовыми методами — Wanda-Head, SparseGPT-Head и Gradient-Head, — все из которых требуют калибровочных данных или вычисления градиентов.
На модели OPT-6.7B (размерность 6.7 миллиарда параметров) при оценке по датасету WikiText-2:
| Разреженность | MP-G (perplexity) | Результат |
|---|---|---|
| 12.5% голов удалено | 18.46 | Лучший среди всех методов |
| 25% удалено | 27.87 | Лучший среди всех |
| 50% удалено | 152.0 | Лучший среди всех |
На RoBERTa-large при 12.5% и 25% разреженности MP-G также обошёл все калибровочные методы, показав perplexity 7.27 и 10.28 соответственно.
Perplexity — это мера «растерянности» модели: чем ниже, тем лучше она предсказывает текст. Что важно: ноль проходов через модель, ноль калибровочных примеров — а результат не хуже, а местами лучше.
Что это даёт на практике
При 50% обрезке голов авторы фиксируют до 16% сокращения параметров и 50% экономии вычислений (FLOPs) в блоках внимания. На практике это означает:
- Модель занимает меньше оперативной памяти.
- Генерация текста идёт быстрее.
- На сервере — меньше энергопотребления и ниже стоимость инференса.
- На устройстве пользователя — возможность запустить модель, которая раньше не влезала.
И всё это — без единого дополнительного вычисления, просто посмотрев на числа в матрицах весов.
Оговорки и перспективы
Как всегда, есть нюансы. Метод протестирован на сравнительно ограниченном наборе моделей (OPT и RoBERTa) и одной метрике (perplexity на WikiText-2). Как он покажет себя на моделях свежего поколения — Llama 3, Qwen 2.5, на задачах генерации кода, агентных сценариях — пока неизвестно.
Также стоит понимать, что perplexity — это бенчмарк на «понимание текста». В реальных пользовательских сценариях — чат-боты, суммаризация, перевод — влияние прунинга может проявиться не столь однозначно. Некоторые «средние» головы могут отвечать за нюансы, которые perplexity не ловит.
Тем не менее, сам подход — использовать только статистику весов, без калибровки и градиентов — выглядит перспективным направлением. Он снижает порог входа для оптимизации моделей: не нужна инфраструктура для калибровки, не нужны обучающие данные, достаточно одного анализа чекпоинта.
Работа принята как полноценная статья на конференцию IEEE ICMLA 2026 и будет опубликована в сборнике материалов.