一个用来压缩维基百科的悬赏了二十年的奖金,一个被 OpenAI 内部当作训练圭臬的假说,一篇让 Chinchilla 打败 PNG 和 FLAC 的论文——它们讲的其实是同一件事:预测得越准,就等于压缩得越好;而压缩得越好,可能就等于越聪明。

故事从这里开始

2006 年,一位叫 Marcus Hutter 的计算机科学家做了一件在当时看起来相当古怪的事:他自掏腰包,设立了一个奖金池,奖励任何能把一份 1GB 的英文维基百科文本文件压缩得更小的人。这份文件后来被称为 enwik9。你如果把它压缩得比现有最好成绩每提升 1%,就能拿到奖金池的 1%——总奖金一度高达 50 万欧元。

这事情乍一听有点无厘头。压缩一个文本文件,跟人工智能有什么关系?难道 Hutter 是想靠出售一个更好的 zip 软件发家?

不是。Hutter 的赌注是:要想把这份维基百科压缩到极限,你就必须真正”理解”里面的内容。 一个只会数字符频率的压缩器,压缩率会很快见顶;但一个知道”巴黎是法国的首都”、知道”二战结束于1945年”、甚至知道英语语法规则和常见比喻用法的系统,能预测下一个词会是什么,从而用更少的比特把整篇文章编码下来。压缩到底,就是在考验一个系统对世界的理解有多深。

这个赌注在 2006 年只是理论上说得通。但到了 2023-2024 年,DeeMind 和一批研究者用实验把这个赌注变成了可以量化验证的科学发现:语言模型的智能水平,几乎线性地正比于它压缩文本的能力。 这篇文章要讲的,就是这条从「一个奇怪的悬赏」到「大模型训练的核心哲学」的四十年脉络。

1960s Solomonoff 归纳理论 2006 Hutter Prize 压缩悬赏 2023 语言建模即压缩 DeepMind 论文 2024 线性 相关性

第一部分:预测和压缩,原来是一回事

问题是什么

我们平时说的”压缩”,脑子里想到的大概是 zip、gzip、把一个视频文件变小。而”预测”呢,是 ChatGPT 猜下一个字该写什么。这两件事看起来风马牛不相及——一个是数据处理工具,一个是智能系统的核心功能。

但如果你去问信息论的创始人 Claude Shannon,他会告诉你:这两件事其实是同一枚硬币的两面。这个洞见早在 1948 年就有了雏形,只是当时没有大语言模型来验证它。

直觉:把压缩想象成一场猜谜游戏

想象你和朋友玩一个游戏:你要把一篇文章,一个字一个字地念给他,但你们俩约定好一套规则——每次你念一个字之前,朋友要先猜这个字是什么。如果他猜得准,你只需要告诉他”猜对了”(花很少的信息量);如果他猜错了,你就要告诉他具体是哪个字(花更多信息量)。

现在想象一下,”the quick brown fox jumps over the lazy ___“,你朋友几乎可以肯定下一个词是”dog”。因为他猜得这么准,你告诉他答案只需要花极少的信息量——几乎不用说什么,他自己就猜出来了。

反过来,如果这篇文章是随机敲出来的乱码,你朋友每次都是瞎猜,那么每次你都要把答案完整地告诉他,一个字都不能省。

这就是压缩的本质:一个系统预测得越准,你传递信息给它所需要的比特数就越少。 压缩率高,等价于预测能力强。这不是比喻,是一个可以严格数学证明的等价关系。

技术细节:算术编码,怎么把”猜得准”变成”字节数少”

把这个直觉变成真正能落地实现的压缩算法,靠的是一种叫算术编码 (arithmetic coding) 的技术。核心思想是:

给定一个概率分布 $P(x_{t+1} x_{1:t})$(也就是模型对下一个 token 的预测),把 $[0, 1)$ 这个区间按照每个候选 token 的概率切成若干段。真实出现的那个 token 对应的区间越宽(也就是模型预测它出现的概率越大),你就需要越少的”二分查找次数”来在这个区间里定位——而查找次数正好对应传输所需的比特数。

