为了账号安全,请及时绑定邮箱和手机立即绑定

压缩就是泛化,泛化就是智能——大型语言模型的无监督学习

大型语言模型中的压缩预测性

这篇文章探讨了Transformer模型架构所实现的——无监督学习的魅力,这种学习方式让大语言模型具备了接近人类水平的理解能力,比如推理和泛化。

Ilya Sutskever,作为一名知名的 GPT 研发者和技术总监,无疑是机器学习和大型语言模型领域中的顶尖专家之一,他谈到无监督学习可能是机器学习中最重要的部分,可以说是机器学习的圣杯,也是最终目标。

在 OpenAI 的时候,希望是,如果有一个神经网络能预测下一个单词,它就能解决无监督学习的问题。所以在 GPT 之前,无监督学习在当时被认为是机器学习领域的圣杯……

他这里提到的不是自监督学习,即利用下一个词作为训练中的隐含标签,而是指更深层次和变革性的概念,暗示了无监督学习在解锁人工智能新领域方面的巨大潜力。他接着说,这个问题最终是通过Transformer神经网络解决的。

但是我们的神经网络无法胜任这项任务。我们当时使用的是循环神经网络。当 Transformer 出现时,几乎就在论文一发表的第二天,我们就明白,Transformer 解决了循环神经网络在学习长期依赖方面的局限……这最终导致了 GPT-3 的出现,这就是我们现在所处的位置。-Ilya Sutskever

围绕生成式人工智能的热情和广泛的乐观及应用,源自大型语言模型(LLMs)的强大能力。这些模型经过万亿字词的训练,不仅能够预测下一个单词,还能做更多事情。它们能够模拟世界,从而可以在各种任务中泛化。这种非凡的能力来自于无监督学习

在这篇文章中,我旨在通过压缩理论柯尔莫哥洛夫复杂性的视角来探讨这一现象。尽管存在其他解释,如香农的信息论和编码理论(侧重于熵和信息内容)或PAC-Bayes框架(通过连接泛化到概率密度函数的库尔背勒-列夫勒散度),尽管这些方法在数学上较为复杂,但不够直观。相比之下,压缩理论提供了一个更加直观和相关的框架,有助于我们理解这些模型为何能达到如此显著的效果。

超越统计概率分布的计算工具

大型语言模型(LLM,大型语言模型)通常被认为是一种统计系统,它们计算词汇表中各个词语的概率分布,利用学到的注意力机制根据上下文预测下一个词汇。

这就是它们的工作原理,而这一现象如此普遍,以至于大多数人和许多专家依然认为大规模语言模型的各种能力只不过是挑选概率密度函数的高级形式。这在早期和较小的模型如GPT-2上尤为明显。但随着模型和训练数据的指数级增长,泛化和推理等涌现特性也开始显现,这些特性无法仅靠无监督学习来解释。

这些较晚和规模更大的模型,如GPT3/4、Gemini、LLAMA2/3等,生成富有创意、逻辑清晰且语境丰富的回应的能力,已经超出了单纯计算概率密度函数的范围。这些能力源于它们训练过程中的涌现特性——这些特性类似于人类的推理和理解。虽然有许多AI研究人员撰写的论文,但这一主题通常仍然依靠经验性的方式讨论,证据也较为主观,因此依然存在争议。

确实,像GPTs和LLaMAs这样的大规模语言模型是通过它们的自回归架构来预测下一个标记的概率。但是,仅仅关注这种机制,类似于声带产生人类语音的方式,忽略了它们能力的核心。理解声带的机制并不能完全解释所说话语的意义或创意。同样,真正有趣的是,模型如何在无限可能中选择最符合上下文的概率。

为了研究这一点,我们旨在探讨这些新兴性质或特性背后的技术基础,即使这些特性经常被描述为类似“推理”和“理解”这样的模糊术语。

有监督学习

