人工智能本质上是矩阵和向量的计算引擎,在高维空间中找到最佳解

360影视 2025-01-13 22:40 2

摘要:人工智能的核心运作逻辑,其实是矩阵与向量之间的高维空间计算。无论是生成文本、识别图像,还是分析语音,AI模型的核心任务都是在庞大的数据空间中找到最优解。这些计算过程看似复杂,但本质上可以简化为线性代数运算——通过矩阵乘法、点积和向量变换,模型得以从海量数据中抽

人工智能的核心运作逻辑,其实是矩阵与向量之间的高维空间计算。无论是生成文本、识别图像,还是分析语音,AI模型的核心任务都是在庞大的数据空间中找到最优解。这些计算过程看似复杂,但本质上可以简化为线性代数运算——通过矩阵乘法、点积和向量变换,模型得以从海量数据中抽取特征、建立关联、生成输出。在这一过程中,变换器(Transformer)模型的出现,彻底改变了机器学习的效率与能力。GPT模型正是基于这一突破性架构,实现了从简单的语言处理任务,到如今的大规模生成任务。

GPT代表生成预训练变换器(Generative Pretrained Transformer)。其中,“生成”表示这些模型可以生成新文本,“预训练”指的是模型在大量数据上进行学习,“变换器”是核心技术,指的是一种特定的神经网络类型,是当前AI热潮背后的基础发明。

变换器可用于多种模型,例如一些模型接受音频并生成文本,或从文本生成语音。2022年,像Dolly和Midjourney这样的工具,也基于变换器,可以将文字描述转换为图像。

最初由谷歌在2017年提出的变换器,专门用于语言翻译。但后来的变种,如ChatGPT所使用的模型,训练的是通过输入一段文本(甚至可能包含图像或声音),预测接下来会发生什么。预测结果是对接下来文本片段的概率分布。

虽然一开始预测下一个单词看似与生成新文本目标不同,但通过反复预测和采样,模型可以生成更长的文本。这个过程就是你与ChatGPT互动时看到的,模型每次生成一个词。通过这个方法,GPT-3等更大的模型能生成连贯且有意义的故事,甚至能够推测出“pi生物”生活在一个数学和计算的世界里。

在变换器内部,数据流动的高层次概述是:首先,输入数据被分解成多个小片段,称为“token”。对于文本来说,这些token通常是单词、部分单词或常见的字符组合。如果涉及图像或声音,token可能是图像的一小块或声音的一小段。每个token与一个向量相关联,这个向量是一些数字,旨在编码该token的含义。

这些向量通过一个被称为“注意力模块”(attention block)的操作,这使得向量之间可以互相传递信息并更新它们的值。例如,在“机器学习模型”中,"model"这个词的意义与在“时尚模特”中的意义不同,注意力模块负责确定哪些词在上下文中与其他词的含义更新相关。

接下来,这些向量会通过另一个操作,这被称为多层感知器(multi-layer perceptron)或前馈层(feed-forward layer)。在这个阶段,向量之间不再互相交流,而是并行地通过相同的操作。这个步骤,可以将其视为对每个向量提出一系列问题,并根据回答来更新它们。

所有这些操作本质上都涉及大量的矩阵乘法,直到最后,所有关键信息都被编码进序列中的最后一个向量。然后,对这个最后的向量执行某种操作,产生一个概率分布,预测接下来可能出现的所有token。通过这种方式,我们可以给模型提供一些种子文本,让它不断预测下一个词、采样、附加,并重复这个过程。

为了将这个工具转化为聊天机器人,最简单的起点是给出一些文本,设定用户与有用的AI助手互动的场景,即系统提示(system prompt),然后用用户的初始问题或提示作为对话的开端,接着让模型预测AI助手会如何回答。

这一过程背后还有更多的训练细节,但这是大致的概念。

深度学习是机器学习的一种方法。机器学习的核心思想是通过数据来决定模型的行为,而不是像早期AI那样手动编写明确的任务执行步骤。

举个例子,想要一个函数来识别图片或预测文本中的下一个词,传统方法是手动设计规则。而机器学习的方法是搭建一个灵活的结构(比如有很多参数的模型),然后用大量输入输出样例来调整这些参数,使模型能模仿目标行为。

