DeepMind《语言建模就是压缩》论文分析


DeepMind 的一篇新论文显示,LLM 在文本、图像和音频等不同模式的数据集上实现了最先进的压缩率。LLMs 是如何压缩数据的?它们又为何如此出色?让我们来了解和讨论论文中的结果。

论文基于预测等同于压缩的观点,即一个好的预测模型就是一个好的压缩器,一个好的压缩器也是一个好的预测模型。基于这一观点,LLM 应该能够压缩数据。在实验中,他们将 LLM 与算术编码器相结合,在文本、图像和音频数据上取得了显著的压缩性能。他们还从压缩的角度对这种模型的预测性能的其他一些方面进行了说明。

统计压缩背景 LLM 本身并不能压缩数据,而是要与统计压缩算法搭配才能完成压缩。统计压缩算法利用数据中符号的概率分布来生成压缩编码。从本质上讲,如果一个符号出现的概率很高,它就会被分配较短的编码,而概率较低的符号则会被分配较长的编码。统计压缩算法有多种,如哈夫曼编码、算术编码和非对称数字系统。本文使用算术编码器,因为众所周知,算术编码器生成的编码非常接近压缩的理论极限,也就是香农熵。

让我们借助一个例子来理解:
如果我们的数据由三个符号组成:"A"、"B "和 "C",概率分别为 0.8、0.15 和 0.05。那么我们可以为它们分别赋码 "0"、"10 "和 "001"。由于 "A "在数据字符串中出现的概率较高,因此它只占用一个比特,而出现概率较低的符号虽然占用的比特较多,但由于它们出现的频率较低,因此总体而言,我们将获得压缩率更高的代码。

使用 LLM 压缩 语言模型在其上下文中将一串标记作为输入,并生成下一个标记的概率分布。生成文本时,我们会使用各种策略从概率分布中选择下一个标记,例如选择概率最大的标记。我们将下一个标记添加到上下文中,然后生成更多文本。

但是,在压缩数据时,情况就有些不同了。在这种情况下,我们可以获得想要压缩的原始数据。我们将原始数据中的标记输入到模型的上下文中,它就会生成下一个标记的概率分布。请注意,模型仍在尝试预测下一个标记,但我们已经从原始数据中知道了下一个标记。我们可以将下一个标记的实际值和模型生成的概率分布结合起来,并将它们输入压缩算法,从而生成下一个标记的压缩代码。

  • 如果模型擅长高概率预测下一个标记,算术编码器也会为这些标记分配较短的编码。因此,总的来说,我们最终会得到一个高度压缩的输出结果。
  • 另一方面,如果一个模型不擅长预测,它就会为正确的标记分配极低的概率,因此算术编码器也会为它们分配较长的编码,从而导致较差的压缩效果。

让我们在此讨论最有趣的一项:
在压缩 enwik9、ImageNet 和 LibriSpeech(音频)数据集时,作者比较了仅使用 vanilla 变换器模型的预训练解码器、预训练 Chinchilla 模型、gzip、PNG 和 FLAC 的压缩率。

作者发现,Chinchilla 70B 在所有三个数据集上都达到了最先进的压缩率。现在,由于 enwik9 是其训练数据的一部分,因此预计该模型能很好地对其进行压缩。然而,在 ImageNet 上,Chinchilla 70B 实现了 48% 的压缩率,超过了 PNG(58.5%);在 LibriSpeech 上,它实现了 21% 的压缩率,超过了 FLAC(30.9%)。

至于 vanilla 变换器模型,它们在 enwik9 数据集上击败了 gzip,但在 ImageNet 和 LibriSpeech 上表现不佳。这些转换器模型是在 enwik8 上预先训练过的,因此它们之前没有接触过 enwik9。

这意味着什么?
这基本上意味着 Chinchilla 模型具有卓越的上下文学习能力。仅凭几个字节的上下文图像/音频数据,它就能非常准确地学习和预测下一个(多个)字节,因此算术编码器能够实现出色的压缩效果。

不过,也有可能是模型在训练过程中看到了这些数据?作者指出,Chinchilla 的训练数据不包括 ImageNet 或 LibriSpeech,但某些文本数据中可能包含了部分图像或音频数据编码。

还有一个问题是,为什么 vanilla 变换器在处理图像和音频数据时会遇到困难?是因为模型大小不同,还是训练数据不同?

其他结果
除此之外,作者还展示了其他一些结果,这些结果从压缩的角度揭示了语言模型的学习和预测能力。这些结果包括

  • 在多模态数据上实现最先进的压缩率
  • 压缩视角下的模型缩放定律:缩放定律在压缩条件下也有效吗?
  • 上下文窗口长度对压缩性能的影响
  • 标记化对压缩性能的影响及其对预测能力的意义。

点击标题文章中介绍了所有这些结果,并对其背后的原因进行了解释。

总结
总之,论文 "语言建模就是压缩 "提出了几个有趣的见解。它表明,大型预训练语言模型(特别是 Chinchilla 70B)可以在多模式数据集(不仅包括文本,还包括图像和音频)上实现出色的压缩率。这种性能可能归功于该模型令人印象深刻的上下文学习能力。不过,对于 Chinchilla 的训练数据集是否间接包含了 ImageNet 和 LibriSpeech 数据,仍然存在疑问。

研究结果还与 Kaplan 等人描述的缩放规律相吻合,即在使用固定数据集时,扩大模型规模最初会提高压缩率,然后才会导致压缩率下降。此外,虽然增加词汇量可以提高较小模型的压缩率,但对于较大的模型来说情况恰恰相反,这表明较大模型的预测能力可能会受到较大标记词汇量的负面影响。