稚久|GPT迭代成本「近乎荒谬」,300行代码带你玩转迷你版
【新智元导读】最近 , 特斯拉AI总监Karpathy开源了一个名为minGPT的项目 , 用300行代码实现了GPT的训练 。 没有OpenAI的超级算力 , 该如何调整GPT这类语言模型的各种超参数?上周 Andrej Karpathy 发布了一个最小 GPT 实现的项目, 短短一周就收获了4200星 。
从代码来看 , 他的minGPT实现确实精简到了极致 , 利用Karpathy的代码 , 你只需要实例化一个GPT模型 , 定好训练计划就可以开始了 , 整个实现只有300行PyTorch代码 。
但是最有趣的部分是300行代码背后的故事 。 特别是在说明文档末尾 , 他解构了GPT-3的各种参数:
GPT-3:96层 , 96个头 , d _ 模型12,288(175B 参数) 。
GPT-1-like: 12层 , 12个头 , d _ 模型768(125M参数)
GPT-3使用与 GPT-2相同的模型和架构 , 包括修改后的初始化方法等 。
在transformer层使用交替密集和局部稀疏注意力 , 类似于稀疏 Transformer 。 前馈层是瓶颈层的四倍 , 即 dff = 4 * dmodel 。
所有模型都使用 nctx = 2048 token的上下文窗口 。
Adam 的参数 β1 = 0.9, β2 = 0.95, eps = 10^?8 。
前3.75亿token用线性 LR 预热 , 剩下的2600亿token用余弦衰减法将学习率降至其值的10% 。
- 「近乎荒谬」的迭代成本让GPT调参陷困境
GPT-3迭代成本相当高(一次训练可能需要几天到一周) 。 选择正确的超参数对于算法的成功至关重要 , 如果够幸运 , 模型的复杂度不高 , 可以使用超参数搜索方法 。
事实上 , 许多研究人员都注意到 , 其实可以将其他问题中「穷举搜索」到的许多参数保持在冻结状态 , 并将搜索的复杂性降低到一些关键参数 , 如学习速率 。
另一方面 , 考虑到 GPT-3的庞大规模和训练成本 , 显然 OpenAI 的研究人员不可能通过超参数搜索来获得结果 , 单次训练可能花费数百万美元 。
那么 , 在这种「近乎荒谬」的迭代成本范式中 , 研究人员如何确定最终确定这些参数呢?
当真正的迭代不可能时 , 如何继续AI模型的训练?相信很多人工智能的研究者有类似的疑问 , 很多训练调参还是要靠「直觉」 。
但是GPT-3这种大规模模型的成功 , 是不是用了什么更科学的方法?
- 算力无限时 , 模型性能不再「严重依赖」超参数
随着模型大小 , 数据集集大小和用于训练的计算资源增加 , 语言模型的性能总是平稳提高的 , 为了获得最佳性能 , 必须同时放大所有三个因素 。 当另外两个因素没有限制时 , 模型性能与每个因素都有幂律关系 。
推荐阅读
- 方便食品|方便食品产业加速迭代创新 “螺蛳粉”“自热食品”成新增长点
- 信用飞邱冠宇:消费需求迭代升级,智慧航空时代或将开启
- 方便|方便食品产业加速迭代创新,“螺蛳粉”“自热食品”成新增长点
- 方便|方便食品产业加速迭代创新 “螺蛳粉”“自热食品”成新增长点
- 稚久|印度首富坐拥5438亿,日本首富坐拥2141亿,中国首富马化腾呢?
- 稚久|饶毅:我国这2人两人可以获得诺奖,都不是院士,这眼光也太准了
- 宝石流云|程序员:常用的 Iterator 中的迭代器模式
- 稚久|美国选择跨过5G搞6G,靠谱吗?
- 稚久|李一男:25岁成华为副总裁7年让华为增收50倍,两度叛出华为
- 稚久|特征工程之处理时间序列数据
