70% de taille, 100% de précision : Compression sans perte des LLM pour une inférence GPU efficace via des flottants à longueur dynamique
70% Size, 100% Accuracy: Lossless LLM Compression for Efficient GPU Inference via Dynamic-Length Float
April 15, 2025
Auteurs: Tianyi Zhang, Yang Sui, Shaochen Zhong, Vipin Chaudhary, Xia Hu, Anshumali Shrivastava
cs.AI
Résumé
Les modèles de langage de grande taille (LLMs) ont rapidement augmenté en taille, posant d'importants défis pour leur déploiement efficace sur du matériel aux ressources limitées. Dans cet article, nous présentons Dynamic-Length Float (DFloat11), un cadre de compression sans perte qui réduit la taille des LLMs de 30 % tout en préservant des sorties identiques bit à bit au modèle original. DFloat11 est motivé par la faible entropie dans la représentation des poids en BFloat16 des LLMs, qui révèle une inefficacité significative dans les formats de stockage existants. En appliquant un codage entropique, DFloat11 attribue des encodages de longueur dynamique aux poids en fonction de leur fréquence, atteignant une compression quasi optimale en termes d'information sans aucune perte de précision. Pour faciliter une inférence efficace avec des encodages de longueur dynamique, nous avons développé un noyau GPU personnalisé pour une décompression rapide en ligne. Notre conception intègre les éléments suivants : (i) la décomposition des tables de recherche (LUTs) gourmandes en mémoire en LUTs compactes qui tiennent dans la SRAM du GPU, (ii) un noyau en deux phases pour coordonner les positions de lecture/écriture des threads à l'aide de variables auxiliaires légères, et (iii) une décompression au niveau des blocs de transformateurs pour minimiser la latence. Les expériences sur des modèles récents, incluant Llama-3.1, Qwen-2.5, et Gemma-3, valident notre hypothèse que DFloat11 permet une réduction de la taille des modèles d'environ 30 % tout en préservant des sorties exactes bit à bit. Comparé à une alternative potentielle consistant à décharger des parties d'un modèle non compressé sur le CPU pour respecter les contraintes de mémoire, DFloat11 offre un débit de génération de tokens 1,9 à 38,8 fois supérieur. Avec un budget mémoire GPU fixe, DFloat11 permet des longueurs de contexte 5,3 à 13,17 fois plus longues que les modèles non compressés. Notamment, notre méthode permet une inférence sans perte de Llama-3.1-405B, un modèle de 810 Go, sur un seul nœud équipé de 8 GPU de 80 Go. Notre code et nos modèles sont disponibles à l'adresse 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