[论文阅读]LLMZip: Lossless Text Compression using Large Language Models
LLMZip: Lossless Text Compression using Large Language Models
[2306.04050] LLMZip: Lossless Text Compression using Large Language Models
直观思想
以英文文本输入“My first attempt at writing a book”为例,假设某个语言模型有M个记忆点(此处以4模拟),那么他就是以四个输入token来预测下一个token的输出概率
作者认定,在下一词预测中,排名顺序从0到n,因此第五个词是我们期望的writing的话,排名为1,得到排名结果R5=1,以此类推。
如果语言模型作用良好(这个是可以通过自己在期望的数据集上一次又一次训练,让它直接过拟合,来尽可能达到的),那么下一个目标预测词汇大概率在前几位,尤其是0位和1位。这样的话是可以走压缩的,比如zip,算数编码,哈夫曼编码等
重构序列,先解码/解压比特为排名序列,用同一个语言模型跑一个批次,依照排名选token(类似于同样的加密/解密方案)。
【LLM输出的温度超参数影响的是选择的token,这里有对应的排名,温度超参数就没有那么重要了。】
使用LLM压缩
让 𝐬 表示由 Nc 字母组成的英语句子,其中每个字母都假设来自字母表 𝒮。 我们假设我们有一个包含 D 个标记的字典 𝒳=[1,D]。 我们首先将 𝐬 解析为由 𝐱=x1,x2,…,xi−1,xi,xi+1,…xNT 表示的 NT 标记序列,其中 xi∈𝒳。 𝐬 和 𝐱 之间存在一对一映射,因此压缩 s 与压缩 𝐱 相同。 xi可以被认为是大写字母Xi表示的随机变量的实现。
具有记忆M的语言模型是一个按如下方式运行的预测器。 在 i 时间点,它接受词符 xi−M,xi−M+1,…,xi−1,并根据 qi(xi):=Pr(Xi=xi|xi−1,xi−2,…,xi−M),∀xi∈𝒳 给出的过去 M 词符条件,生成序列中下一个词符的概率质量函数。 将PMF向量𝐪i:=[qi(1),qi(2),…,qi(D)]𝖳按降序排序,并将排序后的PMF向量记为𝐪~i。 令 γi:𝒳→𝒳 为从 1 到 D 的整数的排列,使得
即γi(j)是词符j在epoch i的排名。 我们将输入序列在epoch i的排名定义为词符xi在epoch i、ri:=γi(xi)的排名。 序列 通过无损压缩算法(例如zlib)压缩以产生Nb位,它们是源的最终位表示。 该方案的示意图如图4所示。 一般来说,无损压缩算法除了使用秩序列之外,还可以使用PMF向量𝐪i的序列。
感兴趣的主要指标是压缩比 ρ 定义为