ShiftAddLLM: Aceleração de LLMs Pré-treinados via Reparametrização Pós-treinamento sem Multiplicação
ShiftAddLLM: Accelerating Pretrained LLMs via Post-Training Multiplication-Less Reparameterization
June 10, 2024
Autores: Haoran You, Yipin Guo, Yichao Fu, Wei Zhou, Huihong Shi, Xiaofan Zhang, Souvik Kundu, Amir Yazdanbakhsh, Yingyan Lin
cs.AI
Resumo
Modelos de linguagem de grande escala (LLMs) têm demonstrado desempenho impressionante em tarefas de linguagem, mas enfrentam desafios quando implantados em dispositivos com recursos limitados devido ao seu extenso número de parâmetros e dependência de multiplicações densas, resultando em altas demandas de memória e gargalos de latência. A reparametrização por deslocamento e adição oferece uma solução promissora ao substituir multiplicações custosas por primitivas amigáveis ao hardware tanto nas camadas de atenção quanto nas camadas de perceptron multicamadas (MLP) de um LLM. No entanto, as técnicas atuais de reparametrização exigem treinamento do zero ou ajuste fino completo dos parâmetros para restaurar a precisão, o que é intensivo em recursos para LLMs. Para resolver isso, propomos acelerar LLMs pré-treinados por meio de reparametrização pós-treinamento por deslocamento e adição, criando modelos eficientes sem multiplicações, denominados ShiftAddLLM. Especificamente, quantizamos cada matriz de peso em matrizes binárias emparelhadas com fatores de escala por grupo. As multiplicações associadas são reparametrizadas em (1) deslocamentos entre ativações e fatores de escala e (2) consultas e adições de acordo com as matrizes binárias. Para reduzir a perda de precisão, apresentamos um método de otimização multiobjetivo para minimizar tanto os erros de reparametrização dos pesos quanto das ativações de saída. Além disso, com base na sensibilidade variável entre as camadas à reparametrização, desenvolvemos uma estratégia automatizada de alocação de bits para reduzir ainda mais o uso de memória e a latência. Experimentos em cinco famílias de LLMs e oito tarefas validam consistentemente a eficácia do ShiftAddLLM, alcançando melhorias médias de perplexidade de 5,6 e 22,7 pontos com latência comparável ou menor em relação aos LLMs quantizados mais competitivos em 3 e 2 bits, respectivamente, e reduções de mais de 80% na memória e energia em comparação com os LLMs originais. Códigos e modelos estão disponíveis em https://github.com/GATECH-EIC/ShiftAddLLM.
English
Large language models (LLMs) have shown impressive performance on language
tasks but face challenges when deployed on resource-constrained devices due to
their extensive parameters and reliance on dense multiplications, resulting in
high memory demands and latency bottlenecks. Shift-and-add reparameterization
offers a promising solution by replacing costly multiplications with
hardware-friendly primitives in both the attention and multi-layer perceptron
(MLP) layers of an LLM. However, current reparameterization techniques require
training from scratch or full parameter fine-tuning to restore accuracy, which
is resource-intensive for LLMs. To address this, we propose accelerating
pretrained LLMs through post-training shift-and-add reparameterization,
creating efficient multiplication-free models, dubbed ShiftAddLLM.
Specifically, we quantize each weight matrix into binary matrices paired with
group-wise scaling factors. The associated multiplications are reparameterized
into (1) shifts between activations and scaling factors and (2) queries and
adds according to the binary matrices. To reduce accuracy loss, we present a
multi-objective optimization method to minimize both weight and output
activation reparameterization errors. Additionally, based on varying
sensitivity across layers to reparameterization, we develop an automated bit
allocation strategy to further reduce memory usage and latency. Experiments on
five LLM families and eight tasks consistently validate the effectiveness of
ShiftAddLLM, achieving average perplexity improvements of 5.6 and 22.7 points
at comparable or lower latency compared to the most competitive quantized LLMs
at 3 and 2 bits, respectively, and more than 80% memory and energy reductions
over the original LLMs. Codes and models are available at
https://github.com/GATECH-EIC/ShiftAddLLM.