Redian新闻
>
小破本也能炼GPT!300行代码搞定,GitHub获6k星,来自特斯拉前AI总监

小破本也能炼GPT!300行代码搞定,GitHub获6k星,来自特斯拉前AI总监

公众号新闻
詹士 发自 凹非寺
量子位 | 公众号 QbitAI

训练/微调中型GPT,最简单最快的库来了!

其名为:NanoGPT。

从名字就能看出是个“纳米武器”,据作者介绍,该库代码简单易读,2个仅300行代码的文件。

现已基于OpenWebText重现 GPT-2 (124M),在单个8XA100 40GB节点上,训练时间为38小时。

值得一提的是,该库发布者是前特斯拉AI总监,李飞飞高徒,Andrej Karpathy。此次发布的NanoGPT,正是他2年前MinGPT的升级版。

目前,此项目在GitHub所获star已超6k,HackerNews上points也破千。

毫无意外地,评论区一片“喜大普奔”。

有网友表示,这才是咱独立开发者喜闻乐见的AI工具。

还有人对其一直开放传授分享知识的做法,表示感谢。

那么,这个最简单最快的NanoGPT怎么用?

下面展开讲讲。

NanoGPT的打开方式

发布文件里面包含一个约300行的GPT模型定义(文件名:model.py),可以选择从OpenAI加载GPT-2权重。

还有一个训练模型PyTorch样板(文件名:train.py),同样也是300多行。

作者补充道,代码并不难,很容易就能满足大家需求——无论是从头开始训练新模型,还是基于预训练进行微调(目前可用的最大模型为1.3B参数的GPT-2)。

 一个训练实例展示

上手前,需要提前准备好依赖项:

  • pytorch <3

  • numpy <3

  • pip install datasets for huggingface datasets <3 (如果你需要下载和预处理OpenWebText)

  • pip install tiktoken for OpenAI’s fast BPE code <3

  • pip install wandb for optional logging <3

  • pip install tqdm

先下载并标记OpenWebText数据集。

$ cd data/openwebtext 
$ python prepare.py

这将创建一个train.bin和val.bin文件,将 GPT2 BPE token id放入一个序列中。

然后准备训练,目前脚本默认是尝试重现GPT-2,124M参数版本,但作者更鼓励大家阅读代码查看文件顶部的设置及路径

$ python train.py

如需使用 PyTorch 分布式数据并行 (DDP) 进行训练,请使用 torchrun 运行脚本。

比如,要在4个GPU节点上运行,代码如下:

$ torchrun --standalone --nproc_per_node=4 train.py

要从模型节点中采样,就需将一些检查点写入输入目录中。

$ python sample.py

据作者目前自己的测试,他在1 个 A100 40GB GPU 上训练一晚,损失约为 3.74。如果是在4个GPU上训练损失约为3.60。

如果在8个A100 40GB节点上进行约50万次迭代,时长约为1天,atim的训练降至约3.1,init随机概率是10.82,已将结果带到了baseline范围。

观察不同参数下训练/验证loss值如下:

至于如何基于新文本微调GPT,作者也简介了方法。

先访问data/shakespeare,查看prepare.py。

下载小型shakespeare数据集并将其呈现为train.bin和val.bin文件(方法前文已介绍),几秒即可搞定。

运行一个微调示例,如下:

$ python train.py config/finetune_shakespeare.py

该操作将加载配置参数,覆盖config/finetune_shakespeare.py文件。

作者指出,一般情况下,基本操作就是从GPT-2检查点初始化init_from,再正常训练。

此外,如果手里只有macbook或一些“力量”不足的小破本,作者建议使用shakespeare数据集,然后在一个很小的网络上运行。

先渲染数据;

$ cd data/shakespeare 
$ python prepare.py

再用一个较小的网络来运行训练脚本。

比如下面就创建了一个小得多的Transformer(4层,4个head,64嵌入大小),只在CPU运行,在作者自己的苹果AIR M1本上,每次迭代大约需要400毫秒。

$ cd ../.. 
$ python train.py --dataset=shakespeare --n_layer=4 --n_head=4 --n_embd=64 --device=cpu --compile=False --eval_iters=1 --block_size=64 --batch_size=8

关于NanoGPT的后续计划,Andrej Karpathy也在网上有所分享。

他将试图让NanoGPT更快复现其他GPT-2模型,然后将预训练扩展至更大规模的模型/数据集中,此外,他还计划改进下微调部分的文档。

