当前位置:网站首页>图解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进行微调。可能性将会更加惊人。
微调实际上会更新模型的权重,以使模型在某些任务上表现更好。
参考文献:
边栏推荐
- Convolutional neural network -- understanding of pooling
- 1141_ SiCp learning notes_ Functions abstracted as black boxes
- My ideal software tester development status
- JSON introduction and JS parsing JSON
- Outsourcing for three years, abandoned
- 面试官:你都了解哪些开发模型?
- leetcode:105. 从前序与中序遍历序列构造二叉树
- 在线直播系统源码,使用ValueAnimator实现view放大缩小动画效果
- 科技云报道:从Robot到Cobot,人机共融正在开创一个时代
- Determining the full type of a variable
猜你喜欢
为什么要了解现货黄金走势?
4、 High performance go language release optimization and landing practice youth training camp notes
A concurrent rule verification implementation
Simple example of ros2 planning system plansys2
1141_ SiCp learning notes_ Functions abstracted as black boxes
【leetcode】1020. Number of enclaves
二、并发、测试笔记 青训营笔记
科技云报道:从Robot到Cobot,人机共融正在开创一个时代
MIPS uclibc cross compile ffmpeg, support g711a encoding and decoding
MobaXterm
随机推荐
智联+影音,AITO问界M7想干翻的不止理想One
【leetcode】1020. Number of enclaves
JS small exercise ---- time sharing reminder and greeting, form password display hidden effect, text box focus event, closing advertisement
JS plot flot application - simple curve
IPv4 exercises
基于Flask搭建个人网站
知识点滴 - 关于苹果认证MFI
Is the test cycle compressed? Teach you 9 ways to deal with it
深度学习花书+机器学习西瓜书电子版我找到了
1140_ SiCp learning notes_ Use Newton's method to solve the square root
科技云报道:从Robot到Cobot,人机共融正在开创一个时代
2022-07-06: will the following go language codes be panic? A: Meeting; B: No. package main import “C“ func main() { var ch chan struct
Solution: could not find kf5 (missing: coreaddons dbusaddons doctools xmlgui)
按键精灵采集学习-矿药采集及跑图
How to reduce inventory with high concurrency on the Internet
C language (high-level) data storage + Practice
[cloud native] how to give full play to memory advantage of memory database
Music | cat and mouse -- classic not only plot
The annual salary of general test is 15W, and the annual salary of test and development is 30w+. What is the difference between the two?
L'étape avancée du pointeur de langage C (haut de gamme) pour l'enroulement des cocons