当前位置:网站首页>图解GPT3的工作原理
图解GPT3的工作原理
2022-07-07 04:16:00 【大囚长】
图解GPT3的工作原理
GPT3炒作在科技界引起了轩然大波。大量的语言模型(如GPT3)的能力开始让我们感到惊讶。虽然大多数企业还不能完全放心地将这些模型展示在客户面前,但它们正显示出一些聪明的火花,这些火花肯定会加速自动化进程,并推动智能计算机系统的发展。让我们消除GPT3的神秘光环,了解它是如何训练和如何工作的。
经过训练的语言模型生成文本。
我们可以选择向它传递一些文本作为输入,这将影响它的输出。
这些输出是由模型在训练期间扫描大量文本“学到”的东西产生的。
训练是将模型暴露于大量文本的过程。该过程已经完成。您现在看到的所有实验都来自该受过训练的模型。据估计,这需要花费355年的GPU时间,花费460万美元。
3000亿个文本token的数据集用于生成模型的训练样本。例如,这些是从顶部的一个句子生成的三个训练样本。
您将看到如何在所有文本上滑动窗口并生成许多样本。
该模型带有一个示例。我们只给它看特征,然后让它预测下一个单词。
该模型的预测将是错误的。我们在预测中计算误差并更新模型,以便在下一次做出更好的预测。
重复数百万次
现在,让我们更详细地了解这些相同的步骤。
GPT3实际上一次生成一个输出token(现在假设一个token是一个单词)。
请注意:这是对GPT-3的工作方式的描述,而不是有关GPT-3新颖性的讨论(主要是可笑的大规模)。该架构是基于本文https://arxiv.org/pdf/1801.10198.pdf的Transformer解码器模型
GPT3是巨大的。它对从1750亿个数字(称为参数)的训练中学到的东西进行编码。这些数字用于计算每次运行生成的token。
未经训练的模型从随机参数开始。训练会发现可以带来更好预测的价值。
这些数字是模型中数百个矩阵的一部分。预测主要是很多矩阵乘法。
在YouTube上的AI简介中,展示了一个带有一个参数的简单ML模型。一个很好的开始,以解开此175B怪物。
为了阐明这些参数的分布和使用方式,我们需要打开模型并查看内部。
GPT3为2048个token。这就是它的“上下文窗口”。这意味着它有2048条轨道,沿着这些轨道处理token。
让我们跟随紫色的轨道。系统如何处理“robotics”一词并产生“ A”?
步骤:
- 将单词转换为代表单词的向量(数字列表)
- 计算预测
- 将结果向量转换为单词
GPT3的重要计算发生在其96个Transformer解码器层的堆栈内部。
看到所有这些图层?这是“深度学习”中的“深度”。
这些层中的每一层都有其自己的1.8B参数进行计算。那就是“魔术”发生的地方。这是该过程的高级视图:
可以在文章The Illustrated GPT2中看到有关解码器内部所有内容的详细说明。
与GPT3的不同之处在于交替的密集和稀疏的自我注意层。
这是GPT3中的输入和响应(“Okay human”)的X射线。注意每个token如何流过整个层堆栈。我们不在乎首字的输出。输入完成后,我们开始关心输出。我们将每个单词反馈到模型中。
在React代码生成示例,描述将是输入提示符(用绿色表示),我相信还有几个description=>代码的例子。react代码就会像这里的粉色token一样生成一个又一个的token。
我的假设是,启动示例和描述作为输入追加,使用特定的token将示例和结果分开。然后输入到模型中。
让人印象深刻的是,它是这样运作的。因为您只需等待对GPT3进行微调。可能性将会更加惊人。
微调实际上会更新模型的权重,以使模型在某些任务上表现更好。
参考文献:
边栏推荐
- 按键精灵采集学习-矿药采集及跑图
- IO流 file
- Why is the row of SQL_ The ranking returned by number is 1
- [cloud native] how to give full play to memory advantage of memory database
- 95后CV工程师晒出工资单,狠补了这个,真香...
- Idea add class annotation template and method template
- 身边35岁程序员如何建立起技术护城河?
- Outlier detection technology of time series data
- Write CPU yourself -- Chapter 9 -- learning notes
- vus. Precautions for SSR requesting data in asyndata function
猜你喜欢
IO流 file
[semantic segmentation] - multi-scale attention
2022-07-06:以下go语言代码是否会panic?A:会;B:不会。 package main import “C“ func main() { var ch chan struct
《动手学深度学习》(四) -- 卷积神经网络 CNN
深度学习花书+机器学习西瓜书电子版我找到了
Calculus key and difficult points record part integral + trigonometric function integral
抽絲剝繭C語言(高階)數據的儲存+練習
四、高性能 Go 语言发行版优化与落地实践 青训营笔记
How can a 35 year old programmer build a technological moat?
Tencent's one-day life
随机推荐
ASEMI整流桥RS210参数,RS210规格,RS210封装
Mutual conversion between InputStream, int, shot, long and byte arrays
Initial experience of teambiion network disk (Alibaba cloud network disk)
Six methods of flattening arrays with JS
95后CV工程师晒出工资单,狠补了这个,真香...
Solve could not find or load the QT platform plugin "xcb" in "
Cloud backup project
2、 Concurrent and test notes youth training camp notes
Wx is used in wechat applet Showtoast() for interface interaction
Sqlmap tutorial (IV) practical skills three: bypass the firewall
I failed in the postgraduate entrance examination and couldn't get into the big factory. I feel like it's over
1089: highest order of factorial
IPv4 exercises
07_ Handout on the essence and practical skills of text measurement and geometric transformation
微信小程序中使用wx.showToast()进行界面交互
Convolutional neural network -- understanding of pooling
抽丝剥茧C语言(高阶)指针进阶练习
【Unity】物体做圆周运动的几个思路
Calculus key and difficult points record part integral + trigonometric function integral
3、 High quality programming and performance tuning practical youth training camp notes