ChatPaper.aiChatPaper

SliceGPT: Сжатие больших языковых моделей путём удаления строк и столбцов

SliceGPT: Compress Large Language Models by Deleting Rows and Columns

January 26, 2024
Авторы: Saleh Ashkboos, Maximilian L. Croci, Marcelo Gennari do Nascimento, Torsten Hoefler, James Hensman
cs.AI

Аннотация

Крупные языковые модели стали краеугольным камнем обработки естественного языка, однако их использование сопряжено с существенными затратами вычислительных ресурсов и памяти. Разрежение предлагает решение для смягчения этих ограничений, и недавние работы показали, что обученные модели могут быть разрежены постфактум. Существующие методы разрежения сталкиваются с трудностями, так как требуют дополнительных структур данных и обеспечивают ограниченное ускорение на современном оборудовании. В данной статье мы представляем SliceGPT — новую схему разрежения после обучения, которая заменяет каждую матрицу весов на меньшую (плотную) матрицу, уменьшая размерность встраивания сети. В ходе обширных экспериментов мы показываем, что SliceGPT может удалить до 25% параметров модели (включая встраивания) для моделей LLAMA2-70B, OPT 66B и Phi-2, сохраняя при этом 99%, 99% и 90% производительности в задачах zero-shot по сравнению с плотной моделью соответственно. Наши разреженные модели работают на меньшем количестве графических процессоров и выполняются быстрее без какой-либо дополнительной оптимизации кода: на потребительских GPU с 24 ГБ мы сокращаем общие вычисления для вывода на LLAMA2-70B до 64% от плотной модели; на GPU A100 с 40 ГБ мы сокращаем их до 66%. Мы предлагаем новое понимание — вычислительную инвариантность в трансформерных сетях, которая делает возможным SliceGPT, и надеемся, что это вдохновит и откроет новые пути для снижения требований к памяти и вычислениям для предобученных моделей. Код доступен по адресу: https://github.com/microsoft/TransformerCompression.
English
Large language models have become the cornerstone of natural language processing, but their use comes with substantial costs in terms of compute and memory resources. Sparsification provides a solution to alleviate these resource constraints, and recent works have shown that trained models can be sparsified post-hoc. Existing sparsification techniques face challenges as they need additional data structures and offer constrained speedup with current hardware. In this paper we present SliceGPT, a new post-training sparsification scheme which replaces each weight matrix with a smaller (dense) matrix, reducing the embedding dimension of the network. Through extensive experimentation, we show that SliceGPT can remove up to 25% of the model parameters (including embeddings) for LLAMA2-70B, OPT 66B and Phi-2 models while maintaining 99%, 99% and 90% zero-shot task performance of the dense model respectively. Our sliced models run on fewer GPUs and run faster without any additional code optimization: on 24GB consumer GPUs we reduce the total compute for inference on LLAMA2-70B to 64% of that of the dense model; on 40GB A100 GPUs we reduce it to 66%. We offer a new insight, computational invariance in transformer networks, which enables SliceGPT and we hope it will inspire and enable future avenues to reduce memory and computation demands for pre-trained models. Code is available at: https://github.com/microsoft/TransformerCompression
PDF746December 15, 2024