当前位置:网站首页>图解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进行微调。可能性将会更加惊人。
微调实际上会更新模型的权重,以使模型在某些任务上表现更好。

参考文献:
边栏推荐
- Wechat applet full stack development practice Chapter 3 Introduction and use of APIs commonly used in wechat applet development -- 3.10 tabbar component (I) how to open and use the default tabbar comp
- Six methods of flattening arrays with JS
- JS small exercise
- Detailed explanation of neo4j installation process
- 【webrtc】m98 screen和window采集
- Blue Bridge Cup Birthday candles (violence)
- [semantic segmentation] - multi-scale attention
- 1141_ SiCp learning notes_ Functions abstracted as black boxes
- 按键精灵脚本学习-关于天猫抢红包
- 外包幹了三年,廢了...
猜你喜欢

Advanced practice of C language (high level) pointer
![[UTCTF2020]file header](/img/e3/818e2d531a06ab90de189055f634ad.png)
[UTCTF2020]file header

Idea add class annotation template and method template

Tencent's one-day life

Asemi rectifier bridge rs210 parameters, rs210 specifications, rs210 package

【斯坦福计网CS144项目】Lab3: TCPSender

Dynamics CRM server deployment - restore database prompt: the database is in use

毕设-基于SSM大学生兼职平台系统

Jenkins远程构建项目超时的问题

外包幹了三年,廢了...
随机推荐
MIPS uclibc cross compile ffmpeg, support g711a encoding and decoding
Asemi rectifier bridge rs210 parameters, rs210 specifications, rs210 package
【性能压测】如何做好性能压测?
Determining the full type of a variable
Leetcode-226. Invert Binary Tree
Music | cat and mouse -- classic not only plot
buuctf misc USB
[GUET-CTF2019]虚假的压缩包
[cloud native] how to give full play to memory advantage of memory database
Talk about seven ways to realize asynchronous programming
3、 High quality programming and performance tuning practical youth training camp notes
Invalid table alias or column reference`xxx`
为什么要了解现货黄金走势?
MobaXterm
【斯坦福计网CS144项目】Lab4: TCPConnection
gatk4中的interval是什么??
Is the test cycle compressed? Teach you 9 ways to deal with it
按键精灵采集学习-矿药采集及跑图
[ANSYS] learning experience of APDL finite element analysis
Build personal website based on flask