Karpathy 4小时AI大课上线,小白看了都会从零构建GPT-2
Karpathy又出手了,这次直接丢出一枚重磅冲击波——4小时长的GPT-2从零复现教程。
这条视频属于他经典的“Zero To Hero”(从0到英雄)系列。在这个系列里,Karpathy的惯用风格是把一个复杂的技术课题拆得干干净净,讲得明明白白。而这次,时长直接翻倍,创下了系列新纪录。此前最长也不过2小时25分,这次直接拉到了4小时。


Karpathy在帖子里把整条视频的节奏梳理得相当直白:
– 先搭起GPT-2的神经网络骨架
– 再做一波优化,让训练能反赌起来
– 对照GPT-2和GPT-3论文,设置训练调优与超参数
– 启动评估
– 祈祷一切顺利,关机睡觉
– 第二天醒来,看模型生成了什么有趣的东西
发布短短几小时,视频播放量就冲到了11万。

据Karpathy透露,这个“过夜”训练出来的结果,表现已经接近GPT-3(124M参数)模型的水准。最有趣的是,他甚至还给视频做了一张封面图——直接把英伟达GPU点上了火。

评论区里,有网友直接喊出“Karpathy是我的神”。华裔天才少年Alexandr Wang更是拿流行歌手发单曲来比喻:“你的新视频,就像是流行音乐明星发布的新单曲。”



许多网友也纷纷在视频下方“打赏”。


那么,这条视频到底讲了什么?不妨跟着来拆解一下。
4小时大课,干货满满
开头部分,Karpathy先交代了GPT-2的背景。
2019年,OpenAI首次发布GPT-2,同时公开了论文和代码。

这次视频的目标,就是复现一个1.24亿参数的GPT-2模型。选这个参数大小,是因为GPT-2发布前有一个小系列(miniseries),包含4种不同参数规模,其中最大的那个才算真正意义上的GPT-2。

如果把模型规模放在X轴,各类下游指标放在Y轴,就可以画出Scaling Law曲线。基本规律是:模型越大,下游任务表现越好。

具体来看,这个1.24亿参数的Transformer架构共有12层,768个通道(channels)。
GPT-2发布至今已经5年,如今复现起来容易得多。GPU计算需求不高,大概花1小时、10美元就能搞定。Karpathy特别提到,他训练模型用的是Lambda GPU Cloud,理由是——“这是目前在云上按需启动GPU实例最简单、最好用的方式”。
第一步,先加载GPT-2模型。进入GitHub源代码库,点开model.py。
可以看到,这个模型是用Tensorflow写的。

Karpathy也承认:“现在我们很少用Tensorflow了,直接上更友好的PyTorch吧。”

为了更方便复现,他还用上了Hugging Face上的GPT-2代码——基于Transformer重新搭建,用起来更顺手。

接着就是从Hugging Face页面导入GPT-2模型。如果想复现1.5B参数的版本,只需在gpt2后面加上“-xl”即可。

然后,将PyTorch的NN模块初始化到对应类中,打印键值。可以看到GPT-2模型内部的参数和形状:W_token嵌入的权重大小是50257×768。

整节课分为四大模块,从构建到参数调优,Karpathy全盘拆解:
第一节:实施GPT-2 nn.模块
第二节:速战速决,混合精度GPU,1000ms
第三节:超参数设置,AdamW,梯度剪裁
第四节:等待结果,GPT-2与GPT-3复现对比

最后,关机睡觉,第二天醒来再看结果。

模型的训练损失持续下降,表现已经能与GPT-3一较高下。

这条4小时的大课,就在这里了。
参考资料:
https://x.com/karpathy/status/1799949853289804266
https://www.youtube.com/watch?v=l8pRSuU81PU