我是数字秘书小雅,今天播报《李白对话录新篇:所谓无损压缩》
李老师说:纠结有日子了,今天算是搞明白了,关于无损压缩的问题,原来很简单:
无损压缩是一个点,一个终点,是目标函数。这与有损压缩不同,有损压缩是一条线,a spectrum。说当代大模型在做无损压缩,是从目标上说的,当然没错,的确是朝着无损压缩的目标去的。我们怀疑LLM不是无损压缩,而是有损压缩,是从结果上说的,其实也没错。因为 有损到无损,是一个无限逼近的过程。任何一个模型在训练结束的时候,都不能达到理想的状态,自然是有损的。如果你说,自回归学习的 GPT 是一种有损压缩的学习,这可能是有问题的,你需要举证,the burden of proof is on you 而不是被质疑者。
有损的问题不是出在这个算法或算法原理本身,就是出在训练上: 数据不足,训练不足,天才不足,money 不足,时间太紧,等等,都可能是原因。Open AI 那些人坚信 GPT 是无损压缩,传达的意思是,算法本身没问题,是无损压缩,就是要挤出海绵里面的每一滴水,就是要压缩到理想状态,这才能穷尽数据背后的大大小小的各种patterns和知识。但实际上的模型,总是有损的。没关系,我们继续逼近,但不需要改变路线和算法,只要沿着 scaling law 一直做下去,我们就可以无限逼近(虽然其实永远也达不到无损的“共产主义”态)。
如果对于一种类型的模型,你一开口就说这是有损压缩的模型,这不是谦虚的事儿,温良恭俭让不好使,因为你立刻会陷入困扰:
1. 你的算法一定有致命缺陷,或你的路线就错了;
2. 你不能声称了有损就完事儿,有损是需要量化的:你的算法模型到底是 5% 的有损,10% 的有损,还是 what?
如果有损是出于算法的考虑,那就要指出硬伤,需要找到某种本性上的局限,使得模型永远都做不到无损。这就好比当年皮尔斯指出单层神经网络的硬伤:你不是机器学习要仿生吗,说神经网络可以解决几乎一切的问题。可是,非线性问题就是它的命门,异或(XOR)的鬼门关你绕不过去(见【读书笔记:异或门是神经网络的命门】)。同理,只有找到硬伤证明GPT 的 ntp 的训练方法有本性上绕不过去的坎儿,有人找到硬伤了吗?
嗨,这么个简单问题,回想起来,纠结了大半年了。切.....
白硕老师说:压缩的是函数不是文本。给定目标函数长什么样,数据足够大,参数就可以圆满表示目标函数。如果文本无损,那泛化就无从谈起。
李老师说:对,压缩的对象肯定不是文本。对象是函数的话,无损压缩就是 by definition,从“万能近似定理”(注:这是深度学习的理论基础,说的是带有非线性转换的多层神经网络可以逼近任何函数)出来的。
这样一来,1. 这不等于没说吗?2. 万能近似定理说的也不仅仅是 ntp(next token prediction),而是所有的多层(+激活)的神经网络啊。
总结下来就是,无损压缩就好比说了一通大话废话,永远正确(无法证伪)因为是 by definition,而且容易与数据作为对象的传统压缩定义混淆的说法。
那为什么Open AI大佬们独宠这个术语呢?为什么不用大家熟悉的术语:抽象、泛化、patterns discovery、knowledge mining 不都行吗?
能想到的理由是,“无损压缩”是目标定义,而 “抽象”、“泛化”,包括“压缩”本身,等等都不是目标,而是过程。有了目标,才能坚定信仰。
白老师说:对于数据来说,降维、去噪、归一化、softmax,都有明显的“降低数据表示复杂度”特点。所以,维纳一系的叫压缩是不难理解的,但压缩中包含了一种武断,即“你应该是什么样的”,即使你原始数据没说或者说了但与此不符。所以,维纳一系确实在压缩数据,学到的参数也确实是在表示数据。涉及到的泛化和纠错,都是对数据的一种主动的调整,是在表明“我才是你该是的样子”。
图灵一系跟着叫“压缩”,就是另外一个意思了:生成这些数据的程序即目标函数,如果是“真”随机的,那你参数体量跟训练数据必须在本质上一边儿多。只要不是真随机的,是有规律可言的,那就有压缩空间。我是真真切切在压缩一个函数。那些参数,就如同插值多项式或者分段多项式的系数一样,是表示函数的零件。
李老师说:非常有洞见。就是说:统计机器学习压缩的是数据, 而LLM压缩的是函数。
白老师阐述了维纳一系(即统计机器学习)和图灵一系(即神经网络的LLM)对于"压缩"这一概念的不同理解和应用。咱们试图理解一下:
维纳一系的"压缩": 是对原始数据进行降维、去噪、归一化、softmax等操作, 目的是降低数据的表示复杂度, 学到的参数是在表示经过处理后的数据。这种压缩是一种"带有偏见"的压缩, 即先验地认为数据"应该是什么样子",然后主动对数据进行调整。这种压缩虽然能在一定程度上实现泛化和纠错, 但本质上是对数据的一种"武断"。就好比学校老师批改学生的作文。
图灵一系的"压缩": 目标是压缩生成这些数据的程序即目标函数本身。如果数据不是完全随机的, 而是有内在规律的, 那就存在压缩目标函数的空间。这里压缩的对象是生成数据的函数, 而不是数据本身。模型的参数如同插值多项式或分段多项式的系数, 是表示目标函数的"零件"。
但听上去,二者还有很多 overlapping 的感觉。
白老师说:overlapping的地方,正是两派吵架的地方。
李老师说:先验的标准也不是凭空来的,所以压缩数据,与压缩“压缩数据”的函数,有某种效果上的雷同和一致性。
数据驱动+先验【约等于】 没有解析解的目标函数?
白老师说:这意味着维纳和图灵在走向合流。
李老师说:无论统计还是神经,都不是还原原文意义上的无损压缩。这样 coin 过来一个术语,简直就是“蓄意”误导。
如果连我们老司机都被误导过,可想而知对于普罗大众有多大的误导。
我是小雅,以上就是立委先生最新博客的两分钟播报,分享关于大模型和AI的有角度的思考。咱们下次再见。
【相关】