具体来说,编码一个 token 所需要的比特数近似等于:

\[|z_{t+1}| \approx -\log_2 P(x_{t+1} | x_{1:t})\]

翻译回人话就是:如果模型给正确答案的预测概率是 $P$,那么编码这个答案只需要 $-\log_2 P$ 个比特。 概率越接近 1(模型越自信且猜对了),需要的比特数就越接近 0。这个数字,恰好就是训练语言模型时用的交叉熵损失——一个token 的训练损失,本质上就是它被压缩编码所需要的比特数。

把整篇文档所有 token 的这个量加起来,就是整份文档被这个模型压缩后的总大小(还要加上模型本身的”体积”,因为解压的人需要知道用的是哪个模型)。这就是为什么 DeepMind 那篇论文的标题直接叫做”Language Modeling Is Compression”(语言建模即压缩)——这不是一个类比,是一个数学等式两边的关系。

预测 ⇄ 压缩 的等价关系 语言模型预测 P(下一个token) 算术编码 -log₂P(x) 比特 压缩后的 数据体积 恰好等于训练时的 交叉熵损失 (bits)

第二部分:从悬赏到 AGI 哲学——压缩为什么被认为等于智能

问题是什么

好,我们已经知道预测和压缩在数学上是一回事。但这离”智能”还有一大步——为什么”预测得准”就等于”聪明”?很多东西预测得很准,比如一个温度传感器能预测明天大概是多少度,我们不会说传感器很聪明。

直觉:压缩到极致,等价于抓住了世界的规律

这里要引入一个上世纪 60 年代就有的理论工具,叫柯尔莫哥洛夫复杂度 (Kolmogorov complexity)。它给”一段数据有多复杂”下了一个非常干脆的定义:能生成这段数据的最短程序的长度。

举个例子:数字串”1111111111111111111111”(20个1)看起来很长,但它可以用一句极短的程序生成:”打印1,重复20次”。所以它的柯尔莫哥洛夫复杂度很低——尽管它字面上有20个字符,本质信息量却很小。

反过来,一串真正随机的数字比如”7452918360482716593827”,你找不到比它本身更短的描述方式来生成它——它的柯尔莫哥洛夫复杂度就等于它自身的长度。这类数据被称为”不可压缩”的。

这个理论给了我们一把标尺:一个系统能不能找到某段数据背后最短的生成规律,就代表它对这段数据的”理解”有多深。 如果你只能死记硬背整篇维基百科(用一个跟原文一样大的字典去查找答案),那说明你什么规律都没学到;但如果你能用一套很小的规则(语法、逻辑、常识、事实之间的关联)就重新生成出整篇维基百科,那说明你把里面的知识真正”消化”了。

这正是 Hutter 当年悬赏时的思路:压缩维基百科到极限,等价于找到能生成人类知识的最短程序——找到最短程序,就等价于真正理解了知识背后的结构,而不是死记硬背。这也是为什么这个理论跟”图灵测试”级别的 AI 难题被认为是等价的:要把英文文本压缩到极限,系统必须知道语法、常识、事实,甚至幽默和讽刺——跟通过图灵测试所需要的能力几乎一模一样。

技术细节:AIXI 与不可计算的理想

Hutter 本人不只是设了一个悬赏,他还提出了一个更宏大的理论框架,叫 AIXI。这个理论说:一个在未知但可计算的环境里追求目标的智能体,它的最优策略就是——在每一步都假设当前环境是能解释目前所有观测数据的、最短的那个程序在控制。

这句话听起来抽象,但其实就是奥卡姆剃刀原则的数学严格化版本:在所有能解释现象的假设里,优先相信最简单的那个。这个理论背后有一个更早的祖先,叫索洛莫诺夫归纳 (Solomonoff induction),由 Ray Solomonoff 在 1960 年前后提出,被认为是理论上最优的序列预测方法——给定一段观测历史,用能生成这段历史的所有可能程序、按其长度加权(越短的程序权重越高)来预测接下来会发生什么。

