特斯拉前AI总监教你手搓GPT大模型,教学视频已出

「从零开始,用代码直接写。」

对于机器学习从业者来说,大模型的门槛很高:因为体量太大难以训练,很长时间里这个方向一直被大公司垄断。不过最近,简化 GPT 模型的方法越来越多了。

近日,前特斯拉 AI 高级总监、自动驾驶 Autopilot 负责人 Andrej Karpathy 发布了从零开始构建 GPT 模型的完整教程。消息一出,立即受到了人们的关注。

图片

在长达近两小时的教学视频中,Karpathy 会教你根据 NLP 领域经典论文《Attention is All You Need》构建一个 transformer,再以此为基础完成一个类似 OpenAI 的 GPT-2 / GPT-3 的生成式预训练 GPT 模型。

视频的 Google colab :https://colab.research.google.com/drive/1JMLa53HDuA-i7ZBmqV7ZnA3c_fvtXnx-?usp=sharing

GitHub:https://github.com/karpathy/ng-video-lecture

视频链接:https://www.youtube.com/watch?v=kCc8FmEb1nY&list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ&index=7

在该教学的前半部分,Andrej Karpathy 会从构建基本的语言模型开始讲起,随后引入 transformer 的核心「注意力」机制,作为有向图中节点之间的一种通信 / 消息传递。

图片

在视频的后半部分,你将学会构建 Transformer 的更多细节,包括多头自注意力、MLP、残差连接、layernorm 等。然后将学会训练一个 GPT 模型并将其与 OpenAI 的 GPT-3(模型体量大约小 1 万 - 100 万倍,但神经网络相同)和 ChatGPT 进行比较。

图片

在跟随视频的指引结束后,你将得到一个约 1000 万参数的语言模型,在 1 块 GPU 上训练大约需要 15 分钟,将所有莎士比亚作品串联成一个 1MB 大小的文件。然后我们就可以利用 AI 来生成模仿莎士比亚的语句了。

Andrej Karpathy 建议你在学习完课程之后进行一些练习:

练习 1:n 维张量掌握挑战:将 “Head” 和 “MultiHeadAttention” 组合成一个并行处理所有头部的类,将头视为另一个批量维度(答案在 nanoGPT 中)。

练习 2:在自己选择的数据集上训练 GPT, 还有哪些其他数据可能会很有趣?(如果你愿意,可以训练所有可能的 3 位数加法问题并以相反的顺序预测和。看看你的 Transformer 是否学习了正确的加法算法,是否正确地泛化到验证集上?)。

练习 3:找到一个很大的数据集,大到你看不到 train 和 val 损失之间的差距。在此数据上预训练 transformer,然后使用该模型进行初始化,并在莎士比亚数据集上以较少的步骤和较低的学习率对其进行微调。看看能否通过使用预训练获得较低的验证损失?

练习 4:阅读一些 transformer 论文并实践他们提出的改进,探索提高 GPT 性能的可能性。

该教学中提到的 GPT 模型是前几天 Andrej Karpathy 发布的 NanoGPT。它是对 minGPT 的重写,也是目前用于训练和微调中型尺度 GPT 最简单、最快的库。NanoGPT 代码设计目标是简单易读,其中 train.py 是一个约 300 行的代码;model.py 是一个约 300 行的 GPT 模型定义,它可以选择从 OpenAI 加载 GPT-2 权重。

目前该项目在 GitHub 上已经有超过 8000 的 Star 量:https://github.com/karpathy/nanoGPT

2022 年 7 月,Andrej Karpathy 宣布辞任特斯拉高级人工智能总监职位,目前他仍然没有公开自己的去向。在这段时间里 Karpathy 也没闲着,他在 YouTube 上发布的「Neural Networks:Zero to Hero」系列视频,从反向传播开始讲起,如今已经出到了第七部。

图片

Karpathy 曾在推特上表示:只要你懂 Python,并能模糊记起高中学过的求导知识,看了我的视频你还不理解反向传播和神经网络核心要点的话,那我就吃一只鞋。

如果你对于深度学习感兴趣,可以跟着他从头学起。

参考内容:

https://twitter.com/karpathy/status/1615398117683388417

相关资讯

突发!AI大牛Andrej Karpathy离开OpenAI

Andrej Karpathy 又离职了!刚刚,AI大牛Andrej Karpathy官宣了一条重要消息:他昨天已经从OpenAI离职,不过这中间没有什么戏剧性冲突,他只是想去尝试一下自己的个人项目。Karpathy在官宣离职的推文中写道,「是的,我昨天离开了OpenAI。首先,没发生什么特别的事情,这不是由于任何特定事件、问题或者争议导致的(但请继续提供阴谋论,因为它们确实很有趣 :))。实际上,在过去的大约一年时间里,在OpenAI的经历真的很棒——团队非常强大,人们非常棒,路线图也非常令人兴奋,我认为我们都有

纯C语言手搓GPT-2,前OpenAI、特斯拉高管新项目火了

「Real men program in C.」众所周知,大语言模型还在快速发展,应该有很多可以优化的地方。我用纯 C 语言来写,是不是能优化一大截?也许很多人开过这样的脑洞,现在有大佬实现了。今天凌晨,前特斯拉 Autopilot 负责人、OpenAI 科学家 Andrej Karpathy 发布了一个仅用 1000 行代码即可在 CPU/fp32 上实现 GPT-2 训练的项目「llm.c」。GitHub 链接:,立即引发了机器学习社区的热烈讨论,项目的 Star 量不到七个小时就冲上了 2000。有网友表示,

12年前上手深度学习,Karpathy掀起一波AlexNet时代回忆杀,LeCun、Goodfellow等都下场

没想到,自 2012 年 AlexNet 开启的深度学习革命已经过去了 12 年。而如今,我们也进入了大模型的时代。近日,知名 AI 研究科学家 Andrej Karpathy 的一条帖子,让参与这波深度学习变革的许多大佬们陷入了回忆杀。从图灵奖得主 Yann LeCun 到 GAN 之父 Ian Goodfellow,纷纷忆往昔。到目前为止,该帖子已经有 63 万 的浏览量。在帖子中,Karpathy 提到:有一个有趣的事实是,很多人可能听说过 2012 年 ImageNet/AlexNet 的时刻,以及它开