大家都知道量化是有效减小模型大小的方法,代价是损失精度。那么既然模型参数也是数据,有没有压缩的方式可以无损的减少模型大小呢?来看新论文——DF11格式模型 (70%大小,100%准确率:通过动态长度浮点数实现高效 GPU 推理的无损LLM压缩)
简单来讲,论文中的压缩方法并不难,我们都知道现在模型大多是BF16,而BF16格式的bit格式如图1,可以看到指数位占了 8 bit,而本篇论文中则是创新性的提出了,这 8bit 的指数位其实有效数据很少,所以可以压缩。压缩方法也很简单,使用霍夫曼编码就行。

论文中成功将 Qwen2.5-32B-Instruct-BF16 的 65.53G 使用 DF11 压缩到了 45.53G。
那么, 代价是什么?当然是解压缩了,在 batchSize=1, 最差的情况,会比原生BF16慢 40%。
有同学会问,为啥不直接用FP8?作者则解释为,有损和无损的区别。我觉得这个方法可能对大型企业或者模型提供商更有价值,因为有的时候慢一点是可以接受的(API调用),但可以节省下大量显存服务更多用户。而对于普通用户,别说FP8,大家都可能在用int4/5这些更极端的量化。
论文地址:arxiv.org/abs/2504.11651 代码实现:github.com/LeanModels/DFloat11



0