图像压缩这件事,最近两年被生成模型抢尽了风头:码率压到极低,画面看着也不错,代价是细节是模型「编」出来的。arXiv 2608.28687 的 FLM 反着来——请大模型进压缩管线,却一点「画」的活都不给:只让它报概率,图像一个比特都不许变。结果码率大幅下降,保真度反而立住了。

要明白这为什么有意思,得先看 JPEG 是怎么干活的:图像切成 8×8 小块,每块做 DCT 变换(把像素改写成一组「频率系数」,相当于把画面拆成从平缓到细碎的不同纹理成分),量化把不重要的系数直接砍成零,最后一步熵编码负责把剩下的数字写成尽量短的比特。前两步是「丢信息」,第三步是「记账」——越可能出现的数字,记号越短。JPEG 用的还是几十年前的老账本,概率估计很粗糙;这笔账欠到了今天。
这两年流行的新路线是生成式压缩:不琢磨记账,直接让扩散模型在解码端「脑补」细节,码率可以压到极低,主观上也好看。问题是补出来的纹理未必是你拍的——上面第一行图里,一只泰迪熊的鼻子在 0.37 bpp 下被换成了另一只颜色。对网盘缩略图无所谓,对要求「所见即所拍」的场景,这是硬伤。
FLM 的转折在于:大模型在这里不生成图像,只干一件事——给「下一个数」报概率。编码端照旧走 JPEG 的变换和量化,把每个小块的系数排成序列;然后给语言模型(LLaMA 3.2-1B,十亿级参数的开源小模型)扩一张词表:每个量化系数值配一个专用 token,段尾的长串零用一个「结束」token 一口吞掉。模型读着已解码的前文,逐个预测下一个系数取每个值的概率;算术编码器(按概率把整串序列写成极短比特流的编码器)拿着这份概率把序列压成比特。解码端跑同一个模型,一个系数一个系数恢复——整条重建是确定性的,同样比特进、同样像素出。

三个工程细节撑起了效率:提示词里塞进通道类型、质量因子、系数取值范围这些元信息,让模型知道自己在读哪种「文本」;softmax 只在合法取值里分配概率,不浪费给不可能出现的 token(拿掉它,码率涨三成);相邻两个 8×8 块拼成一个宏块再预测,上下文越长猜得越准——缩回单块,码率涨 93%。训练只微调词表、输出层和少量适配参数,主体冻结,一套模型覆盖多个质量档。
数字上,Kodak 集对 JPEG 等效同画质省 52.8% 码率(同码率下 PSNR 高 3.3 dB),Tecnick 和 CLIC 提升更大,同口径比较下也优于近年扩散生成式方案的 PSNR。更实用的是无损 JPEG 再压缩:对存量 JPEG 直接在系数上无损再压一遍,质量因子 95 下码率从 3.40 降到 2.35 bpp,省约三成,和专门做这件事的工具打平甚至更好。
最直接的落点是云相册和网盘的冷存储:存量 JPEG 是天文数字,能不动原图再省三成,存储成本就要重算一遍账。第二是相机端——JPEG 硬件管线里 DCT 本来就算好了,把熵编码这一级换成「小模型+算术编码」是增量改造,不必动 ISP 其余部分。第三是生成式压缩永远进不去的场景:档案、票据、医学影像,一个比特都不能变,「确定性」比「好看」值钱。更远一点,这篇给行业提供了一个角色模板:大模型可以先以「概率先验」的身份进生产管线,不必非要当「内容生成器」。
代价也明摆着:自回归解码一个系数一个系数地吐,作者自己承认远够不到实时;十亿级模型跑一遍编码解码的能耗,和省下的存储谁赚,要按场景细算。对比也有保留——主要增益是对 JPEG 报的,文中没有和 VVC、AVIF 这类现代编解码器正面对比;主观质感上,生成式 codec 仍占上风。它证明的不是「LLM 压缩明天就能用」,而是一条被生成浪潮盖住的旧真理还留着大量余量:自香农以来,压缩的天花板从来是预测的天花板。