一天star量破千,特斯拉AI总监写了个GPT的Pytorch训练库
机器之心报道
编辑:魔王、张倩
如果说 GPT 模型是所向披靡的战舰 , 那么 minGPT 大概算是个头虽小但仍能乘风破浪的游艇了吧 。
最近 , 「史上最大 AI 模型」GPT-3 风靡全球 。
GPT 系列可以说是人工智能领域「暴力美学」的代表作了 。 2018 诞生的 GPT , 1.17 亿参数;2019 年 GPT-2 , 15 亿参数;2020 年 GPT-3 , 1750 亿参数 。 短短一年时间 , GPT 模型的参数量就呈指数级增长 。
GPT-3 发布后不久 , OpenAI 即向社区开放了商业 API , 鼓励大家使用 GPT-3 尝试更多的实验 。 然而 , API 的使用需要申请 , 而且你的申请很有可能石沉大海 。 那么 , 除了使用官方 API 以外 , 我们还有没有其他方法能上手把玩一下这个「最大模型」呢?
近日 , 特斯拉人工智能研究负责人、前 OpenAI 研究科学家 Andrej Karpathy 进行了尝试 。
他基于 PyTorch , 仅用 300 行左右的代码就写出了一个小型 GPT 训练库 , 并将其命名为 minGPT 。
本文插图
Karpathy 表示 , 这个 minGPT 能够进行加法运算和字符级的语言建模 , 而且准确率还不错 。 不过 , 在运行 demo 后 , Andrej Karpathy 发现了一个有趣的现象:2 层 4 注意力头 128 层的 GPT 在两位数加法运算中 , 将 55 + 45 的结果计算为 90 , 而其他加法运算则没有问题 。
本文插图
目前 , 该项目在 github 上亮相还没满 24 小时 , 但 star 量已经破千 。
minGPT 项目地址:https://github.com/karpathy/minGPT
minGPT:只用 300 行代码实现的 GPT 训练
如果说 GPT 模型是所向披靡的战舰 , 那么 minGPT 大概算是个个头虽小但仍能乘风破浪的游艇了吧 。
本文插图
在项目页面中 , Karpathy 介绍称:由于现有可用的 GPT 实现库略显杂乱 , 于是他在创建 minGPT 的过程中 ,力图遵循小巧、简洁、可解释、具有教育意义等原则 。
GPT 并非一个复杂的模型 , minGPT 实现只有大约 300 行代码 , 包括样板文件和一个完全不必要的自定义因果自注意力模块 。 Karpathy 将索引序列变成了一个 transformer 块序列 , 如此一来 , 下一个索引的概率分布就出现了 。 剩下的复杂部分就是巧妙地处理 batching , 使训练更加高效 。
核心的 minGPT 库包含两个文档:mingpt/model.py 和 mingpt/trainer.py 。 前者包含实际的 Transformer 模型定义 , 后者是一个与 GPT 无关的 PyTorch 样板文件 , 可用于训练该模型 。 相关的 Jupyter notebook 则展示了如何使用该库训练序列模型:
- play_math.ipynb 训练一个专注于加法的 GPT;
- play_char.ipynb 将 GPT 训练成一个可基于任意文本使用的字符级语言模型 , 类似于之前的 char-rnn , 但用 transformer 代替了 RNN;
- play_words.ipynb 是 BPE(Byte-Pair Encoding)版本 , 目前尚未完成 。
使用示例
Karpathy 在 minGPT 项目中提供了一些使用示例 。
这些代码非常简单 , 只需 hack inline 即可 , 而非「使用」 。 目前的 API 外观如下:
推荐阅读
- 大潮网|浙江19岁女大学生肚子一天天隆起!检查结果让她慌了,医生:立即手术
- 大方县|“大方县拖欠教师工资补贴4.7亿”被曝光前两天,教师一天收到3笔钱
- 晨株洲|炎陵为何赢得这么多投资商青睐,一天签约28个项目
- 娱乐青丝|刘备有了统一天下的实力,可关羽使他的努力付诸东流,汉中之战后
- 英雄联盟|余霜分手后开启奔放模式,一天连晒N组自拍,网友直呼太美了!
- 疯狂搞笑每一天|终于喝上了免费的可乐!,搞笑GIF趣图:跟了200公里
- 刑事责任|起底\纸面服刑\15年杀人犯:判刑后没坐一天牢,\出狱\摇身一变当村官
- 一天一个故事|玩家爆料至少还有三局,网友演职业第一人,心态演员事件再发酵
- 郭乐乐|被封杀的五位网红,第1位是活该,第2位太骚气,第5位只火了一天
- 小鱼段子手|小明约了两个朋友一起到公园的湖里,一天