国外Karpathy 大神4小时AI大课,从零构建GPT-2!

 Datawhale干货 

编辑:桃子,来源:新智元

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

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

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

af3099c45b5052a536ee2b8127b893d3.png

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

我们从空文件开始,以GPT-2(124M)模型结束。

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

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

52db1c963be5baa67a372f7f238f051f.png

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

4463c929e8ce03740530efde17051ac8.png

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

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

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

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

- 启动模型评估

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

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

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

a9dc48c5c5b3ab48c10767418333c7a6.png

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

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

5d40d1f84c9b2b31203d82e5c692203c.png

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

34296abb1334e578957831c86a600705.png

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

e347df67facade7009ca2169eb7a446c.png

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

1cfac2533f82fd0c9f0ec7fc4ccfa926.png

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

5c84cc0a95c184ccdd046a3091a6e327.png

38561449f2589fe45fc7cd32c1fcc24c.png

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

4小时大课,干货满满


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

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

2ff9c30b09903f74e4e27cdfc433000e.png

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

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

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

5a6ee959c8aaf04959fffe516843e79f.png

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

a753df2a5b9aa3b1779e508f84d9281c.png

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

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

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

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

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

7d08ff93e566608e90e40f4e40538c5f.png

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

c50b92ce611e341c4ab1de618fc6db58.png

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

1be8f18dd5f7f462dcf5eb22de873868.png

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

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

9458bc5173eedf0085711442cefca29b.png

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

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

af3ed0cd65b227ba3852d20590ccdabd.png

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

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

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

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

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

f07cf1c633270600979ce27484fe5d5c.png

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

22c2f5fedb4414b8632c68aa64c5648a.png

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

f37d2764c0650deed2f04effb1dd9390.png

最后,这个4小时的大课,小编放这儿了。

参考资料:

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

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

014e432470c14f94bd8df3cf73792658.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值