来源:2023-01-18 21:27:00 热度:

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

lxq

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

lxq

本文网址:

欢迎关注微信公众号:人工智能报;合作及投稿请联系:editor@cnaiplus.com

AI中国号...

关注微信公众号,了解最新精彩内容