QUANT_PRUNE_DISTILL Telegram 371
Pushing the Limits of Large Language Model Quantization via the Linearity Theorem
[Статья][PR в transformers]

SOTA векторные методы квантизации, такие как AQLM (+PV), QuIP#, QTIP, способны достигать умеренной просадки качества при сжатии в 2-3 бита, и почти без просадки (смотря на чем замерять) в 4 битах.

Однако, деквантизация в данных подходах довольно ресурсоемкая, что ограничивает предельно возможную скорость инференса.

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

И коллеги @galqiwi и @black_samorez, совместно с корешами из IST, KAUST и MIT предложили новый, data-free (в большинстве сценариев) метод квантизации с переменной битностью слоев, который дает одновременно и хорошее качество в 3-4 бита и значительное ускорение.

Метод

State-of-the-art методы квантизации и прунинга для LLM по большей части оптимизируют ошибку на выходе линейного слоя, так как прямой учет лосса слишком затратен на масштабе.

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

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

Но сама ошибка может существенно варьироваться от слоя к слою и зависит от распределения значений в матрицах весов. Кроме того, хочется иметь data-free метод квантизации, а наивный RTN просаживает качество довольно сильно при сжатии в 4 и и ниже бит.

Потому авторы применяют знакомые давним подписчикам канала Адамаровы вращения, которые убивают выбросы в весах и приводят распределение весов к нормальному i.i.d. А для нормального распределения существуют рассчитанные (численно) оптимальные решетки. Потому метод зовется Hadamard Incoherence and Gaussian MSE-optimal GridS (HIGGS). Причем рассматривается случай как скалярной, так и векторной квантизации. Векторная квантизация с 2-мерными кодбуками дает лучшее качество, чем скалярная, и при этом эффективно реализуется кернелами из библиотеки FLUTE.

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

Далее решением задачи линейного программирования при заданной степени сжатия определяет отпимальное распределение уровней сжатия среди несколько возможных вариантов.

Таким образом, задача нахождения оптимальных квантизованных весов сводится к нахождению коэффициентов важности каждого слоя и оптимальной квантизации для нормально распределенных i.i.d. весов.
👍93



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

Pushing the Limits of Large Language Model Quantization via the Linearity Theorem
[Статья][PR в transformers]

SOTA векторные методы квантизации, такие как AQLM (+PV), QuIP#, QTIP, способны достигать умеренной просадки качества при сжатии в 2-3 бита, и почти без просадки (смотря на чем замерять) в 4 битах.

Однако, деквантизация в данных подходах довольно ресурсоемкая, что ограничивает предельно возможную скорость инференса.

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

И коллеги @galqiwi и @black_samorez, совместно с корешами из IST, KAUST и MIT предложили новый, data-free (в большинстве сценариев) метод квантизации с переменной битностью слоев, который дает одновременно и хорошее качество в 3-4 бита и значительное ускорение.

Метод

State-of-the-art методы квантизации и прунинга для LLM по большей части оптимизируют ошибку на выходе линейного слоя, так как прямой учет лосса слишком затратен на масштабе.

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

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

Но сама ошибка может существенно варьироваться от слоя к слою и зависит от распределения значений в матрицах весов. Кроме того, хочется иметь data-free метод квантизации, а наивный RTN просаживает качество довольно сильно при сжатии в 4 и и ниже бит.

Потому авторы применяют знакомые давним подписчикам канала Адамаровы вращения, которые убивают выбросы в весах и приводят распределение весов к нормальному i.i.d. А для нормального распределения существуют рассчитанные (численно) оптимальные решетки. Потому метод зовется Hadamard Incoherence and Gaussian MSE-optimal GridS (HIGGS). Причем рассматривается случай как скалярной, так и векторной квантизации. Векторная квантизация с 2-мерными кодбуками дает лучшее качество, чем скалярная, и при этом эффективно реализуется кернелами из библиотеки FLUTE.

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

Далее решением задачи линейного программирования при заданной степени сжатия определяет отпимальное распределение уровней сжатия среди несколько возможных вариантов.

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

BY КПД


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

View MORE
Open in Telegram


Telegram News

Date: |

The Standard Channel Your posting frequency depends on the topic of your channel. If you have a news channel, it’s OK to publish new content every day (or even every hour). For other industries, stick with 2-3 large posts a week. For crypto enthusiasts, there was the “gm” app, a self-described “meme app” which only allowed users to greet each other with “gm,” or “good morning,” a common acronym thrown around on Crypto Twitter and Discord. But the gm app was shut down back in September after a hacker reportedly gained access to user data. Ng Man-ho, a 27-year-old computer technician, was convicted last month of seven counts of incitement charges after he made use of the 100,000-member Chinese-language channel that he runs and manages to post "seditious messages," which had been shut down since August 2020. Public channels are public to the internet, regardless of whether or not they are subscribed. A public channel is displayed in search results and has a short address (link).
from us


Telegram КПД
FROM American