ChatGPT迅速获得了数百万人的关注,但许多人都持谨慎态度,因为都不了解它的工作原理。而本文就是试图将其分解,以便更容易理解。
然而,就其核心而言,ChatGPT是一个非常复杂的系统。如果想要玩ChatGPT或者想弄懂它是什么,核心界面是一个聊天窗口,可以在其中提问或提供查询,AI会做出回应。要记住的一个重要细节是,在聊天中,上下文会被保留,这意味着消息可以引用先前的信息,而ChatGPT将能够根据上下文地理解这一点。
当在聊天框中输入查询时会发生什么?
神经网络
首先,在ChatGPT的框架下,有很多东西待发现。机器学习在过去10年里一直在迅速发展,ChatGPT利用了许多最先进的技术来实现其结果。
神经网络是相互连接的“神经元”层,每个神经元负责接收输入、处理输入,并将其传递给网络中的下一个神经元。神经网络构成了当今人工智能的支柱。输入通常是一组称为“特征”的数值,表示正在处理的数据的某些方面。例如,在语言处理的情况下,特征可能是表示句子中每个单词的含义的词嵌入。
词嵌入只是一种文本的数字表示,神经网络将使用它来理解文本的语义,然后可以将其用于其他目的,比如以语义逻辑的方式进行响应!
因此,在ChatGPT中按回车键后,该文本首先被转换为词嵌入,这些词嵌入是在整个互联网上的文本上进行训练的。然后有一个经过训练的神经网络,在给定输入词嵌入的情况下,输出一组合适的响应词嵌入。然后,使用应用于输入查询的逆操作将这些嵌入入翻译成人类可读的单词。这个解码后的输出就是ChatGPT打印出来的内容。
ChatGPT模型大小
转换和输出生成的计算成本非常高。ChatGPT位于GPT-3之上,GPT-3是一个拥有1750亿个参数的大型语言模型。这意味着在OpenAI使用其大型数据集调整的广泛神经网络中有1750亿个权重。
因此,每个查询至少需要两次1750亿次计算,这加起来很快。OpenAI可能已经找到了一种方法来缓存这些计算以降低计算成本,但不知道这些信息是否已经发布到任何地方。此外,预计将于今年年初发布的GPT-4,据称参数增加了1000倍!
计算复杂性会导致实际成本!如果ChatGPT很快成为付费产品,不必感到惊讶,因为OpenAI目前正在花费数百万美元免费运营它。
编码器、解码器和RNN
自然语言处理中常用的一种神经网络结构是编码器-解码器网络。这些网络的设计目的是将输入序列“编码”为紧凑表示,然后将该表示“解码”为输出序列。
传统上,编码器-解码器网络已经与循环神经网络(RNN)配对,用于处理顺序数据。编码器处理输入序列并产生固定长度的向量表示,然后将其传递给解码器。解码器处理这个向量并产生输出序列。
编码器-解码器网络已广泛应用于机器翻译等任务,其中输入是一种语言的句子,输出是将该句子翻译成另一种语言。它们也被应用于摘要和图像说明生成任务。
Transformer模型和Attention机制
与编码器-解码器结构类似,变压器包括两个组件;然而,转换器的不同之处在于它使用一种自关注机制,允许输入的每个元素关注所有其他元素,从而允许它捕获元素之间的关系,而不管它们彼此之间的距离如何。
Transformer还使用多头注意力,允许它同时关注输入的多个部分。这使得它能够捕获输入文本中的复杂关系并产生高度准确的结果。
在2017年发表“Attention is All You Need”论文时, Transformer 取代了编码器-解码器架构,成为自然语言处理的最先进模型,因为它可以在较长的文本中实现更好的性能。
Transformer 架构
生成式预训练
生成式预训练是一种在自然语言处理领域特别成功的技术。它涉及以无监督的方式在海量数据集上训练广泛的神经网络,以学习数据的通用表示。这个预训练网络可以针对特定任务进行微调,比如语言翻译或问答,从而提高性能。
生成式预训练架构,摘自《通过生成式预训练提高语言理解能力》
在ChatGPT的例子中,这意味着对GPT-3模型的最后一层进行微调,以适应在聊天中回答问题的用例,这也利用了人工标记。下图可以更详细地了解ChatGPT微调:
ChatGPT 微调步骤
把一切结合在一起
因此,在ChatGPT的框架下有许多活动部件,这些部件只会不断增长。看到它如何继续发展将是非常有趣的,因为许多不同领域的进步将帮助类似GPT的模型获得进一步的采用。
在接下来的一两年里,我们可能会看到这种新的使能技术带来的重大颠覆。