问题是:AIXI 和 Solomonoff 归纳都存在一个致命缺陷——柯尔莫哥洛夫复杂度本身是不可计算的。 你永远无法用一个算法来判断某段数据的”最短生成程序”到底是什么(这跟停机问题一样,是一个理论上被证明无法用算法解决的问题)。所以 AIXI 只是一个理想化的、不可实现的”上帝视角”。Hutter 后来提出了一个受限版本叫 AIXItl,把环境限制在有限的时间和空间内,理论上可以在 $O(t^2 l)$ 的时间里算出来——但这个复杂度仍然是天文数字级别的不实用。

这就是为什么 Hutter Prize 会存在:既然理论上的最优压缩不可计算,那我们就用实际比赛的方式,逼近这个理想。谁能设计出压缩效果更好的算法,谁就相当于朝着”理解人类知识的最短程序”迈进了一步。这个悬赏至今仍在运行,2024 年的冠军程序 fx2-cmix 把 enwik9 压缩到了约1.1亿字节(原始文件是10亿字节),拿到了7950欧元的奖金。有意思的是,这些冠军程序清一色地都用上了神经网络作为预测核心——比如 cmix 系列就融合了 LSTM 神经网络的预测结果。

第三部分:DeepMind 的实证——大语言模型真的是最好的压缩器

问题是什么

Hutter 的理论说得再漂亮,也只是理论。它需要一个实证来检验:大语言模型真的能作为通用压缩器使用吗? 而且更有意思的问题是:一个专门在文本上训练的语言模型,能不能压缩它从没见过的数据类型,比如图片和音频?

直觉:一个真正”理解世界”的系统,应该能举一反三

如果一个语言模型只是学会了”英语这种语言的表面统计规律”(哪个词后面接哪个词的概率),那它压缩文本会很强,但面对完全不同类型的数据(比如一张图片的像素、一段语音的波形)应该完全无能为力——就像一个只会背菜谱的人,让他去修汽车肯定不行。

但如果这个模型学到的是更普适的”模式识别”和”结构预测”能力——学会了识别规律本身,而不只是死记硬背英语的规律——那么它应该也能在图片、音频这些完全陌生的数据上表现出不错的压缩能力,因为图片和音频本身也是有内部结构和规律的(相邻像素通常颜色相近,声音波形有周期性)。

技术细节:Chinchilla 70B 打败 PNG 和 FLAC

2023 年,DeepMind 的团队(Delétang 等人)发表了论文《Language Modeling Is Compression》,他们做了一个直接的实验:拿一个专门在文本上训练的语言模型 Chinchilla 70B,把它当作压缩器去压缩三种完全不同类型的原始数据——1GB 的维基百科文本、100万张从 ImageNet 里截取的图像patch、以及 LibriSpeech 的语音样本。

结果令人惊讶:

  • 图像上,Chinchilla 70B 把 ImageNet patch 压缩到原始大小的 43.4%,而专门为图像设计的 PNG 格式只能压缩到 58.5%
  • 音频上,Chinchilla 70B 把 LibriSpeech 样本压缩到原始大小的 16.4%,而专门为音频设计的 FLAC 格式只能压缩到 30.3%

也就是说:一个从没见过任何图片、任何声音波形,只在文本上训练过的语言模型,居然打败了专门为图像和音频设计了几十年的压缩算法。这不是因为它”认得”图片里的内容,而是因为它学到的模式识别和序列预测能力足够通用,即便把像素或波形数据当成一种”陌生的语言”来处理,它依然能发现里面隐藏的统计规律。

