Перейти к содержанию
Публикация AiManual

Удаление блоков LLM как задача физики: как оптимизация Изинга сжимает большие языковые модели

Multiverse Computing переформулировали удаление трансформерных блоков как поиск низкоэнергетических состояний спинового стекла Изинга: при 50% сжатии Llama-3.3-

Коротко

Что будет в материале

  1. 01

    Что такое depth pruning и почему выбор блоков - это не ранжирование, а комбинаторная задача

  2. 02

    Как физика спиновых стёкол Изинга описывает выбор блоков

  3. 03

    Какие результаты даёт метод: 23 процентных пункта на MMLU при 50% сжатии

  4. 04

    Как применить метод на практике: код, калибровка и сочетание с другими техниками

Половина блоков Llama-3.3-70B-Instruct, удалённая наугад, убивает модель. Метод, который описала команда Multiverse Computing, при 50% сжатии той же модели даёт почти 23 процентных пункта преимущества по MMLU над лучшим конкурирующим подходом к удалению блоков. Магии тут нет: выбор блоков переформулировали как задачу ограниченной бинарной оптимизации, эквивалентную поиску низкоэнергетических состояний спинового стекла Изинга.

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

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

Что такое depth pruning и почему выбор блоков - это не ранжирование, а комбинаторная задача

Удаление целых трансформерных блоков (block removal, оно же depth pruning) остаётся одним из самых дешёвых способов ускорить большую языковую модель. Модель буквально становится короче, поэтому ускорение инференса предсказуемо: меньше слоёв на каждом токене. Экономия памяти идёт бонусом, а сама техника аккуратно складывается с квантизацией и низкоранговым сжатием, о чём авторы пишут в описании метода.

Сложность начинается на вопросе «какие именно блоки резать». Эффект от удаления блока зависит от того, какие блоки удаляются вместе с ним. Удаление блока 20 может пройти безболезненно, если блок 19 или блок 24 тоже удалены, и обвалить качество, если оба остались на месте. Решения взаимодействуют между собой, поэтому выбор блоков - комбинаторная задача, а не задача ранжирования, где достаточно отсортировать блоки по важности.

Комбинации растут экспоненциально. Для модели с 80 блоками выбор 40 на удаление даёт порядка 1023 вариантов: полный перебор невозможен, а именно он и нужен, чтобы гарантированно найти оптимум.

Почему mean-field методы и block influence проигрывают при сильном сжатии

Большинство существующих методов оценивают каждый блок по отдельности, а затем удаляют наименее важные. В ходу эвристики магнитуды, чувствительности и «block influence». В терминах физики это методы среднего поля (mean-field): вклад блока рассматривается как независимый от остальных, а соседи заменяются усреднённым полем.

Подход работает, пока удаляется немного блоков. При 50% сжатии взаимодействия выходят на первый план, и независимая оценка перестаёт предсказывать реальный эффект. Родственное упрощение - удалять только один непрерывный участок блоков. Задача остаётся маленькой, но большая часть пространства поиска выбрасывается вместе с потенциально хорошими конфигурациями.

Итог: игнорирование связей между блоками оставляет качество на столе, и чем глубже модель и чем больше блоков нужно снять, тем заметнее потери. Для современных LLM с 40-80 блоками это уже не теоретическая проблема.

Как физика спиновых стёкол Изинга описывает выбор блоков

Каждому трансформерному блоку сопоставляется бинарная переменная: 0 - сохранить, 1 - удалить. Ровно как спин, который может смотреть вверх или вниз. Формально выбор блоков записывают как задачу ограниченной бинарной оптимизации (constrained binary optimization, CBO), и эта постановка напрямую отображается на спиновое стекло Изинга: неупорядоченную спиновую систему с взаимодействиями «все со всеми» и фиксированным числом спинов «вверх».

Ограничение здесь содержательное: число удаляемых блоков задано заранее (например, 40 из 80 при 50% сжатии). Энергия такой системы в общей изинговской форме складывается из парных вкладов между спинами и однократных полей, а парные члены как раз и кодируют взаимодействие между решениями об удалении блоков.

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

Матрица Гессиана и калибровочный датасет: как метод оценивает взаимодействия

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

Оговорка по источникам. В разборе метода, доступном на 22 сентября 2026 года, текст обрывается на описании бинарной переменной для блока. Детали вычисления Гессиана, вид калибровочного набора и конкретные солверы там не раскрыты, поэтому относиться к этим пунктам стоит как к заявлениям авторов, которые проверяются по коду и полной версии работы.

Калибровочный датасет - узкое место всей схемы. Прокси наследует его смещения: если набор примеров узкий и не отражает реальные задачи, энергия может плохо коррелировать с фактическим качеством модели. Это тот же риск, что и у любых методов, которые калибруют метрику на выборке.

