当前位置:AIGC资讯 > AIGC > 正文

Karpathy 4小时AI大课上线,小白看了都会从零构建GPT-2

距上次Karpathy AI大课更新之后,又有了1个多月的时间。这次他带了超详细的4小时课程——从零开始实现1.24亿参数规模的GPT-2模型。

大神Karpathy新一期AI大课又上线了。

这一次,他讲的内容是——从头开始实现124M大小的GPT-2模型,足足有4个小时。

Karpathy对这个视频2个字总结:全面。

也就是说,这就是手把手教程,就连AI小白看后,都会搭建GPT-2了。

Karpathy称这是从0到英雄(Zero To Hero)的系列中最新的视频。

翻看以往Zero To Hero系列中的视频,最长的也不过2小时25分,这次4小时完全创下了最新记录。

帖子中,他highlight了最新视频中的一些重点内容:

- 我们首先构建GPT-2神经网络

- 然后对其进行优化,以实现快速训练

- 参考GPT-2和GPT-3论文,设置训练运行优化和超参数

- 启动模型评估

- 祈祷一切顺利,上床睡觉

- 等到第二天早上,便可查看模型的结果,欣赏模型生成的有趣输出。

发布短短的几个小时,视频已经有了11万次播放量。

Karpathy表示,这次「过夜」的训练结果,表现甚至接近GPT-3(124M)模型的水平。

顺便提一句,Karpathy自己做的封面配图,也很有趣,直接把英伟达GPU点起来了。

网友在下面评论道,Karpathy就是我的神!

华裔天才少年Alexandr Wang称,「你的视频就相当于流行音乐明星发布的新单曲」。

「我的生活很简单,Karpathy上线GPT-2『大片』,看就完事儿了」。

视频下方,许多网友纷纷为这个免费课程「打赏」。

接下来,让我们一起来看看这节课讲了什么?

4小时大课,干货满满

最开始部分,Karpathy先介绍了下GPT-2的情况。

2019年,OpenAI首次发布了GPT-2模型,并公布了相关论文和代码。

论文地址:https://d4mucfpksywv.cloudfront.net/better-language-models/language_models_are_unsupervised_multitask_learners.pdf

而这次的视频,就是要复现一个GPT-2模型,共有1.24亿参数的模型。

之所以选择这一参数,要清楚的是,GPT-2在发布前会有一个小系列(miniseries),其中有4种参数,而最大的那个称为GPT-2。

另外,你可以将模型放在X轴上,各种下游指标放在Y轴上,便可以画出Sacling Law定律的曲线。基本上,随着模型规模扩大,下游任务性能越好。

1.24亿参数Transformer架构共有12层,并且有768个通道(channels)。

GPT-2发布已经是5年前的事了,而现在复现容易得很多,对GPU计算需求没那么大,大概需要1个小时,10美元的成本。

Karpathy表示,自己训练模型的GPU来自Lambda GPU Cloud,因为他认为这是在云中按需启动GPU实例的最佳和最简单的方法。

接下来,第一步就是加载GPT-2模型,进入GitHub源代码库,然后点击modle.py。

可以看到,这个模型使用的Tensorflow编写的。

Karpathy尴尬地表示道,「现在我们很少使用了,直接从更友好的Pytorch开始」。

为了更方便地复现,Karpathy还选择使用了Hugging Face上的GPT-2代码,其基于Transformer重新搭建,更容易使用。

接下来,就是从Hugging Face页面中,导入GPT-2模型。

在预训练GPT-2之前,如果想要复现一个1.5B模型,只需在gpt2后面,加上-xl。

下面,将Pytorch NN模块初始化为在如下类中定义,然后打印键值。

如下是,GPT-2模型内部不同的参数和形状,W token嵌入的权重大小是50257,768。

这节课共分为4个部分,接下来从构建到参数微调,Karpathy都给出了非常详细的讲解。

第一节是实施GPT-2nn.模块。

第二节是速战速决,混合精度的GPU,1000ms

第三节是Hyperpamats,AdamW,梯度剪裁

第四节是等待结果!GPT-2、GPT-3复现对比

最后,睡觉得到的结果,第二天再看结果。

模型的训练损失也在不断下降,而且与GPT-3的性能相媲美。

最后,这个4小时的大课,小编放这儿了。参考资料:

https://x.com/karpathy/status/1799949853289804266

https://www.youtube.com/watch?v=l8pRSuU81PU

更新时间 2024-06-12