这篇论文还给出了一个反过来用的方法:既然预测器可以变成压缩器,那压缩器(比如 gzip)也可以反过来变成一个生成模型——用压缩算法给不同候选续写的”压缩后大小”打分,压缩得越小的续写,说明压缩器认为它越”符合规律”,就可以把它当成模型最看好的续写。这跟前一年爆火的一篇论文《”Low-Resource” Text Classification: A Parameter-Free Classification Method with Compressors》的思路一脉相承——那篇论文直接用 gzip 加 k 近邻算法做文本分类,在低资源场景下甚至打败了一些训练好的神经网络分类器,因为它巧妙利用了”同类文本压缩到一起时会更省空间”这个原理。

Chinchilla 70B 压缩效果对比(压缩后占原始大小%) ImageNet Patch 43.4% Chinchilla 58.5% PNG LibriSpeech Audio 16.4% Chinchilla 30.3% FLAC 柱越短 = 压缩效果越好

第四部分:从”能压缩”到”多聪明”——2024 年的关键实证

问题是什么

前面证明的是”语言模型是好的压缩器”这个技术事实,但这离 Hutter 的原始赌注——”压缩率高等价于智能高”——还差一步。压缩效率和下游任务上的实际能力,到底有没有可量化的关系?会不会一个模型压缩率很高,但做数学题、写代码却一塌糊涂?

直觉:如果压缩效率是智能的”体温表”

想象你要评估一群学生的聪明程度,但不想给他们出一堆考试题(因为考题总有可能被”刷题”刷出高分,本质上没学会知识)。有没有一种更本质的、不容易被刷题作弊的测量方式?

香港科技大学与腾讯合作的一篇 2024 年论文《Compression Represents Intelligence Linearly》做了这样一件事:他们拿来 30 个不同机构发布的公开大模型,一边测它们在 12 个下游benchmark(知识常识、代码能力、数学推理)上的平均得分,一边测它们压缩一批外部文本语料的效率(用每字符所需比特数,即 BPC 衡量)。

结果发现:这两者之间存在几乎完美的线性关系,皮尔逊相关系数约为 -0.95(负号是因为 BPC 越低代表压缩越好,智能得分越高)。而且这个关系不受模型大小、tokenizer种类、上下文窗口长度、训练数据分布这些因素的干扰——不管模型是什么架构、多大、用什么分词方式训练的,只要压缩效率高,下游任务表现就几乎必然更好。

技术细节:为什么这个发现比想象中重要

这个发现的实际价值在于:压缩效率可以当作一种”无监督”的模型评估指标。 传统的 benchmark 测试有一个大问题——一旦这批题目公开了,就有可能被”污染”(模型训练数据里混进了测试题的答案,导致刷分而非真正的能力提升)。而压缩效率的测量用的是外部原始文本语料,可以随时更新替换,模型没办法提前”背答案”,因此更难被作弊污染,是一个更稳定、更可信的评估标尺。

这篇论文测的三个能力维度里,知识常识和数学推理跟压缩效率的相关性最强,代码能力稍弱一些(论文推测代码任务的benchmark本身噪声更大)。但总体结论是一致的:压缩效率不是一个孤立的技术指标,它跟我们通常理解的”智能”高度绑定。

压缩效率(BPC) vs 下游能力得分:30个大模型的散点 压缩效率 BPC(越低越好) → 下游任务得分 → 压缩差,得分低 压缩好,得分高 Pearson ρ ≈ -0.95

第五部分:这个假说在 OpenAI 内部意味着什么

一个流传甚广、非常值得一说的旁证是:OpenAI 的核心研究员 Jack Rae 在 2023 年 Stanford MLSys Seminar 上做过一次公开演讲,主题就叫「Compression for AGI」(压缩即通往 AGI 之路)。他的核心论点是:AGI 基础模型的训练目标,本质上就是对海量有效信息进行最大限度的无损压缩。

