Введение

Обзор посвящен исследованию, на тему "сверхвеса" (super weights) в больших языковых моделях (LLM). Авторы обнаружили, что очень небольшое количество параметров (вплоть до одного скаляра!) в LLM играет непропорционально важную роль в их способности генерировать качественный текст. Ресерчеры из Apple утверждают, что крошечное подмножество, максимум шесть масштабирующих факторов, важнее остальных. Авторы называют их супервесами, и их обрезка разрушает качество модели.

Несколько статей в прошлом показали, что в определенном масштабе небольшой набор скрытых признаков состояния содержит выбросы с огромной величиной. Эти выбросы составляют небольшой процент всех активаций, но имеют решающее значение для сохранения качества сжатой модели. В контексте LLM эти выбросы проявляются как "сверх-активации" (super activations) – аномально большие активации, которые также критически важны для качества модели. Удаление этих "сверхвесов" может полностью разрушить модель, снижая точность до уровня случайного угадывания и увеличивая перплексию на несколько порядков.

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

Основные результаты и идеи

Сверхвеса (Super Weights)

  • Авторы обнаружили, что один единственный параметр ("сверхвес") в LLM имеет непропорционально большое влияние на качество модели;

  • Удаление этого параметра может привести к генерации бессмысленного текста, как качественно, так и количественно (показано на примере Llama-7B на рисунке 1 и в таблице 1);

  • Важно отметить, что удаление даже 7000 других самых больших по величине параметров влияет на качество незначительно по сравнению с удалением одного "сверхвеса".

«Внутри обученных LLM находится группа весов-аутлаеров с большой магнитудой, они могут составлять порядка 0.01% от всех весов модели, что в случае миллиардных моделей всё равно сотни тысяч. Это было известно ранее. В текущей работе показывают, что внутри этой группы находится один единственный вес (тот самый super weight, SW), не обязательно самый большой, важность которого превышает суммарную важность тысяч других аутлаеров. Он необходим для качества, без него LLM не может генерить нормальный текст. Перплексия вырастает на несколько порядков, а точность на zero-shot задачах падает до рандома.»

Рисунок 1
Рисунок 1
Таблица 1
Таблица 1

«В Llama-7B удаление сверхвеса, одного скаляра, полностью разрушает способность модели генерировать текст. Средняя точность задач с нулевой выборкой фактически падает до нуля. И наоборот, удаление других 7000 крупнейших выбросов, включая выбросы, которые больше, чем сверхвес, влияет не более чем на несколько процентных пунктов.»

Идентификация сверхвесов

Основной метод

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

  • Анализ распределения активаций в прямом проходе модели

  • Выявление скачков в распределении входов и выходов слоев `mlp.down_proj`

  • Использование только одного входного запроса для обнаружения

  • Авторы предоставляют каталог координат сверхвесов для нескольких общедоступных LLM (Таблица 2).

Определение координат сверхвеса:

  • Строка определяется по индексу канала входного распределения активаций

  • Столбец определяется по индексу канала выходного распределения активаций

Характеристики сверхвесов:

  • Не обязательно являются максимальными по абсолютной величине в матрице весов

  • Могут быть обнаружены путем подачи произвольного запроса

  • Для уменьшения активации достаточно обрезать один вес

Распределение в моделях:

  • Максимальное количество сверхвесов (шесть) обнаружено в модели Phi-3-mini-4k-instruct

  • Позиции сверхвесов сохраняются при тонкой настройке моделей с помощью инструкций

Таблица 2
Таблица 2

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

Сверх-активации (Super Activations)

  • Сверхвеса вызывают "сверх-активации" - очень большие активации, которые сохраняются на протяжении многих слоев модели в одном и том же положении, независимо от входных данных.

  • Эти сверх-активации играют ключевую роль в функционировании модели.

  • Удаление сверхвеса резко снижает величину сверх-активации, подтверждая причинно-следственную связь.

