henry 发自 凹非寺量子位 | 公众号 QbitAI
别争了!
世界上第一个明牌自己是大语言模型的人,可能是香农的老婆。
1950年前后的某一天晚上,咱们的信息论鼻祖香农跟老婆贝蒂在客厅做了一个小实验。
实验里,香农扮演着一个拿着书本考试的教官,Betty则扮演一个做做词语接龙的学生,根据香农的提示,猜下一个字母。
具体的,香农会从书中某一段开始,一个字母一个字母往后走。
每到一个位置,他先不报答案,而是先问贝蒂,下一个字母是什么?
就这样,贝蒂猜,香农记。
猜错了,香农写下正确字母。猜对了,他画一个短横。
这样一来,就像上面图里展示的那样,一段完整的英文被拆成了两部分:
贝蒂已经能预测的地方,用短横带过;贝蒂预测不了的地方,才需要把原字母写下来。
乍一看,这画面有点像什么高知伉俪玩的饭后游戏。
但在3Blue1Brown最新的视频里,这个实验被放回了一条更大的线索里——
它可能是人类历史上最早的一场真人版next-token prediction
更进一步,借由香农的例子,3Blue1Brown主理人Grant Sanderson还探讨了一个从信息论一路通向大语言模型的问题:
为什么预测下一个token这件看起来再简单不过的事,会和压缩、熵,甚至智能扯上关系?
而答案,可能就藏在贝蒂画掉的那些短横里。
LLM只是一场猜字母实验?
尽管Grant的视频已经讲得足够清楚,但为了更平滑一些,咱还是先回到香农和贝蒂那个实验。
表面上看,香农和贝蒂玩的点像双人语音版填字游戏,一个给前文,一个猜下一个字母。
比如,在英文里t后面很可能跟着h,所以当香农给出线索t的时候,贝蒂很可能会回答h。
换成中文,其实也差不多。比如,当你看到一个「你」,后面很可能接好,来组成「你好」。
但香农真正关心在意的,可能并不是贝蒂猜得准不准,而是猜对之后,会发生什么。
就像我们开头提到的,实验最后得到的那个转录版本,真实字母比原文少得多。
贝蒂猜对的地方,只剩一个短横。贝蒂猜错的地方,才保留原来的字母。
看上去,字是变少了,但在某种意义上,它包含的信息量没有变
原因也很简单。
如果香农能复制出另一个一模一样的贝蒂,再让她看这份缩短版文本,她理论上仍然可以把原文复原出来。
而这,就是「可预测性允许压缩」最直观的版本。
这很好理解,就像你跟哥们聊天一样。
一开始表达同意,你们会说「好的」,到后面变成「OK」,再后来只剩一个「k」,到最后甚至只是一个唐人表情包就足以心领神会。
表达越来越精简,并不是因为信息消失了,而是因为双方已经知道上下文,所以没必要把完整形式再打一遍。
不过相信聪明的大伙已经发现了,香农这个实验有点问题:
- 人不是机器。贝蒂这次猜对的字母,下次未必还会猜对。一个人两次面对同一段前文,也未必会给出完全一样的答案。
所以,虽然这个实验能说明语言可以被预测,所以语言可以被压缩,但它还不能精确测量语言到底有多少信息。
于是乎,香农后来把这个实验做得更系统。
在后续发表的论文Prediction and Entropy of Printed English中,香农找来更多受试者,不再只记录猜对还是猜错,而是记录一个人需要猜多少次,才能猜中正确的下一个字母。
猜一次就中,说明这个字母在当前上下文里很容易预测,如果猜很多次才中,就说明它更意外。
换句话说,香农其实在用一套方法,把猜了几次转换成受试者心里对正确字母的隐含概率。
这一步很关键。
因为同一个位置,不同人会给出不同猜法。有人第一次就猜中,有人猜到第五次才猜中。差别不在字母本身,而在每个人脑子里那套对英文的判断。
所以,香农测的不是书本上的静态词频,他测的是人如何根据自己的上下文来分配概率。
看到th,下一个字母可能是e,也可能是a。到底先猜哪个,猜到第几次才轮到正确答案,背后都是这个人对英文的理解在排序。
到这,相信你也看出来了。
香农这是把人当成语言模型整了,而他的妻子Betty,可能就是第一个明牌自己在做next-token prediction的人。
只不过那个模型不是Transformer,是人脑。
这些人脑知道语法、常识、上下文、语感,也知道一段英文接下来大概率会怎么走。
而香农干的,就是不断地追问:下一个字母是什么?
预测和压缩,大模型的一体两面
到这里,贝蒂的任务其实就已经完成了:
她用自己的模型(大脑),划掉了一段文本里可以被预测的部分
后面香农找来更多受试者,本质上也都是在做同一件事:
能够预测的部分划掉,只留下那些预测不了、必须写出来的字母。
于是,原本的长文本,就这样被压缩成了一份更短的新文本
所以,顺理成章的,我们会想:
假如一个人,读过一本书,就能靠自己的语言经验,预测书里一部分字母,从而把它压缩得更短;
那么,有没有一个模型,能吃下整个互联网,然后预测各种上下文里的空白呢?
或者换一个更AI的说法:模型能不能把语言里的规律,压进自己的参数里?
答案是肯定的,但先别急着往大模型上靠。
在这之前,Grant视频里还有一个更底层、也更值得探讨的问题:
怎么判断一种压缩方式,到底好不好?
最简单的标准当然是:越短越好。
如果一段信息里还有规律可找,还有冗余可删,那它就还能被继续压缩。
反过来说,如果一段信息已经被压缩到极限,所有能预测、能概括、能利用的规律都被榨干了,最后剩下的是什么?
没错,就是信息
在香农那里,信息有个经典的定义:
- 一件事到底有多出乎意料。
如果一句话的下一个字母几乎已经板上钉钉,那它就没携带多少新信息。
但如果下一个字母完全猜不到,它就真的需要被写出来。
这也是为什么Grant会说,一个理想的压缩算法,压到最后,输出应该看起来像随机噪声。
因为,噪声没有模式。
每一位都像独立抛硬币,50%是0,50%是1,彼此之间没有任何可利用的关系。
没有模式,就没有规律可学;没有规律可学,就没有冗余可删;没有冗余可删,也就没有继续压缩的空间。
所以,随机噪声不是因为「乱」才重要。它重要,是因为它代表了一种极限状态:
所有可预测的东西都已经被拿走了,剩下的每一位都必须被传输。
到这里,预测和压缩这两件事也就真正扣上了。
预测,是在问:哪些部分可以不用写?
压缩,是在做:把不用写的部分删掉。
而信息,就是最后那些无论如何都必须写下来的东西。
信息量
如果你看到这里,香农那个著名公式也就不再像一个凭空冒出来的数学定义了。
假设一条消息出现的概率是p,那么它的信息量就是-log₂(p)。
根据这条曲线,发生概率越小,信息量越大;发生概率越大,信息量越小。
用刚才那套话说就是:越容易被预测出来的东西,信息量越小。越难以预测的东西,信息量越大。
而从压缩的角度看,这个公式问的其实是:
- 为了把这条消息从所有可能性里区分出来,理论上至少需要多少 bit?
这就是香农最厉害的地方。他把「预测不了的部分」,变成了可以计算的东西。
但问题在于,现实生活中,我们很少只面对一条消息。更多时候,我们面对的是一整套可能性。
视频里,Grant举了机器人上下左右的例子。机器人收到的指令,不只是动和不动,而是上、下、左、右四种可能。
如果四个方向出现得一样频繁,那它们也就一样难猜。
这时最自然的编码方式,就是给每个方向分配同样长的bit。
比如:上是00,下是01,左是10,右是11。每条指令固定2bit,简单直接。
但如果上出现得最多,下次之,左和右更少,那最高效的编码方式就变了。
这时,我们就没必要让每个方向都占同样长的编码。
常见的方向,可以用更短的码字表示。少见的方向,则可以用更长的码字表示。
只要保证每个码字不会互相混淆,也就是不会读着读着不知道该在哪里断开,就能让整体平均长度变短。
视频里就是通过这种变长编码,把平均每条指令需要的bit数,从固定编码的2 bit,降到了1.75bit。
这就是压缩里非常核心的一条直觉:
概率越高的消息,应该用越短的编码;概率越低的消息,才值得用更长的编码。
那么推广开来,我们接下来要问的就不再是某一条消息有多少信息量。
而是在这一整套分布里,每来一个新符号,平均还有多少东西必须写下来?
这种在某个分布下,每来一个新符号,平均还剩多少必须写下来的东西,也被称作熵。
熵越低,说明系统越容易预测,越好压缩。熵越高,说明系统越随机,越难压缩。
如果四个方向完全一样常见,机器人下一步往哪走就很难猜,熵会更高。
同理,语言也是一样。只不过语言的可能性更多,上下文更长,麻烦也更大。
从熵到loss:大模型到底在压缩什么?
与机器人上下左右不同,大语言模型需要成千上万个token备选中选择最可能的下一个。
同时,它也不是孤立选择,而是严重依赖上下文。
所以,语言的熵本质上问的是:在给定前文之后,下一个token平均还有多少不确定性?
从压缩的角度来看,就是用这个模型来压缩真实文本,平均还要花多少bit,才能把下一个token写出来?
这也就是为什么,大模型训练里常见的交叉熵损失,天然会和压缩连在一起。
模型给真实token的概率越高,说明它越不意外。越不意外,信息量就越低。信息量越低,编码它就越省。
所以,交叉熵越低,模型就越像一个更好的压缩器。
与此同时,模型越能预测下一个token,就越说明它已经捕捉到了语言里的可重复结构。
语法、搭配、格式、事实、代码习惯、对话模式、推理套路,甚至一部分世界常识,都藏在这件事里面。
当然,Grant表示,这并不意味着:压缩可以粗暴地等同于智能。
ZIP很会压文件,但没有人会说ZIP在思考。
更谨慎的说法是:智能至少包含一种能力——
抓住世界里可预测的结构。
这也是“压缩即智能”最值得琢磨的地方。
它不是说,只要能压缩,就拥有智能。
而是说,如果一个系统真的能把复杂世界里的规律压进一个更短的表示里,并且能在新上下文里继续用它预测,那它至少已经碰到了智能的一部分。
这时再回头看开头那张画面,就不只是香农和贝蒂在家玩猜字母了。
贝蒂猜对的地方,香农画一个短横。七十多年后,大语言模型猜对的地方,loss降低一点。
短横变成了loss,书页变成了互联网。
坐在桌边猜字母的人,变成了GPT。
它们都在回答同一个问题:
下一个符号,能带来多少惊讶!
[1]https://www.youtube.com/watch?v=l6DKRf-fAAM&t=745s
热门跟贴