QUANT_PRUNE_DISTILL Telegram 276
Shortened LLaMA: A Simple Depth Pruning for Large Language Models
[Статья][Код]

Первая статья в хронологическом порядке и с открытым исходным кодом.

Метод

Хотим мы, значится, выбрасывать блоки целиком - но какие брать?
Авторы рассматривают 3 критерия
1️⃣ Среднюю величину весов (Magntude pruning)
2️⃣ Taylor (не Свифт, а норму градиента на вес, вдв кароч)
3️⃣ Изменение перплексии при выкидывании каждого блока по отдельности
В первых двух случаях временами выпиливаются первые и последние блоки, которые оказываются позарез важными, поэтому предлагается убрать их рассмотрения.

Чтобы восстановить качество модели после сжатия, навешивают LoRA на то, что выжило и дообучают на небольшом количестве данных.

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

Берут LLama-1 и Vicuna-7B, 13B. Для калибровки (оценки важности блоков) берут 10 последовательностей длины 128 из BookCorpus, и потом дообучают на Alpaca.

Предложенный метод не хуже, а то и лучше LLM-Pruner и структурированный Wanda (где критерием важности параметра выступает норма веса на норму активации).

Просадка при 20% прореживания заметная, но все же довольно умеренная. На малых степенях сжатия лучше всего работает критерий по градиенту умножить на вес, при запрете на отбрасывание первых четырех и последних двух блоков, при больших - оценка важности по перплексии.

Файнтьюн с LoRA неплохо восстанавливает метрики после сжатия, особенно с увеличением степени сжатия. Тем не менее разрыв между исходной моделью и сжатой все еще существенен (просадки больше, чем при SOTA 2-битной квантизации).

Данных требуется совсем немного для калибровки, качество существенно не меняется если взять больше, чем 10 примеров. Запрещать сжимать для Taylor и Magnitude первые и последние блоки важно - иначе перплексия взлетает до нескольких тысяч.

Комментарий

Метод прост и логичен. Однако просадка, на самом деле несколько больше, чем декларируется. На собственных замерах с lm_eval=0.4.0 поверх дообученных чекпоинтов (26 блоков против исходных 32) замерил просадку в 3% по сравнению с исходной моделью.
👍41



tgoop.com/quant_prune_distill/276
Create:
Last Update:

Shortened LLaMA: A Simple Depth Pruning for Large Language Models
[Статья][Код]

Первая статья в хронологическом порядке и с открытым исходным кодом.

Метод

Хотим мы, значится, выбрасывать блоки целиком - но какие брать?
Авторы рассматривают 3 критерия
1️⃣ Среднюю величину весов (Magntude pruning)
2️⃣ Taylor (не Свифт, а норму градиента на вес, вдв кароч)
3️⃣ Изменение перплексии при выкидывании каждого блока по отдельности
В первых двух случаях временами выпиливаются первые и последние блоки, которые оказываются позарез важными, поэтому предлагается убрать их рассмотрения.

Чтобы восстановить качество модели после сжатия, навешивают LoRA на то, что выжило и дообучают на небольшом количестве данных.

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

Берут LLama-1 и Vicuna-7B, 13B. Для калибровки (оценки важности блоков) берут 10 последовательностей длины 128 из BookCorpus, и потом дообучают на Alpaca.

Предложенный метод не хуже, а то и лучше LLM-Pruner и структурированный Wanda (где критерием важности параметра выступает норма веса на норму активации).

Просадка при 20% прореживания заметная, но все же довольно умеренная. На малых степенях сжатия лучше всего работает критерий по градиенту умножить на вес, при запрете на отбрасывание первых четырех и последних двух блоков, при больших - оценка важности по перплексии.

Файнтьюн с LoRA неплохо восстанавливает метрики после сжатия, особенно с увеличением степени сжатия. Тем не менее разрыв между исходной моделью и сжатой все еще существенен (просадки больше, чем при SOTA 2-битной квантизации).

Данных требуется совсем немного для калибровки, качество существенно не меняется если взять больше, чем 10 примеров. Запрещать сжимать для Taylor и Magnitude первые и последние блоки важно - иначе перплексия взлетает до нескольких тысяч.

Комментарий

Метод прост и логичен. Однако просадка, на самом деле несколько больше, чем декларируется. На собственных замерах с lm_eval=0.4.0 поверх дообученных чекпоинтов (26 блоков против исходных 32) замерил просадку в 3% по сравнению с исходной моделью.

BY КПД


Share with your friend now:
tgoop.com/quant_prune_distill/276

View MORE
Open in Telegram


Telegram News

Date: |

Each account can create up to 10 public channels "Doxxing content is forbidden on Telegram and our moderators routinely remove such content from around the world," said a spokesman for the messaging app, Remi Vaughn. Earlier, crypto enthusiasts had created a self-described “meme app” dubbed “gm” app wherein users would greet each other with “gm” or “good morning” messages. However, in September 2021, the gm app was down after a hacker reportedly gained access to the user data. How to build a private or public channel on Telegram? More>>
from us


Telegram КПД
FROM American