QUANT_PRUNE_DISTILL Telegram 306
How Fireworks evaluates quantization precisely and interpretably
[Блог]

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

Главные выводы и предписания следующие:

1️⃣ Trade-off между степенью сжатия и качеством определяется конечным приложением. Не существует универсального предписания для всех задач, что, мол, во столько раз можно сжать с умеренной просадкой в качестве, а дальше нельзя.
2️⃣ Использование KL-дивергенции для оценки степени расхождения квантизованной модели от исходной.
3️⃣ Не полагаться на точность на стандартных бенчмарках, а диверсифицировать протокол замеров

По первому пункту, вывод довольно логичен. Некоторые задачи (function calling) менее чувствительны к ошибкам, чем другие (code generation), где один косячок, и весь дальнейший вывод сыпется как домино. Перплексия тоже плоха, так как ниже у моделей с низкой энтропией, но не всегда более точных.

Ссылаясь на свежую работу от Microsoft Accuracy is not is all you need, авторы заявляют, что точность на бенчах - довольно шумная метрика оценки качества. Может быть так, что исходная модель где-то ошибалась, а квантизованная случайно стала предсказывать нужный токен. И прирост качества (скорее всего мизерный) обусловлен случайностью, а не тем, что модель “стала лучше”.

KL-дивергенция между сжатой и несжатой моделью предлагается в качестве альтернативы точности на наборе задач, как устойчивая к шумам. Если конкретно, предлагается генерировать несжатой моделью (forced generation), и смотреть, насколько различаются вероятности следующего токена предсказанные fp моделью и квантизованной. Кроме того, еще можно смотреть на token rejection rate - насколько отличается выбор top N токенов (N=16 в дальнейшем) между двумя моделями.

Ниже под квантизацией подразумевается переход от fp16 к fp8 (братве явно завезли баржу с H100). Рассматривают 4 уровня квантизации (по возрастанию степени сжатия):

1️⃣ Квантизуем только MLP без первого и последнего блока трансформера
2️⃣ Квантизуем все веса
3️⃣ Квантизуем вдобавок еще KV-cache
4️⃣ Квантизуем attention (K, V?) на prefill

Точность на MMLU просаживается немонотонно, уровень 2 даже оказывается “лучше” fp16 на тютельку. KL-дивергенция же монотонно растет со сжатием.

Далее авторы смотрят еще на ряд задачек из HELM-Lite - GSM8k, NaturalQuestions, WMT-2014 и другие, сравниваясь с другим известным провайдером - together.ai . Что fireworks, что together выдают качество близкое к fp16 при инференсе в fp8 (а то и лучше некоторых задачах), но fireworks якобы чуть лучше.

Однако, радоваться рано, говорят авторы из fireworks.ai. Нужен замер на чем-то как можно более похожем на людские предпочтения на том-же lmsys. Alpaca-Eval слишком маленький и не использует современные методы промптинга, потому предлагают смотреть на Arena-Hard-Auto от создателей lmsys. fp8 модели от fireworks и together будто бы чуть хуже fp16 на 🦙-3.1-405B, но не статзначимо.

Выводы

Вопрос оценки качества LLMок довольно нетривиален, ввиду того, что современные модели умеют решать широкий круг задач, и сложно объять всю полноту возможных задач и областей знания. Академические бенчмарки из нескольких задач и замеров перплексии на паре датасетов хороши для статей (здесь и ваш покорный слуга согрешил), но не всегда удовлетворительны для реальных приложений и запросов пользователя. Потому следует полагаться не на чужие обещания, а самому всю тщательно прощупывать 🧐.
👍83



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

How Fireworks evaluates quantization precisely and interpretably
[Блог]

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

Главные выводы и предписания следующие:

1️⃣ Trade-off между степенью сжатия и качеством определяется конечным приложением. Не существует универсального предписания для всех задач, что, мол, во столько раз можно сжать с умеренной просадкой в качестве, а дальше нельзя.
2️⃣ Использование KL-дивергенции для оценки степени расхождения квантизованной модели от исходной.
3️⃣ Не полагаться на точность на стандартных бенчмарках, а диверсифицировать протокол замеров

По первому пункту, вывод довольно логичен. Некоторые задачи (function calling) менее чувствительны к ошибкам, чем другие (code generation), где один косячок, и весь дальнейший вывод сыпется как домино. Перплексия тоже плоха, так как ниже у моделей с низкой энтропией, но не всегда более точных.

Ссылаясь на свежую работу от Microsoft Accuracy is not is all you need, авторы заявляют, что точность на бенчах - довольно шумная метрика оценки качества. Может быть так, что исходная модель где-то ошибалась, а квантизованная случайно стала предсказывать нужный токен. И прирост качества (скорее всего мизерный) обусловлен случайностью, а не тем, что модель “стала лучше”.

KL-дивергенция между сжатой и несжатой моделью предлагается в качестве альтернативы точности на наборе задач, как устойчивая к шумам. Если конкретно, предлагается генерировать несжатой моделью (forced generation), и смотреть, насколько различаются вероятности следующего токена предсказанные fp моделью и квантизованной. Кроме того, еще можно смотреть на token rejection rate - насколько отличается выбор top N токенов (N=16 в дальнейшем) между двумя моделями.

Ниже под квантизацией подразумевается переход от fp16 к fp8 (братве явно завезли баржу с H100). Рассматривают 4 уровня квантизации (по возрастанию степени сжатия):

1️⃣ Квантизуем только MLP без первого и последнего блока трансформера
2️⃣ Квантизуем все веса
3️⃣ Квантизуем вдобавок еще KV-cache
4️⃣ Квантизуем attention (K, V?) на prefill

Точность на MMLU просаживается немонотонно, уровень 2 даже оказывается “лучше” fp16 на тютельку. KL-дивергенция же монотонно растет со сжатием.

Далее авторы смотрят еще на ряд задачек из HELM-Lite - GSM8k, NaturalQuestions, WMT-2014 и другие, сравниваясь с другим известным провайдером - together.ai . Что fireworks, что together выдают качество близкое к fp16 при инференсе в fp8 (а то и лучше некоторых задачах), но fireworks якобы чуть лучше.

Однако, радоваться рано, говорят авторы из fireworks.ai. Нужен замер на чем-то как можно более похожем на людские предпочтения на том-же lmsys. Alpaca-Eval слишком маленький и не использует современные методы промптинга, потому предлагают смотреть на Arena-Hard-Auto от создателей lmsys. fp8 модели от fireworks и together будто бы чуть хуже fp16 на 🦙-3.1-405B, но не статзначимо.

Выводы

Вопрос оценки качества LLMок довольно нетривиален, ввиду того, что современные модели умеют решать широкий круг задач, и сложно объять всю полноту возможных задач и областей знания. Академические бенчмарки из нескольких задач и замеров перплексии на паре датасетов хороши для статей (здесь и ваш покорный слуга согрешил), но не всегда удовлетворительны для реальных приложений и запросов пользователя. Потому следует полагаться не на чужие обещания, а самому всю тщательно прощупывать 🧐.

BY КПД


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

View MORE
Open in Telegram


Telegram News

Date: |

ZDNET RECOMMENDS Other crimes that the SUCK Channel incited under Ng’s watch included using corrosive chemicals to make explosives and causing grievous bodily harm with intent. The court also found Ng responsible for calling on people to assist protesters who clashed violently with police at several universities in November 2019. How to create a business channel on Telegram? (Tutorial) The Channel name and bio must be no more than 255 characters long Telegram is a leading cloud-based instant messages platform. It became popular in recent years for its privacy, speed, voice and video quality, and other unmatched features over its main competitor Whatsapp.
from us


Telegram КПД
FROM American