在过去几年中,机器学习领域取得了迅猛进步,创造了人工智能的一个新的子领域:生成式人工智能。这些程序通过分析大量的数字化材料产生新颖的文本、图像、音乐和软件,我将这些程序简称为“GAIs”。
革命开始
第一波GAIs主要致力于进行自然语言对话。被称为“大型语言模型”(LLMs)的这些模型已经展示出在各种任务上超凡的表现,拥有超越人类的能力,同时也显示出对虚假、不合逻辑的倾向,以及表达虚假情感的倾向,比如对对话者表达爱意。它们用通俗的语言与用户交流,并轻松解决各种复杂问题。
但这只是GAI革命的开始。支撑GAIs的技术是相当通用的,任何可以收集和准备进行处理的数据集,GAIs都能够学习,这在现代数字世界是一个相对简单的任务。
AGI vs GAI
AGI(人工通用智能)与GAI(生成式人工智能)不可混淆,AGI一直是科学家们世代追求的幻想,更不用说无数科幻电影和书籍了。值得注意的是,答案是“有条件的肯定”。在实际应用中,这些系统是多才多艺的“合成大脑”,但这并不意味着它们具有人类意义上的“思想”。它们没有独立的目标和欲望、偏见和愿望、情感和感觉:这些是独特的人类特征。但是,如果我们用正确的数据对它们进行训练并指导它们追求适当的目标,这些程序可以表现得好像具有这些特征一样。
GAIs vs 早期构建智能机器
GAIs可以被指示执行(或至少描述如何执行)你几乎能想到的任何任务……尽管它们可能会耐心地解释,它们是万事通,也是大多数领域的专家。
LLMs只是进行统计单词预测,根据你提供的提示的上下文选择下一个最有可能的单词。但这种描述充其量是过于简化了,并掩盖了更深层次的真相。
LLMs是在大量信息的基础上进行训练的。它们处理并压缩其庞大的训练集,形成一种被称为神经网络的紧凑表示,但该网络不仅仅代表单词——它代表了它们的意义,以一种称为嵌入的巧妙形式表达出来。
LLM了解其“世界”(在训练阶段);然后,它评估您提示的含义,选择其答案的含义,并将该含义转换为单词。
什么是人工智能?这是一个容易问出但难以回答的问题,有两个原因。首先,对于智能是什么,人们几乎没有达成共识。其次,凭借目前的情况,很少有理由相信机器智能与人类智能有很大的关系,即使看起来很像。
人工智能(AI)有许多提议的定义,每个定义都有其自己的侧重点,但大多数都大致围绕着创建能够表现出人类智能行为的计算机程序或机器的概念。学科的奠基人之一约翰·麦卡锡(John McCarthy)在1955年描述了这一过程,“就像制造一台机器以人类的方式行为一样”。术语“人工智能”起源于何处?“人工智能”一词的首次使用可以归因于一个特定的个人——约翰·麦卡锡(John McCarthy),他是一位1956年在新罕布什尔州汉诺威达特茅斯学院(Dartmouth College)的助理数学教授。与其他三位更资深的研究人员(哈佛大学的马文·明斯基、IBM的内森·罗切斯特和贝尔电话实验室的克劳德·香农)一起,麦卡锡提议在达特茅斯举办一次关于这个主题的夏季会议。早期人工智能研究者是如何解决这个问题的?
在达特茅斯会议之后,对该领域的兴趣(以及某些领域对它的反对)迅速增长。研究人员开始着手各种任务,从证明定理到玩游戏等。一些早期的突破性工作包括阿瑟·塞缪尔(Arthur Samuel)于1959年开发的跳棋程序。
当时许多演示系统都专注于所谓的“玩具问题”,将其适用性限制在某些简化或自包含的世界中,如游戏或逻辑。这种简化在一定程度上受到当时有限的计算能力的驱使,另一方面也因为这并不涉及收集大量相关数据,而当时电子形式的数据很少。机器学习是什么?
从其早期起源开始,人工智能研究人员就认识到学习能力是人类智能的重要组成部分。问题是人们是如何学习的?我们能否以与人类相同的方式,或至少与人类一样有效地编写计算机来学习?
在机器学习中,学习是中心问题——顾名思义。说某物被学习了意味着它不仅仅被捕捉并存储在数据库中的数据一样——它必须以某种方式表示出来,以便可以加以利用。一般来说,学习的计算机程序会从数据中提取模式。
大型语言模型(LLMs)
大型语言模型(LLMs)是一种生成人工智能系统,用于以纯文本形式生成对问题或提示的回应。这些系统使用专门的多层次和多方面的神经网络,在非常大的自然语言文本集合上进行训练,通常从互联网和其他合适的来源收集而来。
训练一个LLM可能非常耗时和昂贵——如今,最常见的商业可用系统在数千台强大处理器上同时训练数周,耗资数百万美元。但不用担心,这些程序通常被称为“基础模型”,具有广泛的适用性和长期的使用寿命。它们可以作为许多不同类型的专业LLM的基础,尽管直接与它们交互也是完全可能的(而且很有用和有趣)。
LLM完成了对大型文本语料库的“基础训练”后,就要进入“修身养性”的阶段。这包括向它提供一系列示例,说明它应该如何礼貌地和合作地回答问题(响应“提示”),以及最重要的是,它不被允许说什么(当然,这充满了反映其开发者态度和偏见的价值判断)。与初始训练步骤形成对比,初始训练步骤大多是自动化过程,这个社交化步骤是通过所谓的人类反馈强化学习(RLHF)来完成的。RLHF就是其名,人类审查LLM对一系列可能引起不当行为的提示的反应,然后一个人向它解释回应的问题(或禁止的内容),帮助LLM改进。
完成训练后,LLM接受用户(你)的提示或问题作为输入,然后对其进行转换,并生成一个回应。与训练步骤相比,这个过程快速而简单。但是它是如何将你的输入转换为回应的呢?
它们将这种“猜测下一个词”的技术扩展到更长的序列上。然而,重要的是要理解,分析和猜测实际上不是在词本身上进行的;而是在所谓的标记上进行的——它们代表词的部分,并且这些标记进一步以“嵌入”形式表达,旨在捕捉它们的含义。大型语言模型(LLMs)如何工作?
简化的单词级解释忽略了LLMs如何在我们今天的计算机类别中表示这些大量的单词集合。在任何现有或想象中的未来计算机系统中,存储数千个单词的所有可能序列都是不现实的:与之相比,这些序列的数量使得宇宙中的原子数量看起来微不足道。因此,研究人员重新利用了神经网络的试验和真实方法,将这些巨大的集合减少为更易管理的形式。
神经网络最初被应用于解决分类问题——决定某物是什么。例如,您可能会输入一张图片,网络将确定它是否是狗还是猫的图像。为了有用,神经网络必须以一种使相关的输入产生相似结果的方式压缩数据。
什么是“嵌入”?
LLMs将每个单词表示为一种特定形式的向量(列表),称为嵌入。嵌入将给定的单词转换为具有特殊属性的向量(有序数字列表):相似的单词具有相似的向量表示。想象一下,“朋友”,“熟人”,“同事”和“玩伴”这些词的嵌入。目标是,嵌入应该将这些单词表示为彼此相似的向量。这通过代数组合嵌入来促进某些类型的推理。
单词嵌入的一个缺点是它们并不固有地解决多义性的问题——单词具有多个含义的能力。处理这个问题有几种方法。例如,如果训练语料库足够详细,单词出现的上下文将倾向于聚合成统计簇,每个簇代表同一个单词的不同含义。这允许LLM以模棱两可的方式表示单词,将其与多个嵌入相关联。多义性的计算方法是一个持续研究的领域。单词嵌入是如何表示含义的?
当您想知道一个词的含义时,您会怎么做?当然是查字典。在那里,您会找到什么?关于词义的描述,当然是用词语表达的。您读了定义后相信您理解了一个词的含义。换句话说,就是,通过与其他单词的关系来表示单词的含义通常被认为是语义的一种满意的实际方法。
当然,有些词确实指的是现实世界中的真实事物。但是,如果您只是在单词的领域内工作,那么事实证明这并不像您想象的那么重要。在相互关联的定义的混乱中有太多的内在结构,以至于您关于给定单词的几乎所有需要知道的东西都可以通过它与其他单词的关系来编码。人工神经网络(ANN)
人工神经网络(ANN)是受到真实神经网络的某些假定组织原则启发的计算机程序,简而言之,就是生物大脑。尽管如此,人工神经网络与真实神经网络之间的关系大多是希望的,因为对大脑实际功能了解甚少。
人工神经网络中的神经元通常组织成层。底层也称为“输入”层,因为我们要将要分类的图片输入到这里。现在就像真正的神经元一样,我们必须表示每个输入神经元是否被激活(“发射”)或不被激活。其他内部层是行动发生的地方。这些被称为“隐藏”层,因为它们夹在输入层和输出层之间。每个隐藏层中的神经元与它们上面和下面的层中的所有神经元相连。这些相互连接被建模为数值权重,例如,零表示“未连接”,一表示“强连接”,负一表示负连接。
神经网络的工作原理如下:我们根据要分类的图片设置输入(底层)级别的神经元的值。然后对于上一级的每个神经元,我们通过计算下一级神经元与较低级神经元之间的连接的权重乘积来计算其激活值。我们继续这个过程,从每一级横跨,然后向上一级工作。当我们到达顶部时,如果一切都按预期进行,顶层的一个神经元将被高度激活,而另一个不会,这就给了我们答案。
Transformer
Transformer是一种特殊类型的神经网络,通常用于大型语言模型(LLM)。当一个Transformer模型被给予一句话进行处理时,它不会单独查看每个单词。相反,它一次查看所有单词,并为每对单词计算一个“注意分数”。注意分数确定了句子中每个单词应该对其他每个单词的解释产生多大影响。
例如,如果句子是“猫坐在垫子上”,当模型处理单词“坐”时,它可能会更多地关注单词“猫”(因为“猫”是坐的对象),而对单词“垫子”关注较少。但是当处理单词“上”时,它可能会更多地关注“垫子”。
当你要求LLM回答问题时,类似的过程也会发生。LLM首先将您的单词转换为嵌入,就像它对其训练示例所做的那样。然后,它以相同的方式处理您的询问,使其能够专注于输入的最重要部分,并使用这些来预测如果您开始回答问题,则输入的下一个单词可能是什么。Transformer vs 词嵌入
Transformer模型利用词嵌入来表达语言中的复杂概念。在Transformer中,每个单词都被表示为一个高维向量,而这些向量在表示空间中的位置反映了单词之间的语义关系。例如,具有相似含义的单词在表示空间中可能会更加接近,而含义不同的单词则会相对远离。
通过使用这种高维表示,Transformer能够更好地理解和生成自然语言。它们通过学习大量文本数据,自动调整词嵌入向量的参数,使得模型能够根据上下文理解单词的含义,并生成连贯的语言输出。Transformer模型中的注意力机制允许模型集中注意力于输入中与当前任务相关的部分,从而提高了模型在处理长文本序列和复杂语境中的性能。什么是token?
在语言模型中,"tokens"是指单词、单词部分(称为子词)或字符转换成的数字列表。每个单词或单词部分都被映射到一个特定的数字表示,称为token。这种映射关系通常是通过预定义的规则或算法完成的,不同的语言模型可能使用不同的tokenization方案,但重要的是要保证在相同的语境下,相同的单词或单词部分始终被映射到相同的token。
大多数语言模型倾向于使用子词(tokenization),因为这种方法既高效又灵活。子词tokenization能够处理单词的变形、错字等情况,从而更好地识别单词之间的关系。
幻觉
幻觉是指LLMs在回答问题或提示时,并不会查阅其训练时接触到的所有词序列,这是不切实际的。这意味着它们并不一定能够访问所有原始内容,而只能访问那些信息的统计摘要。与你一样,LLMs可能“知道”很多词,但它们无法重现创建它们的确切序列。
LLMs很难区分现实和想象。至少目前来说,它们没有很好的方法来验证它们认为或相信可能是真实的事物的准确性。即使它们能够咨询互联网等其他来源,也不能保证它们会找到可靠的信息。
全部0条评论
快来发表一下你的评论吧 !