70% Größe, 100% Genauigkeit: Verlustfreie LLM-Kompression für effiziente GPU-Inferenz mittels dynamischer Float-Länge
70% Size, 100% Accuracy: Lossless LLM Compression for Efficient GPU Inference via Dynamic-Length Float
April 15, 2025
Autoren: Tianyi Zhang, Yang Sui, Shaochen Zhong, Vipin Chaudhary, Xia Hu, Anshumali Shrivastava
cs.AI
Zusammenfassung
Große Sprachmodelle (LLMs) haben in ihrer Größe rapide zugenommen, was erhebliche Herausforderungen für die effiziente Bereitstellung auf ressourcenbeschränkter Hardware mit sich bringt. In diesem Artikel stellen wir Dynamic-Length Float (DFloat11) vor, ein verlustfreies Kompressionsframework, das die Größe von LLMs um 30 % reduziert, während die Ausgaben bitgenau mit dem ursprünglichen Modell übereinstimmen. DFloat11 wird durch die niedrige Entropie in der BFloat16-Gewichtsdarstellung von LLMs motiviert, die erhebliche Ineffizienzen im bestehenden Speicherformat aufzeigt. Durch die Anwendung von Entropiekodierung weist DFloat11 Gewichten dynamische Längenkodierungen basierend auf ihrer Häufigkeit zu und erreicht damit eine nahezu informationsoptimale Kompression ohne Präzisionsverlust. Um eine effiziente Inferenz mit dynamischen Längenkodierungen zu ermöglichen, entwickeln wir einen speziellen GPU-Kernel für schnelle Online-Dekompression. Unser Design umfasst Folgendes: (i) die Zerlegung von speicherintensiven Lookup-Tabellen (LUTs) in kompakte LUTs, die in den GPU-SRAM passen, (ii) einen zweiphasigen Kernel zur Koordination der Lese-/Schreibpositionen von Threads mithilfe von leichtgewichtigen Hilfsvariablen und (iii) eine Dekompression auf Ebene der Transformer-Blöcke, um die Latenz zu minimieren. Experimente mit aktuellen Modellen, darunter Llama-3.1, Qwen-2.5 und Gemma-3, bestätigen unsere Hypothese, dass DFloat11 eine Reduzierung der Modellgröße um etwa 30 % erreicht, während die Ausgaben bitgenau erhalten bleiben. Im Vergleich zu einer potenziellen Alternative, bei der Teile eines unkomprimierten Modells auf die CPU ausgelagert werden, um Speicherbeschränkungen zu erfüllen, erreicht DFloat11 eine 1,9- bis 38,8-fach höhere Durchsatzrate bei der Token-Generierung. Bei einem festen GPU-Speicherbudget ermöglicht DFloat11 5,3- bis 13,17-fach längere Kontextlängen als unkomprimierte Modelle. Bemerkenswerterweise ermöglicht unsere Methode die verlustfreie Inferenz von Llama-3.1-405B, einem 810 GB großen Modell, auf einem einzelnen Knoten mit 8x80GB GPUs. Unser Code und unsere Modelle sind unter https://github.com/LeanModels/DFloat11 verfügbar.
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