70% delle Dimensioni, 100% di Precisione: Compressione Senza Perdite di LLM per Inferenza Efficiente su GPU tramite Float a Lunghezza Dinamica
70% Size, 100% Accuracy: Lossless LLM Compression for Efficient GPU Inference via Dynamic-Length Float
April 15, 2025
Autori: Tianyi Zhang, Yang Sui, Shaochen Zhong, Vipin Chaudhary, Xia Hu, Anshumali Shrivastava
cs.AI
Abstract
I Large Language Models (LLMs) sono cresciuti rapidamente in dimensioni, creando sfide significative per un'implementazione efficiente su hardware con risorse limitate. In questo articolo, introduciamo Dynamic-Length Float (DFloat11), un framework di compressione senza perdita che riduce le dimensioni degli LLM del 30% preservando output che sono bit-per-bit identici al modello originale. DFloat11 è motivato dalla bassa entropia nella rappresentazione dei pesi in BFloat16 degli LLM, che rivela una significativa inefficienza nei formati di archiviazione esistenti. Applicando la codifica entropica, DFloat11 assegna codifiche a lunghezza dinamica ai pesi in base alla frequenza, ottenendo una compressione quasi ottimale in termini di informazione senza alcuna perdita di precisione. Per facilitare un'inferenza efficiente con codifiche a lunghezza dinamica, sviluppiamo un kernel GPU personalizzato per una rapida decompressione online. Il nostro design incorpora: (i) la scomposizione di tabelle di ricerca (LUT) ad alta intensità di memoria in LUT compatte che si adattano alla SRAM della GPU, (ii) un kernel a due fasi per coordinare le posizioni di lettura/scrittura dei thread utilizzando variabili ausiliarie leggere, e (iii) la decompressione a livello di blocco transformer per minimizzare la latenza. Esperimenti su modelli recenti, tra cui Llama-3.1, Qwen-2.5 e Gemma-3, convalidano la nostra ipotesi che DFloat11 raggiunga una riduzione delle dimensioni del modello di circa il 30% preservando output esatti bit-per-bit. Rispetto a un'alternativa potenziale di scaricare parti di un modello non compresso sulla CPU per rispettare i vincoli di memoria, DFloat11 ottiene un throughput da 1,9 a 38,8 volte superiore nella generazione di token. Con un budget di memoria GPU fisso, DFloat11 consente lunghezze di contesto da 5,3 a 13,17 volte più lunghe rispetto ai modelli non compressi. In particolare, il nostro metodo consente un'inferenza senza perdita di Llama-3.1-405B, un modello da 810GB, su un singolo nodo equipaggiato con 8 GPU da 80GB. Il nostro codice e i modelli sono disponibili su 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