
機(jī)器之心報(bào)道
編輯:陳萍、+0
大型語言模型(LLMs)在廣泛的自然語言處理(NLP)任務(wù)中展現(xiàn)出了卓越的能力。然而,它們迅速增長(zhǎng)的規(guī)模給高效部署和推理帶來了巨大障礙,特別是在計(jì)算或內(nèi)存資源有限的環(huán)境中。
例如,Llama-3.1-405B 在 BFloat16(16-bit Brain Float)格式下?lián)碛?4050 億個(gè)參數(shù),需要大約 810GB 的內(nèi)存進(jìn)行完整推理,超過了典型高端 GPU 服務(wù)器(例如,DGX A100/H100,配備 8 個(gè) 80GB GPU)的能力。因此,部署該模型需要多個(gè)節(jié)點(diǎn),這使得它昂貴且難以獲取。
本文,來自萊斯大學(xué)等機(jī)構(gòu)的研究者提出了一種解決方案,可以將任何 BFloat16 模型壓縮到原始大小的 70%,同時(shí)還能在任務(wù)上保持 100% 的準(zhǔn)確性。

- 論文標(biāo)題: 70% Size, 100% Accuracy: Lossless LLM Compression for Efficient GPU Inference via Dynamic-Length Float
- 論文地址:https://arxiv.org/pdf/2504.11651
- 項(xiàng)目地址:https://github.com/LeanModels/DFloat11
為了應(yīng)對(duì) LLM 不斷增長(zhǎng)的模型尺寸,通常會(huì)采用量化技術(shù),將高精度權(quán)重轉(zhuǎn)換為低位表示。這顯著減少了內(nèi)存占用和計(jì)算需求,有助于在資源受限的環(huán)境中實(shí)現(xiàn)更快的推理和部署。然而,量化本質(zhì)上是一種有損壓縮技術(shù),引入了一個(gè)基本缺點(diǎn):它不可避免地改變了 LLMs 的輸出分布,從而影響模型的準(zhǔn)確性和可靠性。
相比之下,無損壓縮技術(shù)在有效減少 LLM 規(guī)模的同時(shí),保留了精確的原始權(quán)重,確保模型的輸出分布與未壓縮表示(例如 BFloat16)完全相同。然而,現(xiàn)有的無損方法主要集中在提高 LLMs 的存儲(chǔ)效率上,例如縮小模型檢查點(diǎn)或優(yōu)化針對(duì)專用硬件如 FPGA 的性能上。
本文提出了DFloat11(Dynamic-Length Float),這是一種無損壓縮框架,可以在保持與原始模型完全相同的輸出的情況下,將LLM 的規(guī)模減少 30%
DFloat11 的提出源于當(dāng)前 LLM 模型中 BFloat16 權(quán)重表示的低熵問題,這暴露出現(xiàn)有存儲(chǔ)格式存在顯著的低效性。通過應(yīng)用熵編碼技術(shù),DFloat11 根據(jù)權(quán)重出現(xiàn)頻率為其分配動(dòng)態(tài)長(zhǎng)度編碼,在不損失任何精度的情況下實(shí)現(xiàn)了接近信息理論極限的壓縮效果。
為了支持動(dòng)態(tài)長(zhǎng)度編碼的高效推理,該研究還開發(fā)了定制化的 GPU 內(nèi)核來實(shí)現(xiàn)快速在線解壓縮。其設(shè)計(jì)包含以下內(nèi)容:
- 將內(nèi)存密集型查找表(LUT)分解為適應(yīng) GPU SRAM 的緊湊型查找表;
- 采用雙階段內(nèi)核設(shè)計(jì),通過輕量級(jí)輔助變量協(xié)調(diào)線程讀寫位置;
- 實(shí)現(xiàn) Transformer 塊級(jí)解壓縮以最小化延遲。
該研究在 Llama-3.1、Qwen-2.5 和 Gemma-3 等最新模型上進(jìn)行了實(shí)驗(yàn):DFloat11 能在保持比特級(jí)(bit-for-bit)精確輸出的同時(shí),將模型體積縮減約 30%。與將未壓縮模型部分卸載到 CPU 以應(yīng)對(duì)內(nèi)存限制的潛在方案相比,DFloat11 在 token 生成吞吐量上實(shí)現(xiàn)了 1.9–38.8 倍的提升。在固定 GPU 內(nèi)存預(yù)算下,DFloat11 支持的上下文長(zhǎng)度是未壓縮模型的 5.3–13.17 倍。
值得一提的是,基于該方法 Llama-3.1-405B(810GB)在配備 8×80GB GPU 的單節(jié)點(diǎn)上實(shí)現(xiàn)了無損推理。
方法介紹
LLM 的權(quán)重通常使用浮點(diǎn)數(shù)表示,包括 BFloat16 或 BF16,其在數(shù)值精度和內(nèi)存效率之間取得了平衡。然而,BFloat16 表示信息并不高效。
針對(duì) BFloat16 表示法中存在的信息效率低下問題,本文提出了一種無損壓縮框架,通過熵編碼技術(shù)對(duì)浮點(diǎn)參數(shù)進(jìn)行壓縮。
具體實(shí)現(xiàn)包括:基于語言模型線性投影矩陣中所有 BFloat16 權(quán)重的指數(shù)分布構(gòu)建霍夫曼樹,對(duì)指數(shù)部分采用霍夫曼編碼壓縮,同時(shí)保留原始符號(hào)位和尾數(shù)位。壓縮后的指數(shù)經(jīng)過緊密比特打包存入字節(jié)數(shù)組 EncodedExponent,而未壓縮的符號(hào)位和尾數(shù)則存儲(chǔ)在獨(dú)立字節(jié)數(shù)組 PackedSignMantissa 中。圖 2 展示了 DFloat11(Dynamic-Length Float)或 DF11,該格式可實(shí)現(xiàn)模型參數(shù)的高效緊湊表示。