转战教育和开源的特斯拉前AI总监

熟悉Karpathy的圈内人肯定知道,他此前是李飞飞高徒,也长期致力于让更多人接触了解神经网络和相关数据集。

2020年8月,他就曾发布NanoGPT前一代,MinGPT,同样旨在让GPT做到小巧、简洁、可解释,同样主打300行代码搞定。

Karpathy另一大身份是前特斯拉AI核心人物。

在马斯克麾下,他历任特斯拉高级AI主管、特斯拉自动驾驶AutoPilot负责人、特斯拉超算Dojo负责人、特斯拉擎天柱人形机器人负责人…

2022年7月,Karpathy Andrej离职,在业内引发不小讨论。他表示,未来将花更多时间在AI、开源技术教育上,比如他做了一档AI课程,现还在更新中。

此番发布NanoGPT同时,Karpathy还下场安抚了下催更党——新视频正从0开始构建,计划2周内发布

最后附上:

NanoGPT项目:https://github.com/karpathy/nanoGPT

Andrej Karpathy课程:https://karpathy.ai/zero-to-hero.html

给量子位读者的新春红包

我们一共为大家准备了20个红包,每个里面是1024元,将会在1月24日12:00开奖 🧧

在量子位微信公众号后台发送口令「癸卯兔年新春快乐」将收到抽奖专属链接噢~


点这里👇关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见 ~ 

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
再次加入OpenAI,特斯拉前AI总监Andrej Karpathy刚刚官宣!董车日报|比亚迪秦 PLUS 上新 / 特斯拉前 AI 负责人宣布加入 OpenAI特斯拉前CEO批马斯克:喜欢随机炒员工;库克今年将降薪3.5亿;阿里去年裁员19000人 | AI一周资讯LLaMA模型惨遭泄漏,Meta版ChatGPT被迫「开源」!GitHub斩获8k星,评测大量出炉一人改代码搞崩推特,马斯克气疯:全部重写!GitHub Copilot代码笔刷火了,一刷修bug加文档,特斯拉前AI总监:我现在80%的代码由AI完成带枪的大胡子,谢谢你!本科生60行代码教你手搓GPT大模型,技术介绍堪比教程集成ChatGPT后必应日活量首破亿!微软推出Azure OpenAI ChatGPT 服务,GPT-4下周发布特斯拉前AI总监Karpathy疯狂点赞:单张A100,10秒训练CIFAR-10,破世界纪录!放弃 ElasticSearch,GitHub 从零打造搜索引擎!2 亿代码仓库怎么搜?字节开展类 ChatGPT 研究;特斯拉前自动驾驶主管加入 OpenAI;GitHub 裁员 10% | 极客早知道0行代码拿210万年薪,ChatGPT催生新型「程序员」岗:工作纯靠和AI聊天感恩节, 文学城见老朋友毛泽东淡文艺界统一战线的问题端知东京有山林特斯拉前AI总监Andrej Karpathy再度回归OpenAI!CEO奥特曼热烈欢迎一人改代码搞崩推特,马斯克气疯了!全部重写!仅花200行代码,如何将60万行的RocksDB改造成协程15年做不好的代码搜索,用Rust重写搞定:GitHub声称能从此“改变游戏规则”ChatGPT火爆,最全prompt工程指南登GitHub热榜,标星4.7k!集成GPT-4的编程神器来了,GitHub发布Copilot X:编程30年,突然就不需要手敲代码了?!特斯拉前AI总监教你手搓GPT大模型,教学视频已出开源圈震荡!全球两大代码托管平台宣布裁员,GitHub裁员10%,GitLab裁员7%微博(21)-祝大家感恩节快乐GitHub/GitLab同天宣布裁员,最高比例10%!GitHub所有办公室不再续租ChatGPT开源平替来了,开箱即用!前OpenAI团队打造,GitHub刚发布就揽获800+星谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub告别SVN,Git成“独苗”:GitHub 在 13 年后宣布淘汰Subversion支持10行代码搞定图Transformer,图神经网络框架DGL迎来1.0版本放弃ElasticSearch,GitHub从零打造搜索引擎!2亿代码仓库怎么搜?ChatGPT设计的游戏火了!玩法代码一力搞定,自称「原创」却被指:抄袭了特斯拉前AI高级总监宣布重回OpenAI,马斯克曾为挖他被逐出董事会Acciona Energía 收购德州最大的电池储能项目60行代码就能构建GPT!网友:比之前的教程都要清晰|附代码
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。