首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

如今,在科技领域掀起了一股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"的?

抽象的步骤:

将单词转换为代表单词的向量(数字列表)。

计算预测值

将所得向量转换为单词

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

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

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

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

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

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

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

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

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201020A0AC3P00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券