雖然動(dòng)態(tài)長(zhǎng)度浮點(diǎn)數(shù)能有效實(shí)現(xiàn) LLM 的無損壓縮,但關(guān)鍵挑戰(zhàn)依然存在:如何利用這些壓縮權(quán)重進(jìn)行高效的 GPU 推理。接下來,文章詳細(xì)介紹了解決方案,其中包括三個(gè)關(guān)鍵組成部分:
- 將一個(gè)龐大的無前綴查找表(LUT)分解為多個(gè)適合 GPU SRAM 的緊湊 LUTs;
- 引入一個(gè)兩階段的內(nèi)核設(shè)計(jì),利用輕量級(jí)輔助變量來高效協(xié)調(diào)線程的讀寫操作;
- 在 transformer 塊級(jí)別執(zhí)行解壓縮,以提高吞吐量并最小化延遲。
算法 1 是將 DFloat11 解壓縮為 BFloat16 的 GPU 內(nèi)核過程。

實(shí)驗(yàn)
研究人員評(píng)估了 DF11 壓縮方法在 GPU 上的有效性及推理效率,將多個(gè)主流大語言模型(包括 LLaMA、Qwen、Gemma 等)從 BFloat16 壓縮為 DF11 格式,并報(bào)告其壓縮比和性能表現(xiàn)。
在軟硬件環(huán)境方面,研究人員使用 CUDA 和 C++ 實(shí)現(xiàn)了 DF11 解壓縮內(nèi)核,并集成至 Transformers 推理框架。實(shí)驗(yàn)基于 HuggingFace Accelerate 框架評(píng)估未壓縮模型在 CPU 分流(CPU offloading)和多 GPU 場(chǎng)景下的性能。
為全面分析 DF11 內(nèi)核在不同硬件配置下的表現(xiàn),團(tuán)隊(duì)在多種 GPU 和 CPU 組合的機(jī)器上進(jìn)行實(shí)驗(yàn)。
實(shí)驗(yàn)結(jié)果
DF11 壓縮比:DF11 將大語言模型壓縮至原始大小的約 70%(等效位寬為 11 位)。

表 2 展示了 DF11 在 LLaMA、Qwen、Gemma 等模型上的壓縮效果。所有模型的線性投影層參數(shù)均被壓縮為 DF11 格式,壓縮比穩(wěn)定在 70%。
無損特性驗(yàn)證:為驗(yàn)證 DF11 的無損特性,研究人員使用 lm-evaluation-harness 工具在 MMLU、TruthfulQA、WikiText 和 C4 數(shù)據(jù)集上評(píng)估模型性能。
結(jié)果表明,壓縮后的模型在準(zhǔn)確率和困惑度(Perplexity)上與原始 BFloat16 模型一致(見表 3)。此外,研究人員逐位對(duì)比 DF11 解壓后的權(quán)重矩陣與原始矩陣,確認(rèn)其完全相同。

推理性能:研究人員在多個(gè)硬件平臺(tái)上比較了 DF11 與 BFloat16 模型的推理效率。對(duì)于 BFloat16 模型,當(dāng)模型超出單 GPU 顯存時(shí),需將部分計(jì)算分流至 CPU,而 DF11 模型可完全加載至單 GPU。
評(píng)估指標(biāo)包括延遲(Latency)和吞吐量(Throughput),結(jié)果顯示 DF11 模型的性能顯著優(yōu)于 BFloat16 模型,延遲減少 1.85 至 38.83 倍(見圖 3)。

節(jié)省的顯存可支持更長(zhǎng)生成序列:DF11 的顯存節(jié)省使模型能夠支持更長(zhǎng)的生成序列。如圖 4 所示,在 batch size 為 1 時(shí),DF11 模型的顯存消耗顯著降低,相比 BFloat16 模型最多可生成 5.33 至 13.17 倍的 tokens。

消融研究
延遲分析:研究團(tuán)隊(duì)以 Llama-3.1-8B-Instruct 為例,對(duì)比了其在 BFloat16 與 DF11 格式下不同 batch 大小時(shí)的延遲組成,結(jié)果如圖 5 所示。

相比原始模型,DF11 壓縮模型因解壓 Transformer 模塊與語言建模頭引入了額外延遲但該開銷與 batch size 無關(guān),因此通過提升 batch size 可有效攤銷解壓延遲,使總推理時(shí)間之間的差距顯著縮小。
解壓性能對(duì)比:研究人員將 DF11 解壓內(nèi)核的延遲與吞吐表現(xiàn)分別與兩種基線方案進(jìn)行對(duì)比:
- 將模型權(quán)重存儲(chǔ)于 CPU 內(nèi)存并在需要時(shí)傳輸?shù)?GPU;
- 使用 NVIDIA 的 nvCOMP 庫中的 ANS(不對(duì)稱數(shù)值系統(tǒng),Asymmetric Numeral System)解壓方法。
實(shí)驗(yàn)以 Llama-3.1-8B-Instruct 語言建模頭權(quán)重矩陣為例,結(jié)果如圖 6 所示,DF11 的解壓吞吐量最高分別為 CPU-GPU 傳輸和 ANS 解碼的 24.87 倍和 15.12 倍。此外,DF11 的壓縮比為 70%,優(yōu)于 nvCOMP 的 78%。值得注意的是,隨著權(quán)重矩陣規(guī)模的增大,DF11 的解壓吞吐呈上升趨勢(shì),原因是更好的 GPU 線程利用率。

熱門跟貼