最简单的机器学习模型是线性回归,比如用房屋面积来预测价格。这种模型的目标是找到一条最佳拟合线,其参数就是斜率和截距。深度学习模型则更复杂,比如GPT-3有1750亿个参数,而不是简单的两个。

深度学习的关键:反向传播与权重

深度学习的核心是反向传播算法,它使得大规模模型的训练成为可能。为了让这个训练算法有效,模型的输入必须是实数数组,通常称为张量。模型的每一层结构化为数组,并逐层转换,直到最后一层输出结果。例如,文本处理模型的最后一层输出是下一个词的概率分布。

模型中的参数通常称为权重,因为数据与这些权重的交互都是通过加权和实现的。虽然实际计算中这些加权和往往表现为矩阵向量乘积,但它本质上是同一个概念。

矩阵与权重的关系

GPT-3的1750亿个权重被组织成约2.8万个矩阵,这些矩阵被分成8类。尽管现在有更大、更先进的模型,但GPT-3是首个让大众注意到大语言模型潜力的模型。也因为商业原因,很多新模型的详细参数被严格保密,因此讨论GPT-3仍然很有价值。

矩阵乘法是核心计算

深入了解像ChatGPT这样的工具时,会发现几乎所有实际计算都是矩阵向量乘法。尽管模型中有成千上万个参数,但你需要清楚地区分两类内容:

权重:这些是模型的“大脑”,通过训练学习而来,决定模型的行为。处理的数据:这些是模型在每次运行时接收的具体输入,比如一个文本片段。

总的来说,权重是模型的核心,数据是模型运行时的输入。理解这些权重和矩阵的关系,能帮助更好地理解变换器模型的内部机制。

在文本处理的第一步,模型会将输入的文本拆分成多个小片段,称为token。这些token可以是单词、部分单词、标点符号或字符组合。为了让模型理解这些token的语义,每个token都会被映射成一个高维向量,这个过程由**嵌入矩阵(Embedding Matrix)**来完成。嵌入矩阵包含模型的所有词汇表,每个token对应一个向量,这些向量在模型训练过程中不断调整,以捕捉不同词语之间的语义关系。

嵌入向量不仅仅表示单词的字面含义,还能在高维空间中体现词语之间的关联。例如,“tower”(塔)的嵌入向量在空间中可能靠近“building”(建筑)和“skyscraper”(摩天大楼),表明模型识别出了这些词的相关性。随着训练的深入,模型逐渐调整这些向量,使它们在空间中指向特定的语义方向,如性别差异家庭角色

向量之间的差值可以表示语义上的变化,这是嵌入向量的一大特点。经典的例子是,“woman”和“man”之间的向量差接近“queen”和“king”之间的向量差,这表明模型捕捉到了性别信息的方向。类似地,将“Germany”减去“Japan”,再加上“sushi”,结果接近“bratwurst”(德国香肠),模型在空间中学会了国家与文化的关联

为了计算词语之间的相似性,模型使用点积(dot product)来衡量向量的方向一致性。点积值越高,表示两个向量的方向越接近。例如,假设“cats”(复数)和“cat”(单数)之间的向量差表示复数方向,则复数名词的点积值通常更高,表明它们更接近复数方向的向量。模型甚至能通过这种方法量化词语的复数程度,并将其与数量变化关联起来。

在GPT-3中,词汇表的大小约为50,257个token,嵌入向量的维度为12,288维。因此,嵌入矩阵的权重总数约为6.17亿。这些权重是模型中最早被优化的部分,为模型理解文本和生成内容提供了基础支持。这也是GPT-3总1750亿权重的重要组成部分之一。

在变换器模型中,嵌入向量不仅仅表示单个单词。这些向量还可以编码单词的位置信息,更重要的是,它们能够吸收上下文信息。

向量如何吸收上下文

一个最初表示“king”(国王)的嵌入向量,在经过网络中的多个模块处理后,可能会被逐步拉伸和调整,到最后指向一个更加具体、细致的方向。这个方向可能不仅仅表示“国王”,还包含更多信息,比如“苏格兰的国王”、“通过谋杀上任国王而继位”,甚至还能捕捉到“以莎士比亚语言风格描述*的语境。