他用了一个很生动的思想实验:假设 Alice 要把一份可能无限长的数据集,通过一条带宽极其昂贵的通信线路传给远方的 Bob。他们俩事先约定好用同一个自回归神经网络(比如 GPT)来做预测。传输的过程是:Alice 先把这个网络的训练代码发给 Bob,然后双方各自初始化相同的模型参数,随着数据一段一段地传输,双方的模型也同步在增量更新——传输每一个新的 token 时,双方此刻拥有的模型对下一个 token 的预测分布是一致的,因此可以用算术编码,把传输代价压缩到接近这个 token 的真实信息量(也就是训练时的交叉熵损失)。

这个思想实验直接揭示了一个耐人寻味的等价关系:语言模型训练过程中,训练损失曲线下方的面积,就等价于把整个训练数据集无损压缩后所需要的比特数。 而且这个压缩过程还有一个巧妙的地方——由于神经网络本身的”体积”(参数量)远小于它训练的数据集体积,一个几十亿参数的模型(体积几百MB到几GB)加上它的训练损失,加起来可以比原始训练数据(动辄几个TB)小得多,这就是一次真正的、极限的数据压缩。

据估算,某些大模型的训练数据压缩比可以达到 14 倍左右——而当年 Hutter Prize 上最好的专用文本压缩器,压缩比大约是 8.7 倍。这意味着,即便是通用的大语言模型,在压缩这件”专业选手的活儿”上,也已经悄悄超过了专门为此优化了近二十年的传统压缩算法。

这不是巧合,也不是营销话术。这是一整套横跨六十年的理论——从 Shannon 的信息论、到 Solomonoff 的归纳理论、到 Kolmogorov 复杂度、到 Hutter 的 AIXI、再到今天数十亿参数的 Transformer——在同一个问题上给出的一致答案:要预测得准,就必须理解规律;理解规律的能力,可以用压缩效率来量化;而这个量化指标,正好跟我们通常说的”智能”呈现出惊人一致的线性关系。

这意味着什么

绕了这么大一圈,我们最后落在了一个相当朴素但深刻的结论上:next-token prediction 这个看似简单的训练目标,之所以能训练出如此强大的系统,根本原因不是”运气好”,而是这个目标在数学上跟”寻找数据背后最简洁的解释”是同一件事。

这也解释了很多让人困惑的现象。比如为什么模型规模越大、训练数据越多、模型往往越”聪明”——因为规模和数据量给了模型更充分的机会去发现和内化更深层的规律(更短的”程序”),而不是简单地记住表面模式。为什么模型在没见过的任务上也能表现出一定的泛化能力——因为它学到的是通用的模式识别机制,而不是任务专属的死记硬背。为什么”压缩效率”可以作为一个抗污染的模型评估指标——因为它测的是最本质的能力,而不是某个具体考题的答案。

当然,这套理论也有它的边界。压缩效率高不代表模型有意识、有目标、有价值观——这些是”智能”这个词更丰富、更有争议的含义,压缩理论并不试图回答这些问题。压缩理论回答的是一个更收敛、更可测量的问题:一个系统对世界的统计结构理解得有多深。而目前看来,这个更谦逊的问题的答案,恰恰是构建当今最强大 AI 系统的核心密码。

从一个人自掏腰包设立的、看起来像行为艺术的悬赏,到今天数千亿参数的商业化大模型,这条线其实从没断过。压缩即智能,不是一句漂亮的口号,而是六十年信息论积累之后,被实证数据反复验证的一条硬核结论。


参考资料

  • Delétang et al., “Language Modeling Is Compression” (arXiv:2309.10668, 2023)
  • Huang, Zhang, Shan, He, “Compression Represents Intelligence Linearly” (arXiv:2404.09937, 2024)
  • Hutter, “Universal Artificial Intelligence: Sequential Decisions based on Algorithmic Probability” (Springer, 2005)
  • Hutter Prize 官方规则与获奖记录 (prize.hutter1.net)
  • Jiang et al., “‘Low-Resource’ Text Classification: A Parameter-Free Classification Method with Compressors” (2023)
  • Jack Rae, “Compression for AGI”, Stanford MLSys Seminar #76 (2023)
  • Wikipedia: Kolmogorov Complexity, Minimum Description Length, Hutter Prize