group-telegram.com/quant_prune_distill/483
Last Update:
Сильно запоздалый пост из-за праздников и NeurIPS дедлайна, но все же дошли 🚶♀️ в итоге руки ✋.
Ниже подборка статей с 1️⃣ постерной сессии на ICLR, которые так или иначе были связаны с EfficientDL:
MambaQuant: Quantizing the Mamba Family with Variance Aligned Rotation Methods
В данной статье акцентируют внимание на квантизации Mamba 🐍- архитектур в разных задачах. Наивная адаптация методов квантизации для трансформерных LLM просаживает сильно качество на S6 моделях. Авторы анализируют проблемные места в квантизации мамб, где накапливается большая ошибка и предлагают свое решение:
🎯 Whitening преобразование вместо Адамара в offline rotations.
🎯 Добавление scaling факторов в модель в стиле SmoothQuant, учитывающих специфику Mamba, для упрощения задачи квантизации.
Метод валидируется на ряде NLP/Vision задач, где показывает заметное улучшение по сравнению с бейзлайнами при квантизации весов и активаций.
FlashRNN: I/O-Aware Optimization of Traditional RNNs on modern hardware
Трансформеры нынче SOTA во многих приложениях, однако в некоторых задачах (типа определении четности), показывают себе плохо, а RNN - хорошо. Однако RNN плохо параллелизуются и вообще неэффективно используют ресурсы GPU. Ребята написали кастомные fused CUDA/Triton кернелы, эффективно использующие иерархию памяти, для forward и backward и смогли добиться ускорения до 50 раз по сравнению с ванильной торчовой реализацией.
OSTQuant: Refining Large Language Model Quantization with Orthogonal and Scaling Transformations for Better Distribution Fitting
В данной статье предлагают оценивать эффективность квантизации по тому, насколько плотно покрывает сетка квантизации целевое распределение. При наивном round-to-nearest подходе из-за выбросов, большая часть объема не используется. Добавление обучаемых вращений из SpinQuant и scaling факторов а-ля SmoothQuant позволяет более равномерно распределять распределение весов по решетке и тем самым улучшает качество квантования. К сожалению, на постере не было ни одного из авторов, а какой-то левый чувак, который не особо был в теме, потому содержательного разговора не получилось.
Approaching Rate-Distortion Limits in Neural Compression with Lattice Transform Coding
В данной работе авторы ставят своей задачу добиться сжатия сигналов любой природы как можно ближе к теоретико-информационному пределу. Для этого обучают автокодировщик (маленькую MLP), чтобы преобразовывать входные данные (с возможными выбросами и широким диапазоном значение), в некоторое более регулярное множество, и затем проектируют на оптимальную сетку (E8 для 8-мерной векторной квантизации, Λ24 для 24-мерной квантизации). Валидируют преимущественно на синтетике. Когда я спросил авторов про trellis-based квантизацию из QTIP, который потенциально может быть еще ближе к rate-distortion limit, авторы ответили, что не знают, что это такое.
Streamlining Redundant Layers to Compress Large Language Models
Идея простая - находим последовательность наименее важных блоков в трансформере по косинусной близости (по аналогии с The Unreasonable Ineffectiveness of the Deeper Layers), пруним, вставляем один трансформерный блок / FFN и дообучаем немного. Работает несколько лучше, чем просто прунинг блоков (кто бы сомневался).
DuoAttention: Efficient Long-Context LLM Inference with Retrieval and Streaming Heads
Головы Attention делятся на 2 типа - Retrieval heads, которые могут аттендиться на любой токен в последовательности, и Streaming heads, которые смотрят только на последние токены и attention sinks в начале последовательности. Для вторых можно сэкономить на вычислениях и памяти, храня только кэш для самого начала и некоторого фиксированного количества последних токенов. Для определения streaming голов маску в каждом attention параметризуют как взвешенную сумму полного causal attention и streaming attention. И те головы, где коэффициент streaming attention наибольший далее обрабатываются как streaming heads. Предложенная техника позволяет уменьшить кэш почти вдвое без просадки на LongBench задачах.
BY КПД
Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260
Share with your friend now:
group-telegram.com/quant_prune_distill/483