EfficientQAT: Entrenamiento Eficiente Consciente de la Cuantización para Modelos de Lenguaje Grandes
EfficientQAT: Efficient Quantization-Aware Training for Large Language Models
July 10, 2024
Autores: Mengzhao Chen, Wenqi Shao, Peng Xu, Jiahao Wang, Peng Gao, Kaipeng Zhang, Yu Qiao, Ping Luo
cs.AI
Resumen
Los modelos de lenguaje grandes (LLMs) son fundamentales para el procesamiento de lenguaje natural y la inteligencia artificial moderna. Sin embargo, enfrentan desafíos en la gestión de sus significativos requisitos de memoria. Aunque el entrenamiento consciente de la cuantización (QAT) ofrece una solución al reducir el consumo de memoria a través de representaciones de bajo bit con pérdida mínima de precisión, requiere recursos de entrenamiento sustanciales para optimizar los pesos del modelo y los parámetros de cuantización. Para abordar esto, proponemos el Entrenamiento Consciente de la Cuantización Eficiente (EfficientQAT), una técnica novedosa de cuantización para comprimir LLMs. EfficientQAT involucra dos fases consecutivas: Entrenamiento por Bloques de todos los parámetros (Block-AP) y entrenamiento de extremo a extremo de los parámetros de cuantización (E2E-QP). Block-AP lleva a cabo de manera secuencial un entrenamiento consciente de la cuantización para todos los parámetros en cada bloque transformador con reconstrucción por bloques, manteniendo la eficiencia al evitar entrenar el LLM completo. Inicializado con un modelo cuantizado, E2E-QP luego entrena solo los parámetros de cuantización (tamaños de paso) de extremo a extremo, mejorando la eficiencia con una estructura fija cuantizada y un recuento reducido de parámetros entrenables. Experimentos extensos demuestran que EfficientQAT supera a métodos de cuantización previos en una variedad de modelos, incluidos LLMs base, LLMs ajustados a instrucciones y LLMs multimodales, con escalas de 7B a 70B parámetros en diferentes bits de cuantización. Por ejemplo, EfficientQAT obtiene un modelo Llama-2-70B de 2 bits en una sola GPU A100-80GB en 41 horas, con una degradación de precisión de menos del 3\% en comparación con la precisión total (69.48 vs. 72.41). Notablemente, este modelo cuantizado INT2 de 70B obtiene una ganancia de precisión de 1.67 sobre el modelo Llama-2-13B (69.48 vs. 67.81) mientras requiere menos memoria (19.2GB vs. 24.2GB). El código está disponible en https://github.com/OpenGVLab/EfficientQAT.
English
Large language models (LLMs) are integral to modern natural language
processing and artificial intelligence. However, they face challenges in
managing their significant memory requirements. Although quantization-aware
training (QAT) offers a solution by reducing memory consumption through low-bit
representations with minimal accuracy loss, it demands substantial training
resources to optimize model weights and quantization parameters. To address
this, we propose Efficient Quantization-Aware Training (EfficientQAT), a novel
quantization technique for compressing LLMs. EfficientQAT involves two
consecutive phases: Block-wise training of all parameters (Block-AP) and
end-to-end training of quantization parameters (E2E-QP). Block-AP sequentially
conducts quantization-aware training for all parameters in each transformer
block with block-wise reconstruction, maintaining efficiency by avoiding
training the entire LLM. Initialized with quantized model, E2E-QP then trains
only quantization parameters (step sizes) end-to-end, enhancing efficiency with
a fixed quantized backbone and reduced trainable parameter count. Extensive
experiments demonstrate that EfficientQAT outperforms previous quantization
methods across a range of models, including base LLMs, instruction-tuned LLMs,
and multimodal LLMs, with scales from 7B to 70B parameters at various
quantization bits. For instance, EfficientQAT obtains a 2-bit Llama-2-70B model
on a single A100-80GB GPU in 41 hours, with less than 3\% accuracy degradation
compared to the full precision (69.48 vs. 72.41). Notably, this INT2 quantized
70B model obtains a 1.67 accuracy gain over the Llama-2-13B model (69.48 vs.
67.81) while requiring less memory (19.2GB vs. 24.2GB). Code is available at
https://github.com/OpenGVLab/EfficientQAT.Summary
AI-Generated Summary