在当今的数字时代,人工智能 (AI) 和自然语言处理 (NLP) 是我们经常遇到的术语。他们可怕吗?它当然出现在新闻中,但对其运作方式存在许多误解。
从我们智能手机的语音助手到我们在发送消息时收到的预测文本提示,这些技术影响着我们的日常生活。
大型语言模型(LLM)可以为复杂的 AI 聊天机器人系统提供支持,通常被称为生成式人工智能,因为它们生成内容,在这种情况下,它们通过根据起始文本预测文本来生成内容。大公司已经向所有人提供了这些,比如 Google 的 Bard,而 Microsoft Bing AI Chat 已经集成了 OpenAI 的 ChatGPT-4。
但它们实际上是如何运作的呢?
让我们深入研究 AI 和 NLP 的世界,用通俗易懂的英语揭开它们的机制的神秘面纱。我们将从基础知识开始,将其扩展到自然语言,然后看看它如何让我们得到似乎智能响应的大型语言模型 (LLM)。
传统的函数方法
想象一下,您的任务是根据某些属性预测房屋的价格。
您可能会想到影响房价的主要特征:平方英尺、浴室数量、卧室数量和邮政编码。估价师经常这样做,而这个预测将依赖于一个数学公式:
每平方英尺 (a) 的价格因邮政编码而异
房价 = (a × 平方英尺) + (b ×浴室数量) + (c ×卧室数量)
其中,a、b 和 c 是通过研究或专业知识确定的常数。例如,一间浴室可能会使房屋的价值增加 10,000 美元,使 b 等于 10,000 美元。
神经网络方法:一种不同的函数
神经网络的核心工作原理类似,但规模更大。
神经网络是通用的,用于任何类型的问题,因此您无法知道示例中的输入是平方英尺、浴室数量、卧室数量等。
相反,每个特征都乘以您确定的常量(例如上面的 a、b 和 c),然后保存该数字。
该过程对新版本的 a、b 和 c 重复多次,以创建大量中间数字,称为神经网络“层”。在预测房价的最终计算之前,可以重复任意次数。
这些层的存在是为了捕捉房价实际确定方式的细微差别。
一个全面的系统将考虑许多其他因素,例如建造年份、车库的存在、可用土地空间、车道的状况、交通密度和学区的质量等。这种复杂程度需要一个足够复杂和通用的方程,能够容纳所有这些变量。
挑战在于确定如何更新所有 a、b、c 等值以在计算中发挥作用。
尽管我们将其可视化为神经网络,但归根结底,它仍然是一个大型代数方程,其特点是简单的加法和乘法运算。
利用微积分,我们可以精确确定每个因素如何导致房价预测中的任何不准确。然后,我们可以返回并对每个变量进行微调,以提高神经网络预测房价的准确性。经过数千甚至数百万次迭代,此调整算法会逐步微调神经网络的内部值。
这种通过微调来调整所有这些常数的过程称为训练或数学反向传播,这就是神经网络的学习方式。没有完美的值,因为我们试图找到在所有情况下提供最小误差的值,以获得广义解。
值得注意的是,该模型没有收到有关每个因素如何影响房价的明确说明。相反,它通过数学计算从数据中“学习”这种错综复杂的关系。
想象一下教某人预测房价。
最初,他们的猜测可能是随机的。然而,随着反复接触房屋和诸如“这个因为 X 而更有价值”或“这个因为 Y 而更不有价值”之类的解释,他们的估计值会提高。神经网络遵循类似的学习过程,但采用系统的数学方式。
从本质上讲,传统方法要求我们明确设置规则或公式,而神经网络则自主地逐步从示例和数据中学习。这种能力是现代人工智能的基石。
了解自然语言处理:预测下一个单词背后的魔力
从简单开始:从一个单词进行预测
让我们从一个有趣的游戏开始。
如果我说出 “orange” 这个词,并让你预测下一个词,该怎么办?您可以仅根据经验建议“juice”或“peel”。
计算机可以使用简单的概率函数预测下一个单词。通过分析大量文本,它可能会确定在单词 “orange” 之后,单词 “juice” 出现的时间是 20%,而 “peel” 出现的时间是 5%,并使用这些概率进行预测。这是一种称为马尔可夫链的简单机器学习形式。
两个词:缩小可能性
如果我在让您预测下一个单词之前添加了第二个单词,并提示“美味的橙子”,该怎么办?
这一次,您可能更加相信 “juice” 可能是下一个,但您可能认为 “marmalade” 仍然有机会。第二个词提供了更多的上下文,从而提高了预测的准确性。我们还可以延长马尔可夫链以容纳两个单词。
然而,在这种情况下,出现了一个非常重大的挑战。
设想为英语中每个可能的双词配对构建一个巨大的概率表 — 可能的组合数量非常庞大。存储如此广泛的数据集既低效又不切实际,而且随着我们扩展序列以包含更多单词,复杂性只会加剧。
记住上下文的神经网络
想象一下,按照前面部分的说明创建一个神经网络,旨在在单个单词提示后预测下一个单词。
为了将其预测能力扩展到单个单词之外,我们让初始网络不仅预测下一个单词,还生成一组额外的数值,基本上在神经网络中形成另一个层。通过在句子上训练模型,它变得更擅长预测前面单词序列之后的单词。因此,训练过程使这些额外的数值能够用作保留句子上下文的一种手段。
例如,当模型不仅拥有有关第二个单词的信息,还包含有关第一个单词的信息时,预测第三个单词会得到改进。因此,模型经过训练以通过这些值传输上下文。随着训练的深入,它传达上下文的能力会增强。这种方法被称为长短期记忆 (LSTM),这是其创建者为增强神经网络中的上下文理解而设计的一种方法。
将 LSTM 视为一个聪明的图书管理员,它不会记住您说的每一个字,而是记住您对话的要点或主要思想。如果你发送 LSTM,“I would like a cup of delicious orange...”,它不会单独记住每个单词,而是将其作为上下文传递。
相反,它抓住了本质,比如 “有人想要一杯与橙子有关的饮料”。它还包含有关句子中已经表达的内容的上下文。考虑到这个上下文,它可以更有效地预测下一个单词。
LSTM 的美妙之处在于它能够根据其相关性“传递”或“忘记”信息。所以,如果你句子的下一部分谈到了橙子的历史,LSTM 可能会保留你在讨论橙子,但忘记了饮料的上下文。
外推到大型语言模型
花点时间想一想高级模型(如 LSTM)的功能。这些模型以复杂的方式进行扩展和组合,可以访问大量文本 — 人类所写的一切。输入 ChatGPT 等高级模型和其他大型语言模型 (LLM)。
LLMs 增加了其他额外的复杂性,例如在音节级别进行预测或其他方式来跟踪对对话上下文很重要的内容,称为“注意力”。他们如何预测每个步骤的复杂性略有增加,但它仍然是一个神经网络,它使用数学根据已经说过的内容来预测链条中的另一个步骤。
这一切的高潮是 LLMs 记住单词上下文,但也理解细微差别、文化参考、习语等等。这一切都归功于它看到的训练数据。
通过学习几乎所有现有的人类文字,这些模型在理解和生成类似人类的文本方面变得非常熟练。最初是预测下一个单词的简单游戏,现在已经演变成机器理解自然语言并与我们互动,弥合了人类交流和计算机处理之间的鸿沟。LLM 可能看起来像是推理,因为它正在预测人类在面对需要推理的情况时会写的下一个单词。这可以在模型中捕获。
归根结底,LLM 是一个巨大的数学方程式,它会反复预测下一个单词或音节,使其能够生成响应。要达到这一熟练程度,需要数十亿、接近数万亿个 a、b、c 类型的参数,以及许多高端计算机协同工作大约三年的计算时间。所有这些都旨在完善其做出高度准确的写作预测的能力。
结论
人工智能和自然语言处理的核心是关于模式和预测。无论是估算房价还是预测句子中的下一个单词,这些技术都可以利用大量数据做出明智的决策。这些概念可能看起来很未来主义,但它们的本质是建立在基础数学和迭代学习的基础上的。随着技术的发展,我们与机器的互动变得越来越无缝,这说明了人类聪明才智的奇迹和未来创新的前景。