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类似于encoder-decoder结构,transformer由两部分组成;然而,transformer的不同之处在于它使用了一种自注意力机制,允许输入的每个元素关注所有其他元素,从而允许它捕获元素之间的关系,而不管它们彼此之间的距离。Transformer还使用多头注意力,使其能够同时关注输入的多个部分。这使它能够捕获输入文本中的复杂关系并产生高度准确的结果。当“AttentionisAllYouNeed”论文于2017年发表时,Transformers取代了编码器-解码器架构成为自然语言处理的最先进模型,因为它可以在较长的文本中实现更好的性能。TransformerArchitecture,来自https://arxiv.org/pdf/1706.03762.pdf生成预训练生成预训练是一种在自然语言处理领域特别成功的技术。它涉及以无监督的方式在海量数据集上训练广泛的神经网络,以学习数据的一般表示。这个预训练网络可以针对特定任务进行微调,例如语言翻译或问答,以提高性能。生成式预训练架构,取自《通过生成式预训练提高语言理解能力》在ChatGPT的情况下,这意味着针对聊天中回答问题的用例微调GPT-3模型的最后一层,这也利用了人工标记。下图更详细地介绍了ChatGPT微调:ChatGPT微调步骤,来自https://arxiv.org/pdf/2203.02155.pdf只会继续增加。看到它如何继续发展将非常有趣,因为许多不同领域的进步将帮助类似GPT的模型得到进一步采用。在接下来的一两年里,我们很可能会看到这种新的支持技术带来的重大颠覆。
