70% de tamaño, 100% de precisión: Compresión sin pérdidas de LLM para inferencia eficiente en GPU mediante flotantes de longitud dinámica
70% Size, 100% Accuracy: Lossless LLM Compression for Efficient GPU Inference via Dynamic-Length Float
April 15, 2025
Autores: Tianyi Zhang, Yang Sui, Shaochen Zhong, Vipin Chaudhary, Xia Hu, Anshumali Shrivastava
cs.AI
Resumen
Los Modelos de Lenguaje de Gran Escala (LLMs) han crecido rápidamente en tamaño, lo que plantea desafíos significativos para su implementación eficiente en hardware con recursos limitados. En este artículo, presentamos Dynamic-Length Float (DFloat11), un marco de compresión sin pérdidas que reduce el tamaño de los LLMs en un 30% mientras preserva salidas que son idénticas bit a bit al modelo original. DFloat11 está motivado por la baja entropía en la representación de pesos BFloat16 de los LLMs, lo que revela una ineficiencia significativa en los formatos de almacenamiento existentes. Al aplicar codificación de entropía, DFloat11 asigna codificaciones de longitud dinámica a los pesos según su frecuencia, logrando una compresión casi óptima en términos de información sin ninguna pérdida de precisión. Para facilitar una inferencia eficiente con codificaciones de longitud dinámica, desarrollamos un núcleo GPU personalizado para una descompresión rápida en línea. Nuestro diseño incorpora lo siguiente: (i) descomposición de tablas de búsqueda (LUTs) intensivas en memoria en LUTs compactas que caben en la SRAM de la GPU, (ii) un núcleo de dos fases para coordinar las posiciones de lectura/escritura de los hilos utilizando variables auxiliares ligeras, y (iii) descompresión a nivel de bloque de transformador para minimizar la latencia. Los experimentos en modelos recientes, incluyendo Llama-3.1, Qwen-2.5 y Gemma-3, validan nuestra hipótesis de que DFloat11 logra una reducción del tamaño del modelo de alrededor del 30% mientras preserva salidas exactas bit a bit. En comparación con una alternativa potencial de descargar partes de un modelo no comprimido a la CPU para cumplir con las limitaciones de memoria, DFloat11 logra un rendimiento de 1.9 a 38.8 veces mayor en la generación de tokens. Con un presupuesto fijo de memoria GPU, DFloat11 permite longitudes de contexto de 5.3 a 13.17 veces mayores que los modelos no comprimidos. Notablemente, nuestro método permite la inferencia sin pérdidas de Llama-3.1-405B, un modelo de 810GB, en un solo nodo equipado con 8 GPUs de 80GB. Nuestro código y modelos están disponibles en https://github.com/LeanModels/DFloat11.
English
Large Language Models (LLMs) have grown rapidly in size, creating significant
challenges for efficient deployment on resource-constrained hardware. In this
paper, we introduce Dynamic-Length Float (DFloat11), a lossless compression
framework that reduces LLM size by 30% while preserving outputs that are
bit-for-bit identical to the original model. DFloat11 is motivated by the low
entropy in the BFloat16 weight representation of LLMs, which reveals
significant inefficiency in existing storage format. By applying entropy
coding, DFloat11 assigns dynamic-length encodings to weights based on
frequency, achieving near information-optimal compression without any loss of
precision. To facilitate efficient inference with dynamic-length encodings, we
develop a custom GPU kernel for fast online decompression. Our design
incorporates the following: (i) decomposition of memory-intensive lookup tables
(LUTs) into compact LUTs that fit in GPU SRAM, (ii) a two-phase kernel for
coordinating thread read/write positions using lightweight auxiliary variables,
and (iii) transformer-block-level decompression to minimize latency.
Experiments on recent models, including Llama-3.1, Qwen-2.5, and Gemma-3,
validates our hypothesis that DFloat11 achieves around 30% model size reduction
while preserving bit-for-bit exact outputs. Compared to a potential alternative
of offloading parts of an uncompressed model to the CPU to meet memory
constraints, DFloat11 achieves 1.9-38.8x higher throughput in token generation.
With a fixed GPU memory budget, DFloat11 enables 5.3-13.17x longer context
lengths than uncompressed models. Notably, our method enables lossless
inference of Llama-3.1-405B, an 810GB model, on a single node equipped with
8x80GB GPUs. Our code and models are available at
https://github.com/LeanModels/DFloat11.Summary
AI-Generated Summary