监督学习很简单:它是通过标记数据来学习的。最大的标记数据集的一个最佳例子是ImageNet。ImageNet项目收集了大量标记的图像数据,帮助了2012年由[Ilya Sutskever、Alex Krizhevsky和Geoffrey Hinton]推出的[AlexNet],革新了计算机视觉,并开启了深度神经网络的革命。

监督学习效果显著。几乎所有的机器学习应用都是基于监督学习的。

“深度学习的所有令人印象深刻的成绩只是曲线拟合……”。图灵奖得主朱迪亚·珀尔对AI和机器学习系统的批评。他正是因果推理形式化研究的领军人物。

有了足够的标注数据,这些AI/ML系统将学会逼近任何复杂的多变量函数。它们是通用函数近似器。它们成为很好的特征提取器,从而将特征与目标标签关联起来。

有监督学习的限制

监督学习的一个问题是,标注大量的数据需要投入大量的时间和精力,训练模型的过程也是如此。

更大的问题是这种方法与人类的学习方式不一致,而且标注每一种意图、目的或概括是不切实际的,甚至可以说是不可能的。

监督学习的局限性在类比中变得显而易见:即使使用最先进的卷积神经网络进行训练,一个在标记的狗和猫的图像上训练的系统,仍然难以将这两个类别归为更广泛的“动物”概念,即使“动物”这一标签明确标记在图像上。这突显了仅通过监督学习方法难以捕捉高层次抽象概念的固有难题。

无监督学习(ML中的一个分支)

从理解并使用监督学习开始,很多人不自觉地将无监督学习等同于像K-Means聚类或PCA这样的算法。然而,在神经网络的情况下,普遍存在一个通过计算期望值与生成值之间的差异来优化的成本或损失函数。所以,无论何时都需要一个期望值或目标值。聚类、主成分分析等算法属于经典机器学习领域,与神经网络学习没有直接关联。

自监督法

自我监督学习(SSL)是一种机器学习方式,其中模型通过从数据自动生成标签来学习。

假设神经网络需要预测前一句话。可以给它第一个词“那些,”,然后让它预测接下来的内容。假设它预测的是“和尚”,但正确的是“”。因此,可以利用这个概念来计算损失函数,使用预期的标签,而不需要显式标注数据,然后反向传播调整注意力层和最终全连接层的权重。正确的是“”。

自监督学习打开了大规模训练数据的潜力

这真正开放的是整个十五万亿标记或更多的全球互联网,包括GitHub上的代码、博客文章、Quora文章等,所有免费内容都可以作为合法的“训练集”——https://www.educatingsilicon.com/2024/05/09/how-much-llm-training-data-is-there-in-the-limit/,了解更多关于大规模语言模型训练数据的信息。

尺度感真的很重要

在规模方面有很大区别。这里的规模既指网络的规模(可训练参数的数量),也指训练数据的规模。

来源:https://research.google/blog/pathways-language-model-palm-scaling-to-540-billion-parameters-for-breakthrough-performance/

随着模型变得更大,性能在各种任务中提高,同时也开启了新的能力。

小型的GPT可以在一本书中的几个词上进行训练。然后它会根据前面的词预测下一个词,预测的词与训练数据中的词相似或完全相同。这属于自监督学习,而不是无监督学习。也就是说,模型无法理解数据中的结构或知识。例如,在这个Colab(协作)中,我用一本医学教科书训练GPT2,它会过度拟合数据并预测下一个词,但无法理解或回答相关问题。

Colab — GPT2 过拟合 - 训练一个小模型的教程

它的局限就像只训练过猫和狗图片的计算机视觉模型那样,局限于扩展“比如说 '动物' 这个概念”或去理解包含这些图像的世界。

理解无监督学习法的关键在于这种直觉,即模型和网络不仅预测下一个词;它构建了一个世界的模型,还理解了词义。

它不仅仅是这些论文暗示的随机鹦鹉或统计选择器——谈随机鹦鹉的危险:语言模型能否太大 Bender et al [1] ,GPT-3:其本质、范围、局限和影响 Floridi, Chiriatti[2]

