查看原文
其他

有人说 GPT3 是“暴力美学”的结晶,它的工作原理你知道吗?| 动图详解

CSDN 2020-12-18


如今,在科技领域掀起了一股GPT3的热潮。大规模语言模型(比如GPT3)的潜力惊艳了我们。虽然这些模型还没有成熟到大多数企业将之直接面对消费者,但却展示出一些智慧的火花,并让人坚信其将会加速自动化的进程,让人看到智能计算系统的希望。让我们拂去GPT3的神秘光环,来看一看它训练与工作的原理吧!


一个经过训练的GPT3语言模型可以生成文本。


我们可以选择一些文本作为输入,从而影响它的输出。


输出是由模型在扫描大量文本的训练期间 "学到 "的东西生成的。

训练是将模型暴露在大量文本中的过程。它已经做了一次并完成了。你现在看到的所有实验都是来自那个训练过的模型。据估计,它耗费了355个GPU年,花费了460万美元。


一个有3000亿个字符的数据集被用来生成模型的训练样本。例如,这是由上面那句话生成的三个训练样本。

你可以看到你如何在所有文本上滑动一个窗口,并生成很多例子。




当我们只给模型一个样本时:我们只给看特征,并让它预测下一个单词。

该模型的预测将是错误的。我们计算其预测中的错误,并更新模型,以便下次它做出更好的预测。

重复这个过程数百万次

现在让我们更详细地看看这些相同的步骤。

GPT3实际上一次只生成一个token的输出(现在我们假设一个token是一个词)。

请注意:这是对GPT-3工作原理的描述,而不是对它的新颖之处的讨论(主要是规模大得可笑)。其架构是基于的 transformer 解码器模型, 参见这篇论文(https://arxiv.org/pdf/1801.10198.pdf)。

GPT3 极其巨大。它将从训练中学习到的内容编码成1750亿个参数。这些参数用于计算每次运行时生成的 token。

未经训练的模型以随机参数开始。训练以期找到更好的预测值。

这些数字是模型里面数百个矩阵的一部分。预测主要就是大量的矩阵乘法。

在我的YouTube 上的人工智能介绍中(https://www.youtube.com/watch?v=mSTCzNgDJy4),我展示了一个简单的机器学习模型,它只有一个参数。为解读这个1750亿个参数的怪兽开了个好头。

为了理解这些参数是如何分布和使用的,我们需要打开模型看看里面的情况。
GPT3 的宽度是2048个 token。这是它的 "上下文窗口"。这意味着它沿着这2048条轨道处理 token。

让我们跟随紫轨,看看系统是如何处理"机器人"这个词并产生"A"的?
抽象的步骤:

  1. 将单词转换为代表单词的向量(数字列表)
  2. 计算预测值
  3. 将所得向量转换为单词

 
GPT3的重要计算发生在其96个 transformer 解码层的堆栈中。

看到这些层了吗?这就是 "深度学习 "中的 "深度"。

这些层中的每一层都有1.8亿个参数来进行计算。

你可以在我的博文图解GPT2中看到解码器内部一切的详细解释。

与GPT3的不同之处在于密集自注意层和稀疏自注意层的交替。

这是GPT3内输入和响应("Okay human")的X光片。注意,每一个token是如何通过整个层堆栈的。我们不关心第一个词的输出。当输入完成后,我们开始关心输出。我们把每个词都反馈到模型中。


在React代码生成的例子中,描述会是输入提示(绿色),此外还有几个对代码描述的例子吧。而 React 代码会像这里的粉色 token 一样一个个地生成。

我的假设是,将引例和描述作为输入,用特定的 token 将例子和结果分开,然后输入到模型中。

这种方式让人印象深刻。因为我们只要等到GPT3的微调推出。它的性能将更加惊人。

微调实际上是更新模型的权重,让模型在某项任务中表现得更好。



更多精彩推荐

1024程序员节重要议程曝光,开源技术英雄会聊开源“真心话”

“我们的目标是取代物联网中的安卓” | 人物志

对话阿里云:开源与自研如何共处?

服!AI 让兵马俑“活”起来,颜值惊艳!

AI 还原康乾盛世三代皇帝的样貌,简直太太太好玩了!

观点 | 回顾以太坊近期及中期扩容路线图,展望 rollup 作为中心的以太坊路线图

点分享点点赞点在看

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存