人类对词语的理解也是类似的,单词的含义通常由周围的上下文决定,有时甚至需要借助更远的上下文。因此,模型的目标是让这些嵌入向量能够有效地吸收和整合上下文,从而提升对下一词预测的准确性。

初始嵌入如何生成

在处理输入文本的第一步时,模型根据输入的每个单词,从嵌入矩阵中提取对应的向量。在这个阶段,每个向量只表示单词本身的含义,没有包含任何上下文信息。

然而,整个网络的核心目标是让这些向量在处理的过程中,逐渐吸收来自周围环境的更多语义信息,使它们的含义变得更加丰富和具体,远超单个词语的简单表示。

上下文窗口的限制

变换器网络一次只能处理固定数量的向量,这个数量被称为上下文窗口大小(context size)。对于GPT-3来说,上下文窗口大小是2048个token。这意味着,网络中流动的数据始终是一个2048列的数组,每列是一个12,288维的向量。

上下文窗口的大小直接决定了模型在预测下一个单词时,能够参考的最大文本长度。如果文本超出了上下文窗口的限制,模型将无法利用更早的文本信息。

为什么模型会“忘记”对话

由于上下文窗口的限制,变换器在长时间对话中会逐渐丢失早期的对话内容。这是为什么早期版本的ChatGPT在长对话中,往往会忘记对话的线索偏离主题。模型只能利用窗口内的文本信息来生成新的输出,因此窗口外的内容会被丢弃,导致信息断裂。

在变换器模型的最后一步,目标是生成一个对所有可能下一个token的概率分布
例如,如果句子的最后一个单词是“Professor”,并且上下文中包含“Harry Potter”和“least favorite teacher”,一个训练良好的模型很可能为“Snape”分配较高的概率,因为模型已经学会了哈利波特的相关知识。

这个预测过程包括两个步骤:

将最后一个向量映射到词汇表中的所有token值。使用一个叫做反嵌入矩阵(Unembedding Matrix)的矩阵,将最后一个向量转换成一个包含5万个值的列表,每个值对应一个词汇表中的token。将值转换为概率分布。然后通过一个称为Softmax的函数,将这些值转换为一个概率分布,每个token的值代表它作为下一个词的概率。

为什么只用最后一个向量?

乍一看,似乎有些奇怪,模型在预测下一个词时只使用了最后一个向量,而忽略了最后一层中的其他向量。但实际上,训练过程中更高效的做法是让每个向量同时预测它之后的下一个词。
这意味着,每个向量在最终层都有自己的上下文意义,并各自做出预测。

反嵌入矩阵的结构和参数

反嵌入矩阵(Unembedding Matrix)用符号WU表示,其结构与嵌入矩阵类似,但行和列互换:

它有词汇表大小的行(约50,257个token)。每行有嵌入向量维度的列(12,288维)。

因此,这个矩阵包含约6.17亿个参数。
加上之前的嵌入矩阵,总参数量目前已超过10亿,占GPT-3总参数量1750亿的一小部分。

Softmax 是变换器模型中常用的函数,用于将一组数值转换成概率分布,确保每个值在 0 到 1 之间,并且总和为 1。它会把最大的值调成接近 1,而较小的值接近 0,使模型能够突出最可能出现的词。在机器学习模型中,这个步骤必不可少,因为网络输出的原始值(称为logits)通常是未归一化的,可能为负数或远大于 1,无法直接用于概率计算。

Softmax 的一个重要调节参数是温度(Temperature)。温度决定了输出分布的随机性。当温度 T=1 时,Softmax 按正常概率分布工作;T>1 时,分布更均匀,较小概率的词也有机会被选中;T 时,分布更加集中于最大值,使模型更倾向于选择最可能的词。如果 T=0,模型总是选择概率最高的词,生成的内容非常可预测。

在文本生成中,温度调节直接影响结果的多样性和创造性。低温度下,模型输出稳定但缺乏新意;高温度下,模型输出更随机、更有创造力,但也可能变得无意义。因此,在实际应用中,温度通常限制在 0 到 2 之间,以平衡连贯性多样性之间的关系。

来源:老胡科学

相关推荐