tgoop.com/quant_prune_distill/168
Last Update:
Результаты
Метод валидируют на моделях семейства OPT и Llama-2-7b (13b в приложении). Для замера качества традиционно берут перплексию на Wikitext2 (lm_eval_harness 0-shot в приложении). LLM Surgeon уверенно опережает SparseGPT и диагональное Кронекеровское приближение как структурированном, так и неструктурированном пруниге. Конкурентные подходы ломают модель уже при слабом прореживании в то время как LLMSurgeon с серьезной просадкой, но тем не менее сохраняет какое-то качество вплоть до 50%.
Ожидаемо пересчет гессиана и дообучение низкоранговых добавок дает заметный прирост в качестве.
Так как метод оценивает важность параметров на уровне конечного слоя прореживать слои можно неоднородно. Однако, полученное распределение слоев после фильтрации по глобальному порогу сравнительно однородное для LLM Surgeon - первый и последний слой прореживаются несколько сильнее, чем слои посередине (немного неожиданно). Разные виды проекций (Q, K, V, O proj и в FC1/2) тоже прореживаются достаточно однородно (в отличие от Global Magnitude и диагональных приближений).
Вывод
Весьма достойный результат, хоть и недешевой ценой. Выглядит на текущий момент, как SOTA метод для языковых моделей размером порядка нескольких миллиардов параметров, где блочно-диагонально Фишеровское приближение становится непомерно дорогим, а предложенный метод (требующий дополнительной памяти порядка 2 размеров модели) является еще подьемным (пусть даже с шардингом, но в пределах одной вычислительной ноды). Метод заметно дороже, чем SparseGPT, который отрабатывает за 5 минут на LLama-2 на одной GPU, против 2 с лишним дней на 4x H100 для LLM Surgeon. Учитывая запрос сообщества на ускорение LLM, цена вполне приемлемая. Было бы полезно скомбинировать метод с квантизацией.
BY КПД
Share with your friend now:
tgoop.com/quant_prune_distill/168