Какие результаты даёт метод: 23 процентных пункта на MMLU при 50% сжатии

Ключевая цифра публикации: при 50% сжатии Llama-3.3-70B-Instruct метод даёт почти 23 процентных пункта преимущества по MMLU над лучшим конкурирующим методом удаления блоков (исходные данные). MMLU (Massive Multitask Language Understanding) - стандартный бенчмарк на знания и рассуждения, по нему удобно сравнивать модели между собой. Важное ограничение: число относится именно к режиму 50% сжатия этой модели и к этой метрике. Экстраполировать его на другие модели, другие степени сжатия или другие бенчмарки нельзя.

Заявлено также, что подход переносится на гетерогенные архитектуры (Mamba2, attention, MoE) без переобучения. Подтверждения этому в доступном фрагменте разбора нет, так что пункт стоит держать в статусе заявления авторов до проверки кода и полного текста.

Почему 23 п.п. - это много и что это значит на практике

При 50% depth pruning конкуренты часто деградируют до состояния, когда модель теряет связность ответов: остаются обрывки шаблонов вместо рассуждений. Разрыв в 23 процентных пункта на MMLU - это дистанция между «модель отвечает осмысленно» и «модель развалилась». На практике такой запас означает, что агрессивное сжатие перестаёт быть лотереей, а становится управляемой операцией.

Выбор блоков тут решается оптимизацией энергии, а не градиентным обучением, поэтому этап поиска конфигурации не требует прогона дорогого дообучения. Что энергия действительно предсказывает реальное качество, подтверждают сами результаты на MMLU: без этой корреляции ранжирование по энергии не давало бы выигрыша.

Как применить метод на практике: код, калибровка и сочетание с другими техниками

По заявлению авторов, код открыт на GitHub, ссылку стоит искать в самой публикации метода. Воспроизводимость здесь принципиальна: без кода метод остаётся набором формул, а с ним его можно прогнать на своей модели и своём домене.

Общий пайплайн выглядит так:

  1. Собрать калибровочный датасет, репрезентативный для целевых задач.
  2. Один раз вычислить матрицу Гессиана по этому набору.
  3. Сформулировать задачу CBO с ограничением на число удаляемых блоков.
  4. Найти низкоэнергетические конфигурации, ранжируя кандидатов по энергии.
  5. Удалить выбранные блоки из чекпойнта и только затем прогонять бенчмарки на финалистах.

С квантизацией и низкоранговым сжатием техника сочетается: это другая ось сжатия, а не альтернатива им. Разумный порядок - сначала выбрать конфигурацию блоков по энергии, потом квантовать то, что осталось. Так экономия памяти и ускорение складываются, а не конфликтуют.

Ограничения и подводные камни: что нужно учитывать до внедрения

  • Калибровочный датасет определяет качество прокси. Узкий или смещённый набор даёт энергию, которая плохо предсказывает качество на других задачах.
  • Матрица Гессиана для очень крупных моделей требует доступа к весам и заметных вычислений, пусть и однократных. Для 70B-класса это отдельная инженерная задача.
  • Цифра 23 п.п. подтверждена только для Llama-3.3-70B-Instruct, 50% сжатия и MMLU. На коде, математике и длинном контексте поведение может отличаться, и это не проверено публикацией.
  • Метод не отменяет квантизацию и не заменяет её: depth pruning убирает глубину, квантизация снижает точность весов.
  • Детали солверов (классических и квантово-вдохновлённых) в доступном разборе не раскрыты, а от них зависит скорость поиска конфигураций.
  • Для нестандартных архитектур заявлена работа без переобучения, но подтверждения в разборе нет.

Кому и когда стоит использовать depth pruning через оптимизацию Изинга

Метод оправдан, когда нужно агрессивное сжатие: 40-50% и больше, с сохранением работоспособности модели. Второе условие, возможность один раз посчитать Гессиан и подготовить нормальный калибровочный набор. Третье, модель уходит на ограниченное железо, где каждый гигабайт памяти и каждый слой на пути инференса имеют значение.

Альтернативы стоит держать в голове до старта. Квантизация проще, работает с готовыми чекпойнтами и не меняет глубину модели, поэтому как первый шаг она часто выгоднее. Низкоранговое сжатие режет модель по другой оси. Классические mean-field эвристики быстрее в настройке, но при сильном сжатии проигрывают по качеству. Если задача не в глубине модели, а в адаптации вычислений под запрос, посмотрите на метод PoLar, который динамически пропускает слои под конкретный вход.

Практический вывод: если цель - влезть в VRAM, начинайте с квантизации. Если цель - снять половину глубины и сохранить качество на задачах, где модель должна рассуждать, depth pruning через оптимизацию Изинга стоит рассмотреть: он открыт, воспроизводим и даёт запас там, где независимая оценка блоков уже не помогает.

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

Материалы по теме

Подписаться на канал