一串28个字符,9个A、4个B、2个C、1个D、3个A、9个D,用最基础的run-length编码就能砍掉57%的体积,从224比特压到96比特。ngrok最近一篇技术博客拿这个例子当开场,然后抛出一个足够漂亮的说法:压缩器和语言模型,本质上在解决同一个数学问题——给定前面的符号,猜下一个符号的概率分布,猜得越准,编码就能写得越短。这个类比是真的,干净到让人想拍大腿。但博客讲到“恍然大悟”就收笔了,真正值得往下问的是:这个等价关系既然这么优雅,为什么现实里没人真拿GPT去替代你电脑里的zstd?

压缩,说到底是在猜概率

现代压缩工具都由三个部件拼成:transform负责把数据处理成更容易发现规律的形式;model统计每个符号出现的概率;entropy coder——比如算术编码——拿着这些概率,把整段数据压成一个数字或一段比特流。原文里那句A B A B A A C,用算术编码能压成0.3876953125这一个数,只要10比特,比56比特的原始ASCII编码小得多。概率越集中,需要的比特就越少,这个下限有个名字,叫,单位是比特/符号。

这套机制换个说法就是:模型预测得越准,输出就越短。语言模型训练时在做什么?最小化下一个词的交叉熵——说白了就是让模型猜下一个词猜得更准。两件事在数学公式上完全同构:压缩长度和预测误差,写出来是同一条式子。

压缩器的三个器官 Transform 制造/暴露冗余 Model 算概率分布 LLM=神经网络 Entropy Coder 概率→比特流 如算术编码 预处理 预测越准 编码越短

这账Shannon 1948年就算过

这不是ngrok的新发现。Claude Shannon1948年提出信息熵的时候,就已经把“最优编码长度”和“概率分布”绑死在一起;1951年他还专门做过实验,让人猜英语文章里下一个字母,用猜测次数反推英语本身的熵。1978年Rissanen提出的最小描述长度原则(MDL),干脆把“好模型=能把数据描述得更短的模型”写成了一条准则。1987年Witten、Neal、Cleary发表的论文,把算术编码这套“概率转比特流”的机制正式定型,后来被gzip、Brotli沿用至今。LLM在这条链上做的事,只是把“model”这一步的统计表换成了神经网络算出来的概率分布——原理没变,预测器变强了。

账面数字,确实好看

真有人认真验证过“LLM当压缩器”这件事。检索到的资料显示,Delétang等人2024年的论文系统评测了把语言模型概率接上算术编码当通用压缩器用,拿去跟传统压缩工具对比。方向性估算是:LLM+算术编码在匹配文本上的压缩比能到6到15倍甚至更高,明显甩开gzip(2.5到4倍)、zstd(3到5倍)、Brotli(3到6倍)——这些数字是综合估算,不是同一套基准测试跑出来的精确对比,但差距的方向很清楚。

压缩比量级对比(方向性估算) LLM+算术编码 6–15x Brotli 3–6x zstd 3–5x gzip 2.5–4x 估算区间,非同一基准测试直接可比

单看压缩比,LLM确实是更聪明的预测器。问题出现在压缩比之外。


没算的三笔账,和一个十几年的争议

模型权重要不要算钱?如果发送方和接收方没有提前共享同一个冻结好的模型,模型本身的体积——动不动几个GB到几十GB——也得算进“压缩后的总大小”里。很多“神经压缩碾压gzip”的说法,报的其实是“假设模型免费”这个前提下的数字,不是端到端的真实成本。

测试文本是不是模型早就见过?如果被压缩的文本本来就在训练集里,模型压得好只是在回忆,不是在预测。这条污染问题让所有拿现成大模型做压缩基准的实验,都得先回答一句:测的到底是泛化能力,还是记忆。

算力和延迟差几个数量级?zstd一个CPU核心一秒能处理几百MB数据,大模型逐个token算概率分布,速度通常只有每秒几十到几百个token,还没法像传统压缩那样并行——自回归解码要解出后面的符号,必须先解出前面的。省下来的那点存储空间,可能要拿几个数量级的时间和电费去换。

没算的三笔账 模型权重要不要算钱 没共享冻结模型,几GB权重也是压缩成本 测试文本是不是模型见过的 训练集里出现过,压得好只是记忆不是预测 算力和延迟差几个数量级 自回归解码没法并行,省存储换掉时间和电费
  • 风险.把“压缩比更高”直接读成“更该用”,会漏掉模型体积、训练污染、算力延迟这三个隐藏成本,实际部署很少划算。

这三笔账没算清楚,正好落在Hutter Prize这个“压缩即智能”操作化尝试的争议点上。这个奖项用维基百科的十亿字节语料测压缩率,规则里明确要求解压器必须是可执行程序、有运行时间和内存上限,还得把解压器本身的体积计入总分——等于提前意识到了“权重要不要算钱”这个问题。但批评一直没断:单一语料容易被针对性优化到过拟合,现代预训练模型很可能早就“读过”相关维基百科内容,而压缩奖励的终究是预测能力,不是规划、因果推理这些更宽的智能维度。

那这个类比到底有什么用

压缩即预测,数学上干净,历史上有源头,工程上却几乎从没真正兑现——这大概是它最诚实的现状。

道理讲得通,不等于账能算平。

这个类比真正值钱的地方,不是告诉你LLM要取代zstd,而是给“语言模型训练时到底在优化什么”这件事,提供了一个比“学说话”更朴素、更可验证的解释:它在学怎么把预测误差压到最短。这是理解训练目标的钥匙,不是产品路线图。下次再看到“压缩即智能”这类说法,先问一句:这个压缩比,算没算模型自己的体积?