在Sobieszek和Price的论文《GPT-3及其类似大型语言模型的限制性——与AI玩的游戏》中,提出了一个更细致和深入的看法,让我们看到无监督学习的一个特性。

关于大型语言模型中一些术语和概率相关的内容的复习。

标记、词库和LLM中的概率问题

在像GPT-3这样的语言模型中,词汇表指的是模型能够识别并用于生成或处理文本的所有词元的集合。GPT-3的词汇表包含50,257个词元。在更大的模型里,词汇表要大得多。

Tokens 是文本处理的基本单元,由模型解析。Tokens 可以代表:一个单词(例如,“apple”);单词的一部分(例如,“ap” 或 “ple”);单个字符(例如,'a' 或 'b');特殊符号(比如标点符号或控制符,例如“`”)。

当GPT-3生成文本的时候,在序列的每一步中,模型都会预测出下一个词。预测基于50,257个词(即其词汇表)的概率。选择概率最高的标记,或者根据设置(如温度)进行采样。

例如:到目前为止的文本是“我爱”。

GPT-3 会计算这 50,257 个词元的概率来确定下一个词元。它可能选择:「你」(最可能),「,」(次可能),「Python」(较不可能)。

概率并不是均匀分布的(即不是每个词汇单元都是1/50,257)。相反,GPT-3 则利用其训练所得的知识为在上下文中更有意义的词汇单元分配更高的概率。例如:

像“你”、“Python”、“,”这样的词可能会有更高的概率,因为它们是“我爱”后面常见的词汇。

像‘qzx’(如果存在的话)或这样的随机字符,出现的概率会低很多,因为它们不太可能符合语境。

作者的 GPT2 模型的可能性

这里是上面图形的Colab代码,可以运行不同的文本。Colab: LLM 下一个单词概率绘制,该Colab将会输出概率。

一个稍微不同的版本,可以看到它逐词生成,并利用生成的词来预测下一个词。Colab:下一个词的预测

解码后的上下文:我喜欢纽约市。我喜欢  
最有可能的下一个词:'the' (ID: 262 词元 4)  
上下文:我喜欢纽约市。我喜欢  
下一个词预测:'the'
                的 | ########## 0.2021  
                新 | ###### 0.1305  
                这 | ## 0.0544  
                我 | # 0.0330  
                是 | # 0.0257  
                这 | # 0.0257  
                去 | # 0.0227  
                所有 | # 0.0227  
                那 | 0.0188  
                居住 | 0.0156  
    解码的上下文: 我爱纽约。我爱这座城市  
    最大概率的词: '城市' (ID: 1748 单词 5)  
    上下文: 我爱纽约。我爱这座城市  
    下一个词预测: '城市'           城市 | ######### 0.1903  
                人们 | ## 0.0580  
                方式 | # 0.0213  
                事实 | # 0.0213  
                地方 | 0.0156  
                新 | 0.0147  
                音乐 | 0.0138  
                国度 | 0.0101  
                很棒 | 0.0079  
                文化 | 0.0079

注意:最后一层的输出会输入到softmax函数中,所有词汇标记的概率加起来等于1。在实际网络中,有一些参数如温度(Temperature)、Top-p和Top-k,这些参数用作机制来调整、限制或选择最终的概率层。关于温度参数的解释,可以参考这里https://community.wolfram.com/groups/-/m/t/2958851

要计算在输入初始字符“I”之后,使用GPT-3的词汇表中有50,257个token生成三个token的所有可能组合的总数,我们需要考虑以下内容。

在“我”之后,可能的下一个单词有50,257个,以此类推,每个单词都是如此。

可能的组合总数是 50,257×50,257×50,257。这意味着在初始词“我”之后,三个令牌的可能组合即大约 127 万亿种,但实际上可能的组合数量要少得多。

基于这种理解,让我们去索比谢克和普赖斯的那篇论文。

当GPT继续一段文本时,它会选择这些可能的标记之一,在文本后添加该标记,然后重新计算新文本延续的概率。这就是GPT-3的自回归性质……需要注意两点:(a)有许多可能的策略来遍历这些可能(例如,总是选择最可能的标记).(b) 这种过程导致可能的句子数量呈指数级增加,即使是18个标记长度的文本,GPT-3(拥有50,257词汇量)的不同输出可能性也已经超过了宇宙中的原子数量).

为了生成连贯的续文,GPT-3 的权重中必然包含了海量的信息。

然而,考虑到条件概率的数量以指数级增长需要被存储,这些信息必须首先以某种方式被压缩,并且这种压缩通常不能做到无损

我们在这类模型的压缩和训练过程中丢失的信息和所做的简化,正是这些模型局限性和所谓智能的根源。

关于与AI玩游戏:GPT-3 和类似的大型语言模型的局限性 索比谢茨克,普莱斯

通过压缩来理解无监督学习的方法。

“预测带来压缩,压缩导致泛化,泛化,进而带来计算机的智能” [3]

压缩涉及许多概念。其中一个概念是通过Kolmogorov复杂度来理解的,它衡量描述一个数据集所需最短程序的长度。最好通过一个例子来解释:

考虑一个数据集,其中包含10,000个1:

x="111111…1111" (10000个1)

压缩性高:程序 print("1"*10000) 生成一个由10000个"1"组成的字符串,比实际数据要短很多。这里的柯尔莫哥洛夫复杂度 K(x) 相对较低。

低压缩率:一个真正的随机字符串(比如传感器噪声),长度为10,000的,没有更短的表示方法。Kolmogorov复杂度K(x)大约是xxx。

这意味着如果你能压缩数据,算法需要了解数据的结构。比如 ZIP 文件。这样的文件比包含重复数据的文件更难压缩。

包含Jabberwocky诗歌的文本只能压缩到原来的40%,而一个只包含重复的‘a’的文件可以压缩到原来的90%。

alex@pop-os:~$ ls -lh . 
-rw-rw-r-- 1 alex alex 941 2023年11月18日20:08 jabberwocky.txt  
-rw-rw-r-- 1 alex alex 657 2023年11月18日20:07 jabberwocky.zip  
alex@pop-os:~$ ls -lh . 
-rw-rw-r-- 1 alex alex 899 2023年11月18日20:28 aa.txt  
-rw-rw-r-- 1 alex alex 210 2023年11月18日20:28 aa.zip

这可能会让你惊讶,但最高效的文本压缩工具是基于法布里斯·贝尔拉德开发的Transformer模型和LLM。他使用语言模型实现了极高的压缩效率。以下是一篇相关论文https://bellard.org/nncp/nncp.pdfhttps://bellard.org/nncp/nncp_v2.pdf,NNCP在文本压缩排行榜上领先https://www.mattmahoney.net/dc/text.html#1072,尽管具体的机制并未开源,因此在当前背景下可能并不相关。

另一个例子是人类的视觉,我们的眼睛和感官接收海量的信息/数据。我们的大脑可以将其压缩提炼出关键信息。

在大型语言模型中计算柯氏复杂度的近似

让我们来看看 LLAMA 2 模型。这个模型是在2万亿个token上训练出来的。假设每个token平均占用4字节,那么其大小约为8万亿字节,即大约8000GB。

根据模型参数的数量,一个13亿参数的LLAMA2模型大约是26GB,假设代码大小仅为几KB,仅计算权重大小(位模型大小=参数数量×位数/FP16)。

这是从8000GB压缩到26GB的压缩比。虽然Kolmogorov复杂度不可计算,但在这里我们可以假设其值非常高,因此模型具备良好的泛化能力。

甚至那时它也能几乎逐行地发出“Jabberwocky”(无意义的词语),最后会有一些幻觉。你可以在那里试试这个:https://api.together.xyz/playground/chat/meta-llama/Llama-2-13b-chat-hf

完成“gyre and gimble in the wabe”这一句  
没问题!这里就是你想要的路易斯·卡罗的《Jabberwocky》的全文:
    “曾是 brillig,滑溜的 toves  
    在 wabe 中旋转和打洞;  
    borogoves 都显得忧郁,  
    而 mome raths 则大声吼叫。”小心 Jabberwock,我的孩子!  
    那 frumious Bandersnatch 来了  
    他让 dewlap 无下巴,  
    并将 truncheon 直挺。他悲伤地说,  
    ‘尽管她不过是一根绒毛。’”

需要注意的是,大多数这些模型仅在全部数据集上训练一个 epoch,损失也没有接近零,因为单是训练一个 epoch 就需要很高的资源,目前还无法进行多次训练。

LLAMA2 训练损失值 https://arxiv.org/pdf/2307.09288

关于事实可能会有很多幻觉。Jabbewocky 可能是一首流行的诗,并且在训练集中多次出现,因此得到了更好的结果。请参阅《消除LLM幻觉需要重新思考泛化 Johnny Li Saksham》https://arxiv.org/html/2406.17642v1

https://arxiv.org/html/2406.17642v1

ChatGPT 4这样的大型模型,只要给定一个好开头提示,就能比较准确地再现许多段落的内容https://www.gutenberg.org/files/3618/3618-h/3618-h.htm

ChatGPT 4 模型在得到良好提示的情况下,可以准确地回忆《武器与男人》的开场,而不产生幻觉现象。

看来如果没有某种形式的压缩,系统无法仅通过其权重来存储这么多的信息。我们可能需要检查可以编码在N个权重中的信息量是否足够,但这并不容易,因为像[5]中的非压缩机制在实际计算或估计上难度很大。

大语言模型与推理能力

网上有很多逻辑推理题,要挑一个来检查模型是否真的在推理,而不是只是复述训练数据中的内容,这很难做到。

严格的方法是检查像MLMU(多任务推理)这样的基准测试得分,以及查看https://www.vellum.ai/llm-leaderboard,可以看出LLMs具有相当强的推理能力。

不过,为了举例,我尝试了一个简单荒谬的例子,希望该模型(LLAMA2 13b Chat)还没见过这个。

托马斯说,他的牛跳过了谷仓。托马斯的话可信吗?
----
托马斯在陈述一个事实,但他说的话是不可能的。牛作为大型动物,不具备飞行或跳过高结构的能力,因此托马斯关于他的牛能力的说法不能信任。

假设该模型在训练时没有见过这种提示,因为生成独特文本的方法多种多样,但它仍然能够理解上下文“托马斯声称他的牛跳过了一座谷仓”,从指令“托马斯的话能信吗?”中,它并没有只是简单地选择一个可能的答案,比如“是”或“否”,托马斯可信或不可信,而是判断一头像牛这样的大型动物是否可能跳跃或飞翔,从而认为这个说法不太可能正确,因此认为托马斯的说法不可信。

即使是较小的模型如LLAMA2 13B也有一个基本的世界模型

当然,这里有很多通过强化学习调整的因素,这可能影响了答案。但是,预测下一个单词的训练发现了概念之间意想不到的联系,而这正是无监督学习的魅力。

这种推理或理解才是让大型语言模型真正发挥作用的关键。

从一个例子出发进行辩论,往往会引发反例。我们可以延伸这个观点,即压缩需要更深入的理解,这可以作为推理的基础,即按照初始令牌的顺序排列,从而自动回答这个问题?

无监督学习GP2和GPT3的初步实验

这篇名为《语言模型是无监督多任务学习者 [6]》的论文通过实验证明了这一点:当一个足够大的大型语言模型使用足够大的数据集(如Common Crawl 或 WebText)进行训练时,其泛化能力变得非常强大,能够成功地完成许多任务,其性能与当时的最先进监督系统相当甚至更好。该论文将基于Transformer架构的GPT-2(一个具有15亿参数的模型)向世界介绍了出来,它做了一件非常了不起的事情。

“GPT-2展示了广泛的能力,包括生成高质量的条件合成文本样本。我们通过输入来引导模型,让它生成一个较长的延续文本。此外,GPT-2在无需使用这些特定领域的训练数据集的情况下,即可超越其他专门领域的语言模型。在问答、阅读理解、摘要和翻译等语言任务上,GPT-2从原始文本中开始学习这些任务,而不需要这些特定任务的额外训练数据。虽然在这些下游任务上的表现还远未达到顶尖水平,但这表明,这些任务可以从无监督技术中获得显著提升,只要提供了足够的(未标记)数据和计算资源。”https://openai.com/index/better-language-models/

这是无监督学习潜力的首次实际展示,并在实际测试中得到验证。测试排名如下——https://paperswithcode.com/paper/language-models-are-unsupervised-multitask

GPT-3 是一个拥有 1750 亿个参数的模型(《语言模型是少量样本学习者》[7]),它几乎和 GPT-2 一样训练,但训练数据更多,其在 NLP 任务的 GPT-2 基准测试中,表现有了显著提升 - https://paperswithcode.com/paper/language-models-are-few-shot-learners

通过研究涌现现象来解释无监督学习

除了压缩之外,另一种考察无监督学习特性的方法是通过“涌现”这一概念。目前这一概念尚未得到广泛认可,因为这里也有一些反对的声音。但这种情况在现在的AI和大语言模型领域中相当普遍。

2022年谷歌和DeepMind的研究论文《大型语言模型中的涌现能力》描述了这一现象:[8]

涌现是指系统中的数量变化导致行为上的质变。

如果某个能力在较小的模型中没有展现,但在较大的模型中出现,那么这个能力就是涌现性的。[8]

它指出,在各种NLP任务的基准测试中,得分会在模型规模达到一定程度后自发提升,但是没有解释这种涌现行为的具体原因。该论文和其他一些研究(例如:这篇论文)部分认为,内部表示或机制中的相变现象可能是这些涌现能力背后的原因。虽然像交叉熵损失这样的指标在训练过程中稳步改善,但这些相变现象却表现为任务性能的突然、质的飞跃,而损失曲线本身却并无显著变化。这些解释却并不直观。

大型语言模型的涌现特性 Jason Wei, Yi Tay https://arxiv.org/pdf/2206.07682

在我们有更多的理论基础来支持无监督学习方法的强大能力之前,让我们通过直觉和实践多尝试一下这种学习方法的潜力。

原作者和ChatGPT-4

参考文献

[1] 关于随机鹦鹉的风险:语言模型是否会过大——Bender等人一文 https://dl.acm.org/doi/pdf/10.1145/3442188.3445922

[2] GPT-3:其特点、应用范围、局限性及其影响 —— 弗洛里迪和基里亚蒂 https://dl.acm.org/doi/10.1007/s11023-020-09548-1

[3] 与AI玩起来,GPT-3及其类似大型语言模型的限制 Sobieszek, Price https://link.springer.com/article/10.1007/s11023-022-09602-0

[4] Ilya Sutskever, 对泛化的观察 https://youtu.be/AKMuA_TVz3A?t=490

[5] 计算训练神经网络的信息量 — 计算训练神经网络的信息量 — 计算训练神经网络的信息量 — Jeremy Bernstein (https://arxiv.org/search/cs?searchtype=author&query=Bernstein%2C+J) 和 Yisong Yue (https://arxiv.org/search/cs?searchtype=author&query=Yue%2C+Y)

[6] 语言模型是无监督多任务学习模型 — Alec Radford Jeffrey Wu https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf (GPT2,)

[7] 语言模型具有少样本学习能力 https://arxiv.org/pdf/2005.14165 [GPT-3]

[8] 大型语言模型的涌现能力,杰森·威,徐以泰 https://arxiv.org/pdf/2206.07682

[9] 消除LLM幻象需要重新审视泛化问题 Johnny Li Saksham https://arxiv.org/html/2406.17642v1

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消