ALP: 自适应无损浮点压缩
摘要
本文介绍ALP,一种针对IEEE 754浮点数据的最先进的无损压缩算法,利用十进制和高精度模式。它在解码速度、压缩比和压缩速度方面表现出色,获得了SIGMOD最佳构物奖。
查看缓存全文
缓存时间: 2026/07/24 17:09
cwida/ALP 来源:https://github.com/cwida/ALP
ALP:自适应无损浮点数压缩
作者:Azim Afroozeh,Leonardo Kuffó,Peter Boncz
会议:ACM SIGMOD 2024
这是什么仓库?
本仓库包含论文《ALP: Adaptive Lossless Floating-Point Compression》(https://dl.acm.org/doi/abs/10.1145/3626717)的源代码和基准测试,该论文发表于 ACM SIGMOD 2024。
ALP 是一种专为 IEEE 754 浮点数据设计的最先进的无损压缩算法。它通过利用真实世界浮点数值中常见的两种模式来编码数据:
-
十进制浮点数:真实世界数据集中的浮点数/双精度数大部分是十进制数。ALP 将这些值乘以 10 的幂次映射为整数,然后使用 FastLanes 变体的参考帧编码1(对 SIMD 友好)对结果进行压缩。
示例:数字10.12变为1012,然后送入 FastLanes 编码器。 -
高精度浮点数:剩余的值通常是高精度浮点数/双精度数。ALP 仅对这些值左侧部分进行压缩,使用 FastLanes 字典编码。右侧部分保持不变,因为它需要保持高精度,且通常是高度随机的、不可压缩的。
📊 ALP 的性能如何?
ALP 结果
这些结果突出了 ALP 在压缩算法的三个关键指标上的卓越表现:解码速度、压缩比和压缩速度——在每个类别中都优于其他方案。
🧪 如何复现结果
只需运行以下脚本:
bash ./publication/script/master_script.sh
有关复现基准测试的更多信息,请参考我们的指南这里,或阅读官方 ACM 可复现性报告:https://dl.acm.org/doi/10.1145/3687998.3717057
🏅 ACM 工件与奖项
我们很高兴地宣布,我们参与了 SIGMOD 可用性与可复现性倡议(https://reproducibility.sigmod.org/),并且我们的论文获得了全部三个徽章:🎉
我们还自豪地分享,ALP 获得了 SIGMOD 最佳工件奖(https://sigmod.org/sigmod-awards/sigmod-best-artifact-award/)!
⏱️ 想在自己的数据集上运行基准测试?
请查看我们的指南:如何对您的数据集进行基准测试
它解释了如何在您自己的数据上运行 ALP。
🗂️ 仓库结构
src/:ALP 和 ALP_RD 的核心实现benchmarks/:基准测试工具和数据集include/:用于集成的头文件scripts/:数据处理的实用脚本test/:单元测试publication/:出版物和补充材料
📚 出版物
- 会议论文:ALP: Adaptive Lossless Floating-Point Compression,ACM SIGMOD 2024
https://dl.acm.org/doi/10.1145/3626717 - 可复现性报告:Reproducibility Report for ACM SIGMOD 2024 Paper: ‘ALP: Adaptive Lossless Floating-Point Compression’
https://dl.acm.org/doi/10.1145/3687998.3717057
📄 许可证
本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。
📬 联系我们
如果您有问题、想贡献,或希望了解 ALP 及相关项目的最新动态,请加入我们的 Discord 社区:
加入我们的 Discord(https://discord.gg/2ngmRaRW)
社区状态(https://discord.gg/2ngmRaRW)
🧩 被以下系统使用
ALP 已被集成到以下系统中:
- DuckDB(https://duckdb.org/2024/02/13/announcing-duckdb-0100.html)
- FastLanes(https://github.com/cwida/FastLanes)
- KuzuDB(https://github.com/kuzudb/kuzu/pull/3994)
- liquid-cache(https://github.com/XiangpengHao/liquid-cache/pull/133)
在此了解更多关于 FastLanes 的信息:https://github.com/cwida/fastlanes
相似文章
用于大语言模型压缩的联合结构化剪枝与混合精度量化
一种新颖的端到端大语言模型压缩框架,联合优化结构化剪枝与混合精度量化,在超低位宽精度下,相比于现有最先进方法实现了显著的困惑度降低和加速效果。
Fc:一种针对浮点数流的无损压缩器
fc 是一款开源的 IEEE-754 64 位双精度浮点数流无损压缩器,对于结构化数据,其压缩率优于 zstd 和 fpzip,但编码速度较慢。
OpenZL
OpenZL 是一个压缩库,能够为特定数据格式生成专门的压缩器,以高速实现高压缩比,适用于数据中心工作负载,如 AI 处理。
符号胜过浮点:用于设备上微调的Low-Rank Double-Binary Adaptation
LoRDBA将LoRA的浮点低秩因子替换为二元符号载体和通道级缩放,实现了高效的设备上微调,显著减少了占用空间,延迟开销极小,质量与fp16相当。
PALS:面向大语言模型剪枝的百分位感知层稀疏度方法
PALS根据激活幅度的99百分位数调整大语言模型剪枝中的每层稀疏比,在LLaMA-2-7B上相比均匀稀疏实现了显著困惑度改进,且附加成本可忽略不计。