通往AGI之路:ChatGPT背后的逻辑,压缩即智能

This article is not available in the current language yet. Showing the original version.
机器学习到底是什么?机器学习的最早由贝叶斯在1783年发表的同名定理中提出。贝叶斯定理是从训练数据中学习,以便对新的、未见过的数据做出尽可能好的预测。说白了就是我们俗话说的"举一反三"。

通往AGI之路:ChatGPT背后的逻辑,压缩即智能

我思,故我在

上个月在山海坞 women code camp,我作为讲师分享了一期《通往 AGI 之路:压缩即智能》,发现大家对AIGC 和大模型都非常感兴趣,但是当时很多小伙伴反应没听懂,所以写了这一篇白话讲解。希望能够对 AIGC 感兴趣的您有所帮助。如果您需要更深入的了解,请在阅读完本文后参考Jack Rae(OpenAI 团队核心成员)在斯坦福的主题演讲:Compression for AGI(https://www.youtube.com/watch?v=dO4TPJkeaaU),这也是本文的主要参考文献。

1 从机器学习说起

机器学习(Machine learning),对于非计算机背景的朋友来说或许有些陌生。但是我们生活的方方面面都已经被机器学习覆盖。比如,当我们打开知乎、抖音、小红书等软件的时候,系统会自动推荐我们可能感兴趣的内容;当我刚和朋友聊到想买一某品牌的裙子时,打开淘宝就发现搜索推荐已经变成了该品牌;邮件系统会帮我们自动屏蔽垃圾邮件;交通摄像头拍摄司机的行驶照片来推断是否有违规行为。这些都得益于机器学习。

那么机器学习到底是什么?机器学习的最早由贝叶斯在1783年发表的同名定理中提出。贝叶斯定理是从训练数据中学习,以便对新的、未见过的数据做出尽可能好的预测。说白了就是我们俗话说的"举一反三"。

它是让计算机在没有明确编程的情况下进行自我学习的一门学科(Arthur, 1959),属于人工智能的子领域。有些事情我们通过明确的编程就可以完成,比如计算188的12次方,或者 a 到 b 的最短距离。但是有一些问题,明确的编程就无法帮到我们。

例如我们希望计算机能够成为一个优秀的围棋选手,可以给计算机编程,让计算机自己与自己下棋,对弈一万次以后,计算机就可以通过观察,在一个残局中,落子在某个位置的胜率大于其他位置,那就是程序会选择的位置。因为计算机强大的算力,它可以在短时间内完成无数次的对弈局数,所以会越来越知道怎样能取得胜利,最终成为超过人类的棋手。让机器自己去学习找到最佳方案,就是机器学习的过程,但是机器到底学到了什么?这是一个黑盒,我们只能通过输入获得一个输出结果。

机器学习算法按照学习方式可以分为四种:监督学习(Supervised learning),无监督学习(Unsupervised learning), 半监督学习(Semi-supervised Learning)和强化学习(Reinforcement learning)。其中使用最多的是监督学习,但是 ChatGPT 却选择了强化学习作为核心算法。

2 强化学习VS监督学习

既然监督学习是主流算法,为什么 OpenAI 却选择了强化学习?这里首先跟大家介绍一下两者的概念。

监督学习是指学习输入到输出之间映射的算法,它可通过用户提供的例子来学习。例如,我们经常发现有些邮件被自动拦截进入垃圾箱,那么系统是如何判断一封邮件是否是垃圾邮件呢?这就用到了监督学习,首先工程师们需要给算法投喂大量带有标签的数据,这个例子中一封邮件可作为输入,对应的输出结果有两类,是垃圾邮件和不是垃圾邮件(Yes/No,即标签)。假设我们喂了10万条数据,算法就会根据这十万条数据自己学习垃圾邮件的特征。这时候当我们给它输入一条全新的邮件时,它就会根据之前训练的模型判断新邮件是否符合垃圾邮件的特征,从而决定需不需要进行拦截。

强化学习更像是一种奖励反馈机制。在强化学习中,我们为模型提供输入,但并不提供正确答案。模型需要自己生成答案。然后请真人读取生成的答案,并给出答案的得分(比如1-100分得80分)。模型的目标是如何回答以获得高分。另一种机制是模型生成多个答案,评分机制告诉模型哪个答案最好。模型的目标是学习生成高分的答案,而不是低分的答案。在这两种情况下,模型都是通过生成答案并接收反馈来学习。

相比之下,监督学习只允许正反馈(我们向模型输入一系列问题及其正确答案),而强化学习允许负反馈(模型可以生成错误的答案并得到反馈说"这个回答不好,下次不要这样了")。正如真人在学习过程中发现的,相比正反馈,负反馈也同样重要。这很可能是 OpenAI选择RLHF训练(即基于人类反馈的强化学习训练)的原因。

仔细想想,这是不是和人类的学习方式非常像,我们学习的时候也是通过获取大量的知识,然后考试来检测学习的情况,最终将获取的知识应用在新的场景(迁移学习,这也是 GPT 的底座之一)。因此,这一轮的 AIGC 也被认为已经无限接近接近 AGI(通用人工智能)。

3通往 AGI 之路

简单来说,AGI 就是是具备与人类同等智能、或超越人类的人工智能。是不是觉得ChatGPT已经有那味了。但是怎么去判断人工智能的智能程度呢?

1980年,John Searle提出了一个著名的思想实验《中文房间》。实验过程可以表述如下:

将一个对中文毫无了解,只会说英语的人关在一个只有一个小窗的封闭房间里。房间里有一本记录着中英文翻译的手册。房间里还有足够的稿纸、铅笔。同时,写着中文的纸片通过小窗口被送入房间中。房间中的人可以使用他的书来翻译这些文字并用中文回复。虽然他完全不会中文,但通过这个过程,房间里的人可以让任何房间外的人以为他会说流利的中文。

这样一个庞大的手册显然代表着非常低的智能水平,因为一旦遇到手册中没有的词汇,这个人就无法应对了。如果我们能够从大量的数据中提取出一些语法和规则,那么手册可能会变得更加精简,但是系统的智能水平将会更高(泛化能力更强)。

手册越厚,智能越弱;手册越薄,智能越强。就好像公司雇一个人好像能力越强的人,你需要解释得越少,能力越弱,你需要解释得越多。

上面这个例子就很好的解释了为什么压缩即智能:想要提高 AI 的智能程度,可以通过泛化提取规则,提取出需要的有效信息。这样你就可以理解 NLP 研究者们经常说的一句话:GPT 的训练过程是对数据的无损压缩。

4 压缩即智能

2月28日,OpenAI 的核心研发人员 Jack Rae 在参加 Stanford MLSys Seminar 的访谈时进行了一个名为 Compression for AGI 的主题分享,其核心观点为:AGI 基础模型的目标是实现对有效信息最大限度的无损压缩。并同时给出了为什么这个目标是合理的逻辑分析,以及 OpenAI 是如何在这个目标下创造了 ChatGPT。

通往AGI之路:ChatGPT背后的逻辑,压缩即智能

泛化就是从已知推到未知的过程。如图所示,我们关心的核心问题是如何从已有数据中(黄色),了解到未知数据的规律并做出预测(灰色)。一个模型越能够准确预测灰色部分,它的泛化能力就越强。

想象一个电脑软件需要把英文翻译成中文,如果它是通过查找字典把所有可能的词组翻译成中文,那么我们可以认为它对翻译任务有着最差的理解,因为任何出现在字典之外的词组它都无法翻译。但如果将字典提炼为较小的规则集(例如一些语法或基本的词汇),那它将会有更好的理解能力,因此我们可以根据规则集的压缩程度对其进行评分。实际上,如果我们可以把它压缩到最小描述长度,那么我们可以说它对翻译任务有着最好的理解。

对于给定的数据集 D,我们可以使用生成模型 f 对其进行压缩,图中 | D | 表示数据集 D 的无损压缩,无损压缩的大小可以表示为对 D 评估的生成模型的负对数似然加上估计函数的最小描述长度。

通往AGI之路:ChatGPT背后的逻辑,压缩即智能

那么大模型是如何实现无损压缩的呢?我们需要先了解 GPT 的本质。GPT 其实就是基于 Transformer 的大字典,本质是就是 Next Token Prediction(下文推理)。简单说就是预测一个给定的文本序列后最后可能出现的词或词组。比如说我现在说:"你昨晚睡得",话没说完,这个时候你就知道我大概率要说:"你昨晚睡得好吗?"推理出我要接着说"好吗 "的过程就是下文推理。

你可能会说很明显这样学到的不就是单词之间的表层统计关系吗?怎么就产生了智能?

假设你需要将一些数据从遥远的半人马座星系传输回地球,但是带宽非常珍贵,你需要用最少的带宽来传输数据,并且保证另一端可以无损地恢复你的数据。你可以采用这个方法:

首先,准备一个语言模型的训练代码,每次运行时都会生成相同的神经网络模型。

其次,在N条数据上运行训练程序,在t时刻,将在所有token概率分布Pt下的,Xt的概率取出,并使用算术编码将其转换为二进制小数,记为Zt。以此类推,得到一个由Z1,Z2,Z3,...,Zn构成的列表。

如果要在另一端无损地还原这N条数据,只需传输以下两个内容:Z1-Zn的列表和语言模型训练代码。

在接收端进行解码时,我们使用收到的训练代码初始化网络。在时间戳t时刻,模型使用Pt对Zt进行算术解码得到Xt。需要注意的是,t时刻的token概率分布Pt在发送端和接收端是完全一致的。

整个过程是一个无损的数据压缩过程,基于语言模型的训练代码,我们将N条数据压缩成了Z1-Zn的一串数字,每个压缩后的数据大小为-logp(x)。需要注意的是,在整个过程中,我们不需要发送整个神经网络(几百上千亿参数)。

因此,使用语言模型来压缩数据集D的总比特数可以表示为以下公式:

通往AGI之路:ChatGPT背后的逻辑,压缩即智能

一个基于transformer模型的描述长度大概在100kb ~ 1MB之间(所有必要的代码大小)。模型的参数不属于模型的描述长度。

我们常常觉得chatgpt在关于事实性问题上错误百出,比如说问他刘慈欣是哪个城市的,模型还是会答错。这是因为在训练过程中,模型慢慢地记住了一些训练数据,模型的参数可以近似看成是一个对于训练数据的有损数据压缩,这也是特德·姜在《ChatGPT是网上所有文本模糊的图片》的意思。LLM是对于原始数据集的无损压缩,这是非常具体的数学上可以严格证明的。特德·姜说的有损压缩,是一种非常抽象的文学上的类比。

还记得这张图吗,我们关心的不是黄圈里面的内容,而是外面灰色的部分,因为我们关心如何用更少的内容来获取更多的知识,也就是泛化能力。相比于堆参数量,泛化才是智能!

通往AGI之路:ChatGPT背后的逻辑,压缩即智能

 

Share to:

Author: 一只泡芙

Opinions belong to the column author and do not represent PANews.

This content is not investment advice.

Image source: 一只泡芙. If there is any infringement, please contact the author for removal.

Follow PANews official accounts, navigate bull and bear markets together
PANews APP
US stocks closed mixed, with HOOD rising over 8.70%.
PANews Newsflash