Andrej Karpathy分享了1小时56分的视频教程,从零开始构建GPT。

本课程通过OpenAI的GPT-2/GPT-3构建了一个生成预训练变压器(GPT)。需要先了解GitHub Copilot,先看makemore 视频,了解自回归语言建模框架以及 PyTorch的基础知识。

视频地址:https://www.youtube.com/watch?v=kCc8FmEb1nY

 

从零开始构建GPT是Andrej Karpathy分享的「从零开始在代码中构建神经网络」的课程内容之一,从反向传播的基础知识开始,建立现代深度神经网络,如GPT。Andrej Karpathy认为语言模型是学习深度学习的绝佳场所。

《神经网络:从零到英雄》完整地址:

https://karpathy.ai/zero-to-hero.html

 

教学大纲:

时长:2h25m
这是对神经网络反向传播和训练的最分步解释。它只假设了Python的基本知识和高中微积分的模糊回忆。
时长:1h57m
我们实现了bigram字符级语言模型,我们将在后续视频中进一步复杂化为现代变形金刚语言模型,如GPT。在本视频中,重点是Tensor及其微妙之处和用于有效评估神经网络,以及语言建模的总体框架,包括模型训练、采样和损失评估(例如,负日志分类的可能性)。
时长:1h15m
我们实现了多层感知器(MLP)字符级语言模型。在本视频中,我们还介绍了机器学习的许多基础知识(例如模型训练、学习速率调优、超参数、评估、训练/开发/测试拆分、安装不足/过度等)。
时长:1h55m
我们深入研究了具有多层的MLP的一些内部,并仔细检查了前传激活、向后通梯度以及缩放不当时的一些陷阱的统计数据。我们还查看了您想要用于了解深层网络健康状况的典型诊断工具和可视化。我们了解了为什么训练深层神经网络可能是脆弱的,并引入了第一个使操作变得容易得多的现代创新:批量归一化。剩余连接和亚当优化器仍然是后续视频的值得注意的待办事项。
时长:1h55m
我们从上一个视频中获取2层MLP(使用BatchNorm),并在不使用PyTorch autograd的loss.backward手动反向传播:通过交叉熵损失、第二线性层、tanh、batchnorm、第1线性层和嵌入表。一路上,我们直观地理解了梯度如何通过计算图和有效张量水平向后流动,而不仅仅是微梯度中的单个尺度。这有助于围绕如何优化神经网络建立能力和直觉,可以更自信地创新和调试现代神经网络。
时长:56m
我们从之前的视频中提取了2层MLP,并用树状结构使其更深入,得出了类似于DeepMind的WaveNet(2016)的卷积神经网络架构。在WaveNet论文中,使用因果扩张卷积(尚未涵盖)更有效地实现相同的分层架构。一路上,我们更好地了解torch.nn是什么,以及在引擎盖下是如何工作的,以及典型的深度学习开发过程是什么样子的。