• 周日. 9 月 13th, 2026

模型检查点压缩新范式:把张量拆成可运行的程序

数据张量在深蓝实验室空间中,被一行行符号化的领域专用语言程序拆解成精简代码,再在右侧按比特精确重建的程序合成示意图

把一个 AI 模型保存到磁盘,这件事今天变得越来越贵。动辄几百 GB 的检查点,要传输、要归档、要部署到不同硬件,通用压缩器只看字节流,不知道「这是一堆张量」。Brevis 这篇 2026 年 8 月登在 arXiv 的工作,把无损张量压缩改写成一个程序合成问题:与其去压字节,不如去「写一个能把张量重新算出来的最短程序」。

这是迄今最强的「程序合成驱动的张量压缩」开源方案,作者团队来自香港中文大学(深圳)等机构。它把压缩变成一段可执行代码:解压器只要跑这段 DSL 程序,就能逐比特重建出原张量,没有近似,也没有信息损失。

一、为什么张量压缩需要「懂结构」

检查点本质上是结构化数据。同一层里大量张量会重复同一段浮点字段,数值之间常常只有少数几位不同;通用压缩器看不到这种规律,只能用滑动窗口去抓重复字节,自然抓不到「结构上的重复」。张量专用压缩器能做到一些,但通常依赖固定管线,换一种模型或一种量化格式就得重写。

Brevis 的观察是:与其手写一条管线,不如让机器自己合成。给定一个张量,合成器要在语言空间里搜索一段最短的可逆程序,让它执行之后正好输出这个张量。程序越短,压缩比就越好。

二、可逆 DSL:让程序本身就是压缩格式

Brevis 设计了一门面向张量的领域专用语言。所有算子都是可逆的,比如「拷贝上一行」「填一段零」「用同值填充某字段」这种反复出现的张量结构,都有一个对应的逆向算子。一段 DSL 程序就是一个可逆操作序列,执行它就能逐比特重建张量。

这种设计的巧妙之处在于:压缩结果不是「一串字节」,而是「一段可读程序」。你需要解压时,运行这段程序就行;不再依赖外部压缩库,也不需要专门的解码器:只要解释器在,数据就能被还原——这对十几年后想读旧模型的考古学家格外友好。

三、有先验的 A* 搜索:从样本里学出「偏好」

纯程序合成会爆炸,因为搜索空间太大。Brevis 先从一小段代表性张量样本里学一个生产式先验,告诉搜索器「哪些算子在这个模型里更可能出现」。有了这个先验,搜索器跑的是带界的 A*——在「程序长度」「预估误差」「时间预算」之间做权衡,每一步都挑最有希望短下来的分支。

这一步把通用压缩器甩开:zstd 这类工具靠统计重复,看不到张量结构;Brevis 把结构直接编进 DSL,再用先验加快搜索。对大模型而言,少压几个百分点,跨集群归档的代价就少一大截。

四、实验:10 个检查点,2.13 TB 压到 1.41 TB

作者在 10 个公开检查点上做了评估,覆盖语言、音频、图像生成三类模型。Brevis 把 2.13 TB 的检查点数据压到 1.41 TB,整体减少 33.93%;与 zstd 等四种通用压缩器相比,产出的归档体积最多再小 30.87%。对几 GB 的单张量,它跑得也不慢——程序合成的开销被压缩收益盖过了。

五、它意味着什么:压缩格式变成可执行程序

Brevis 给出了一个新的思路:压缩格式 = 程序。当压缩格式本身就是一段可读、可逆、可运行的 DSL 代码,归档系统就不需要为每一种模型单独维护解码器,几十年后想打开旧检查点,只要保留解释器就够了。

对工程团队来说,这件事的现实收益很直接:更大的压缩比等于更便宜的存储和带宽,而解释器只是几行启动代码,部署门槛几乎为零。下一个问题是,这门 DSL 能不能走出「张量」这一类,去压缩稀疏嵌入、知识图谱乃至整个模型仓库——那是程序合成下一步值得期待的方向。

参考文献:Shi Jieke, He Junda, Jiang Wenjia, Sun Weifeng, Pan Shidong, Sun Zhensu 等,《Lossless Tensor Compression as Program Synthesis》,arXiv:2608.02162,2026 年 8 月 3 日提交。

admin77

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注