Ранее (https://arxiv.org/abs/2402.17762) были найдены супер-активации, критичные для качества. Они существуют в различных слоях, имеют константную магнитуду и всегда обнаруживаются в одинаковой позиции несмотря на вход. Текущая работа находит, что канал активации совпадает с оным для супер веса и сперва активация обнаруживается сразу после супер веса. Прунинг этого супер веса значительно уменьшает активацию, так что вероятно активация вызвана им, а не просто скоррелирована. Такие активации называются супер активациями (super activations, SA).

Предыдущая работа объясняла супер активации через bias terms, но не объясняла как они получаются и почему на одних и тех же местах. Сейчас авторы эмпирически нашли, что до down проекции (down_proj) произведение Адамара (Hadamard product) gate и up проекций (gate_proj, up_proj) создаёт относительно большую активацию. Супер вес далее усиливает её ещё и даёт супер активацию.

Напомню, что MLP блок в Ламе выглядит так:

out = down_proj( act_fn(gate_proj(input)) x up_proj(input) )
Рисунок 4
Рисунок 4

«Мы обнаруживаем еще одно интригующее свойство: канал активации соответствует нашему сверхвесу, и активация появляется сразу после нашего сверхвеса. Чтобы подтвердить, является ли это корреляцией или причинно-следственной связью, мы удаляем сверхвес и проверяем величину массивной активации. На рисунке 4 мы обнаруживаем, что удаление сверхвеса резко снижает величину массивной активации. Это говорит о том, что массивные активации создаются сверхвесами. Для последовательности мы называем эти массивные активации «сверх-активациями»

Механизмы действия сверхвесов

  • Сверхвеса, помимо создания сверх-активаций, подавляют вероятность стоп-слов в выходных данных модели (Рисунок 2, 5).

  • Удаление сверхвесов приводит к увеличению вероятности стоп-слов и уменьшению вероятности значимых слов.

  • Восстановление сверх-активаций частично восстанавливает качество модели после удаления сверхвеса, но не полностью.

  • Провели эксперименты по обнулению SW, в том числе с восстановлением SA до исходного значения, чтобы проверить влияние SW на другие активации. Это восстанавливает 42% потери, то есть влияние SW на качество выше, чем просто через SA.

  • По анализу 500 различных промптов из Lambaba validation set видно, что при убирании SW вероятности стоп-слов сильно возрастают (а обычные слова соответственно занижаются). Для “the” это 2×, для “.” -- 5×, и для “,” -- 10×. То есть наличие SW как бы подавляет стоп-слова и позволяет генерировать осмысленный текст.

Рисунок 2
Рисунок 2
Рисунок 5
Рисунок 5

«В частности, когда мы восстанавливаем сверх-активации, средняя точность восстанавливается до 49,94 с 35,14, что указывает на то, что восстановление сверх-активаций спасло примерно 42 % потери качества. Эти результаты показывают, что хотя сверх-активации вносят существенный вклад в производительность модели, они не полностью объясняют общее влияние сверхвеса на качество.»

Сверх-веса и квантизация

  • Сверх-веса и сверх-активации оказывают сильное негативное влияние на квантизацию моделей.

  • Предлагается метод квантизации, который явно сохраняет сверх-веса, улучшая качество по сравнению с традиционной квантизацией.

  • Для квантизации активаций предлагается заменить сверх-активацию медианным значением, квантовать, а затем восстановить исходное значение.

  • Для квантизации весов предлагается клиппировать (ограничивать) выбросы, включая сверхвес, квантовать, а затем восстанавливать сверхвес.

Экспериментальные результаты

  • Эксперименты проведены на различных LLM, включая Llama, Mistral и OLMo.

  • Предложенный метод квантизации, учитывающий сверх-веса, показал конкурентоспособные результаты по сравнению с state-of-the-art методами, такими как SmoothQuant.

  • Метод позволяет масштабировать блочную квантизацию весов до больших размеров без значительной потери качества.

Практическое значение

  • Выявление критически важных параметров в LLM может привести к более эффективным методам сжатия и оптимизации моделей.

  • Предложенный data-free метод идентификации сверхвесов может быть использован для оптимизации квантизации моделей без необходимости в дополнительных обучающих данных.

  • Улучшенная квантизация, с учетом сверх-весов, позволяет создавать более компактные и эффективные модели, которые можно использовать в условиях ограниченных ресурсов.

Заключение

Исследование демонстрирует важность "сверхвесов" и "сверх-активаций" в работе LLM. Эти параметры, несмотря на свою малочисленность, оказывают непропорционально большое влияние на качество модели. Авторы предлагают практические методы для их идентификации и использования для улучшения квантизации моделей. Результаты исследования подчеркивают необходимость дальнейшего изучения и учета сверх-весов для создания более эффективных и надежных LLM.


Глоссарий

  • Большая языковая модель (LLM): Модель машинного обучения, обученная на больших объемах текстовых данных и способная генерировать и понимать естественный язык.

  • Супервес: Отдельный скалярный параметр в LLM, имеющий непропорционально важное значение для работы модели.

  • Суперактивация: Аномально большое значение активации, возникающее в результате влияния супервеса.

  • Нулевой выстрел (zero-shot): Способность модели выполнять задачу без предварительного обучения на этой конкретной задаче.

  • Перплексия: Мера того, насколько хорошо модель предсказывает следующий токен в последовательности. Чем ниже перплексия, тем лучше модель.

  • Квантование: Метод снижения точности представления чисел, чтобы уменьшить размер модели и ускорить вычисления.

  • mlp.down_proj: Слой понижающей проекции в многослойном персептроне (MLP), который является частью архитектуры LLM.

  • Усечение (clipping)**: Метод ограничения диапазона значений, чтобы предотвратить влияние выбросов на процесс квантования.

  • Стоп-слова: Часто встречающиеся слова (например, "и", "а", "на"), которые обычно не несут значительной семантической информации.

  • Hadamard product: Поэлементное умножение двух матриц.

  • SmoothQuant: Метод квантования LLM, использующий масштабирование активаций для снижения влияния выбросов.

  • AWQ (Activation-aware Weight Quantization): Метод квантования весов, учитывающий активации, для оптимизации параметров масштабирования.

  • SqueezeLLM: Метод квантования, использующий разреженную матрицу для сохранения наиболее важных параметров в более высокой точности.

  • Skip connection: Прямое соединение между слоями, которое пропускает один или несколько промежуточных слоёв.

  • Per-tensor quantization: Метод квантования, который применяет одинаковые параметры квантования ко всему тензору.

  • Per-token quantization: Метод квантования, который применяет параметры квантования к каждому токену в отдельности.

  • Gaussian Distribution: Нормальное распределение, описывающее распределение случайных переменных.

  • Z-score: Мера того, сколько стандартных отклонений отдельное наблюдение отстоит от среднего.


Краткий Тест

1. Что такое "супервес" в контексте больших языковых моделей (LLM)?

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

2. Где обычно находятся супервеса в архитектуре LLM, согласно исследованию?

  • Супервеса обычно обнаруживаются в слое `mlp.down_proj` на ранних этапах архитектуры LLM.

3. Что такое "суперактивации" и как они связаны с супервесами?

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

4. Каково влияние удаления супервеса на производительность LLM?

  • Удаление супервеса приводит к резкому падению точности LLM в задачах с нулевым выстрелом (zero-shot), а также к увеличению перплексии на порядки.

5. Как можно использовать знания о супервесах при квантовании LLM?

  • Знание о супервесах позволяет их сохранить при квантовании, тогда как другие веса могут быть квантованы с использованием различных методов, таких как усечение (clipping). Это улучшает качество квантованной модели.

6. Опишите метод идентификации супервесов, представленный в исследовании.

  • Супервеса можно идентифицировать, обнаруживая пиковые значения в распределениях входов и выходов слоев `mlp.down_proj` при прохождении одного входного запроса.

7. Как супервеса влияют на распределение вероятностей выходных токенов?

  • Удаление супервесов приводит к увеличению вероятностей стоп-слов и снижению вероятностей значимых слов, что негативно сказывается на способности модели делать точные и уверенные предсказания.

8. Как исследование изучает связь между супервесами и суперактивациями?

  • Исследователи показывают, что удаление супервеса приводит к значительному снижению величины суперактиваций, что говорит о том, что супервеса создают эти аномальные активации.

9. Каковы результаты экспериментов по восстановлению суперактиваций после удаления супервесов?

  • Восстановление суперактиваций после удаления супервеса частично восстанавливает качество LLM, но не полностью, что указывает на то, что супервеса влияют на модель не только через суперактивации.

10. Как результаты исследования относятся к другим методам квантования LLM, таким как SmoothQuant, AWQ, и SqueezeLLM?

  • Исследование показало, что сохранение супервесов может быть конкурентоспособно с методами, такими как SmoothQuant, при квантовании активаций, а также может позволить использовать большие размеры блоков при квантовании весов, аналогично AWQ и SqueezeLLM, которые также косвенно учитывают важность этих параметров.

Заключительные замечания о роли супервесов и суперактиваций

1. Супервеса могут не быть крупнейшими по модулю в матрице W, но при этом «резонировать» с большими входными значениями X_{i m}, формируя «суперактивации».

2. Суперактивации прослеживаются по слоям и способны сохраняться при прохождении через функции активации и skip connection’ы.

3. Удаление супервеса приводит к исчезновению (или сильному снижению) суперактивации и резкому ухудшению итога (качества генерации, точности в zero-shot задачах и т.д.).

4. Сохранение супервесов при квантовании (либо особое обращение с ними, например, «разжатием» в более высокую точность) помогает избежать катастрофической деградации модели.

Итоговое резюме

- Супервес (Super Weight) в модели — это вес (скаляр) W_{j m} в матрице \mathrm{down\_proj} (или в другом слое), вклад которого в активации Y_{i j} доминантен и ведёт к появлению «суперактиваций».

- Суперактивация (Super Activation) — это чрезвычайно большая активация (элемент Y_{i j}), вызванная доминированием пары (X_{i m}, W_{j m}).

- Удаление одного супервеса обрушивает качество модели, поскольку «суперактивации» исчезают или резко уменьшаются, что подтверждает причинно-следственную связь.

- В формализме линейных преобразований Y = XW^\mathsf{T}, супервесы — это пары индексов (j,m), при которых произведение X_{i m} \cdot W_{j m} оказывается в разы выше суммы всех остальных компонент для данной позиции (i,j).

Таким образом, «супервеса» и «суперактивации» — это феномен взаимодействия большого (или «резонансного») веса и специфических входных активаций, что в конечном итоге критически влияет на производительность всей большой языковой модели.

Скрытый текст

Более подробный обзор с математической формализацией и программным кодом смотрите в моем репозитории Weekly-arXiv-ML-AI-Research-Review

Продолжайте исследовать вместе с нами! ?

Комментарии (1)


  1. Dhwtj
    25.01.2025 21:02

    Компьютер наконец-то нашёл ответ на самый важный вопрос во вселенной.

    Ответ 42 the