成为VIP会员查看完整内容
VIP会员码认证
首页
主题
发现
会员
服务
注册
·
登录
0
GPT迭代成本「近乎荒谬」,Karpathy 300行代码带你玩转迷你版
2020 年 8 月 24 日
新智元
新智元报道
来源:reddit
编辑:小智
【新智元导读】
最近,特斯拉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的工程师们是如何确定学习速率的,以及其他的7个超参数 + 架构?
GPT-3迭代成本相当高(一次训练可能需要几天到一周)
。选择正确的超参数对于算法的成功至关重要,如果够幸运,模型的复杂度不高,可以使用超参数搜索方法。
超参数的搜索
事实上,许多研究人员都注意到,其实可以将其他问题中「穷举搜索」到的许多参数保持在冻结状态,并将搜索的复杂性降低到一些关键参数,如学习速率。
另一方面,考虑到 GPT-3的庞大规模和训练成本,显然
OpenAI 的研究人员不可能通过超参数搜索来获得结果,单次训练可能花费数百万美元
。
那么,在这种「近乎荒谬」的迭代成本范式中,研究人员如何确定最终确定这些参数呢?
在训练过程中是否有干扰,比如在检查点重新设置并重新开始?是否会用过超参数搜索越来越大的模型,然后猜测超参数的大致范围?
当真正的迭代不可能时,如何继续AI模型的训练?相信很多人工智能的研究者有类似的疑问,很多训练调参还是要靠「直觉」。
但是GPT-3这种大规模模型的成功,是不是用了什么更科学的方法?
算力无限时,模型性能不再「严重依赖」超参数
OpenAI其实发表过一篇论文,探讨了如何更好地训练GPT这类语言模型。
随着模型大小,数据集集大小和用于训练的计算资源增加,语言模型的性能总是平稳提高的,
为了获得最佳性能,必须同时放大所有三个因素
。当另外两个因素没有限制时,模型性能与每个因素都有幂律关系。
GPT3的工程师们用非常小的模型做了大量的测试,找到了相关的缩放曲线来决定如何分配计算/数据/模型大小,以便在给定的预算下获得最佳性能,他们检查了以前在transformer上的超参数设置和架构选择 ,发现 GPT 对前者相对不敏感,应该扩大数据范围,以饱和 GPU 的吞吐量。
模型性能依赖于规模,它由三个因素组成:模型参数N的数量(不包括嵌入),数据集D的大小以及训练所用计算资源C。
结果显示,在合理的范围内,性能模型的体系结构参数依赖较小,例如模型的深度与宽度。
只要同时扩大N和D的规模,性能就会显著地提高,但是如果N或D保持不变而另一个因素在变,则进入性能收益递减的状态
。
性能损失大致取决于N^0.74 / D的比率
,这意味着每次我们将模型大小增加8倍时,我们只需将数据增加大约5倍即可避免损失。
当固定计算资源C,但对模型大小N或可用数据D没有任何其他限制时,可以通过训练非常大的模型并及时停止来获得最佳性能。
因此,最大程度地提高计算效率将比基于训练小型模型进行收敛所期望的收益高得多,
训练数据的需求量和计算资源遵循D〜C^0.27
,可以看到数据需求增长十分缓慢。
如果有更多的计算资源可用,可以选择分配更多资源来训练更大的模型,使用更大的批次以及训练更多的步数。
比如将来算力增长了十亿倍,为了获得最佳的结果,大部分精力应该用于增加模型大小。数据的增加可以通过增加批处理量来提高并行度,只需要很少的时间。
The End
我们没有过多讨论超参数的具体调整方法,在计算资源有限的情况下,确实需要一些技巧,来提升计算效率,或者说模型的性能,当未来算力足够时,我们就不会这么依赖超参数了。
对神经网络的探索方法,也应该有新的思路。
「如果你真的在做研究,那么通常情况下,你研究的问题越小越简单,研究贡献越大」。
任何人都可以通过使问题更难,神经网络更大来显示改进,但是如果你可以用一个新的小而简单的设计来产生更好的性能,那么就会进一步提高理解能力。
如果你能在一个简单的toy case上演示一些神经网络的bug或者其他有趣的特性,就会更加
理解它是如何发生的,何时发生的,以及为什么会发生
。
参考链接:
https://arxiv.org/pdf/2001.08361.pdf
https://www.reddit.com/r/MachineLearning/comments/ibrlvt/d_how_do_ml_researchers_make_progress_when/
登录查看更多
点赞并收藏
0
暂时没有读者
1
权益说明
本文档仅做收录索引使用,若发现您的权益受到侵害,请立即联系客服(微信: zhuanzhi02,邮箱:bd@zhuanzhi.ai),我们会尽快为您处理
相关内容
超参数
关注
1
在贝叶斯统计中,超参数是先验分布的参数; 该术语用于将它们与所分析的基础系统的模型参数区分开。
【Contextual Embedding】什么时候上下文嵌入值得使用?
专知会员服务
15+阅读 · 2020年8月2日
【ICML2020-伯克利】反直觉!大模型重压缩提升Transformer的训练和推理效率,47页ppt
专知会员服务
69+阅读 · 2020年7月1日
从HPO到NAS: 自动深度学习
专知会员服务
37+阅读 · 2020年6月15日
YOLOv4 重磅来袭!俄罗斯小哥带来新一代快速高效检测器
专知会员服务
31+阅读 · 2020年4月24日
【预训练论文】预训练Transformer校准,Calibration of Pre-trained Transformers
专知会员服务
25+阅读 · 2020年3月19日
【伯克利】通过增大模型加速Transformer训练和推理
专知会员服务
44+阅读 · 2020年3月6日
【IJCV2020】通过迭代亲密学习实现弱监督语义分割
专知会员服务
41+阅读 · 2020年2月20日
花书《深度学习》笔记,深度学习规则,帮你抓住精髓!(附下载)
专知会员服务
61+阅读 · 2019年12月25日
【开放书】《自动化机器学习:方法,系统与挑战》,附223页pdf下载
专知会员服务
158+阅读 · 2019年12月18日
【强化学习】深度强化学习初学者指南
专知会员服务
179+阅读 · 2019年12月14日
超越MnasNet、Proxyless:小米开源全新神经架构搜索算法FairNAS
机器之心
4+阅读 · 2019年7月5日
谷歌 MorphNet:让你的神经网络更小但更快
机器学习算法与Python学习
5+阅读 · 2019年4月18日
7个实用的深度学习技巧
机器学习算法与Python学习
16+阅读 · 2019年3月6日
教程▍Python机器学习实践:随机森林算法训练及调参 (附代码)
36大数据
8+阅读 · 2019年2月27日
【学界】李飞飞等人提出Auto-DeepLab:自动搜索图像语义分割架构
GAN生成式对抗网络
9+阅读 · 2019年1月14日
这有一份花书《深度学习》笔记,深度学习规则,帮你抓住精髓!(附下载)
专知
42+阅读 · 2019年1月7日
Mask R-CNN官方实现“又”来了!基于PyTorch,训练速度是原来2倍
机器学习算法与Python学习
5+阅读 · 2018年10月26日
Github 推荐项目 | GloVe 的快速实现 —— Mittens
AI研习社
5+阅读 · 2018年7月21日
入门 | 深度学习模型的简单优化技巧
机器之心
9+阅读 · 2018年6月10日
基于Pre-trained模型加速模型学习的6点建议
深度学习与NLP
5+阅读 · 2018年5月26日
Masked Label Prediction: Unified Message Passing Model for Semi-Supervised Classification
Arxiv
4+阅读 · 2020年10月15日
ISTA-NAS: Efficient and Consistent Neural Architecture Search by Sparse Coding
Arxiv
0+阅读 · 2020年10月13日
Block-Term Tensor Decomposition: Model Selection and Computation
Arxiv
0+阅读 · 2020年10月12日
Exploiting Style and Attention in Real-World Super-Resolution
Arxiv
0+阅读 · 2020年10月11日
Leader: Prefixing a Length for Faster Word Vector Serialization
Arxiv
0+阅读 · 2020年10月9日
Deep or Simple Models for Semantic Tagging? It Depends on your Data [Experiments]
Arxiv
0+阅读 · 2020年10月8日
FairRec: Two-Sided Fairness for Personalized Recommendations in Two-Sided Platforms
Arxiv
6+阅读 · 2020年2月25日
A Tidy Data Model for Natural Language Processing using cleanNLP
Arxiv
4+阅读 · 2018年5月3日
Attention Is All You Need
Arxiv
27+阅读 · 2017年12月6日
SSD: Single Shot MultiBox Detector
Arxiv
4+阅读 · 2016年12月29日
VIP会员
自助开通(推荐)
客服开通
详情
相关主题
超参数
GPT-3
超参数搜索
学习速率
Andrej Karpathy
相关VIP内容
【Contextual Embedding】什么时候上下文嵌入值得使用?
专知会员服务
15+阅读 · 2020年8月2日
【ICML2020-伯克利】反直觉!大模型重压缩提升Transformer的训练和推理效率,47页ppt
专知会员服务
69+阅读 · 2020年7月1日
从HPO到NAS: 自动深度学习
专知会员服务
37+阅读 · 2020年6月15日
YOLOv4 重磅来袭!俄罗斯小哥带来新一代快速高效检测器
专知会员服务
31+阅读 · 2020年4月24日
【预训练论文】预训练Transformer校准,Calibration of Pre-trained Transformers
专知会员服务
25+阅读 · 2020年3月19日
【伯克利】通过增大模型加速Transformer训练和推理
专知会员服务
44+阅读 · 2020年3月6日
【IJCV2020】通过迭代亲密学习实现弱监督语义分割
专知会员服务
41+阅读 · 2020年2月20日
花书《深度学习》笔记,深度学习规则,帮你抓住精髓!(附下载)
专知会员服务
61+阅读 · 2019年12月25日
【开放书】《自动化机器学习:方法,系统与挑战》,附223页pdf下载
专知会员服务
158+阅读 · 2019年12月18日
【强化学习】深度强化学习初学者指南
专知会员服务
179+阅读 · 2019年12月14日
热门VIP内容
开通专知VIP会员 享更多权益服务
OpenAI十二天总结与Agent新范式
【伯克利博士论文】高效深度学习推理的全栈方法
【AAAI2025】多层次最优传输用于语言模型中的通用跨标记器知识蒸馏
大规模语言模型增强推荐系统:分类、趋势、应用与未来
相关资讯
超越MnasNet、Proxyless:小米开源全新神经架构搜索算法FairNAS
机器之心
4+阅读 · 2019年7月5日
谷歌 MorphNet:让你的神经网络更小但更快
机器学习算法与Python学习
5+阅读 · 2019年4月18日
7个实用的深度学习技巧
机器学习算法与Python学习
16+阅读 · 2019年3月6日
教程▍Python机器学习实践:随机森林算法训练及调参 (附代码)
36大数据
8+阅读 · 2019年2月27日
【学界】李飞飞等人提出Auto-DeepLab:自动搜索图像语义分割架构
GAN生成式对抗网络
9+阅读 · 2019年1月14日
这有一份花书《深度学习》笔记,深度学习规则,帮你抓住精髓!(附下载)
专知
42+阅读 · 2019年1月7日
Mask R-CNN官方实现“又”来了!基于PyTorch,训练速度是原来2倍
机器学习算法与Python学习
5+阅读 · 2018年10月26日
Github 推荐项目 | GloVe 的快速实现 —— Mittens
AI研习社
5+阅读 · 2018年7月21日
入门 | 深度学习模型的简单优化技巧
机器之心
9+阅读 · 2018年6月10日
基于Pre-trained模型加速模型学习的6点建议
深度学习与NLP
5+阅读 · 2018年5月26日
相关论文
Masked Label Prediction: Unified Message Passing Model for Semi-Supervised Classification
Arxiv
4+阅读 · 2020年10月15日
ISTA-NAS: Efficient and Consistent Neural Architecture Search by Sparse Coding
Arxiv
0+阅读 · 2020年10月13日
Block-Term Tensor Decomposition: Model Selection and Computation
Arxiv
0+阅读 · 2020年10月12日
Exploiting Style and Attention in Real-World Super-Resolution
Arxiv
0+阅读 · 2020年10月11日
Leader: Prefixing a Length for Faster Word Vector Serialization
Arxiv
0+阅读 · 2020年10月9日
Deep or Simple Models for Semantic Tagging? It Depends on your Data [Experiments]
Arxiv
0+阅读 · 2020年10月8日
FairRec: Two-Sided Fairness for Personalized Recommendations in Two-Sided Platforms
Arxiv
6+阅读 · 2020年2月25日
A Tidy Data Model for Natural Language Processing using cleanNLP
Arxiv
4+阅读 · 2018年5月3日
Attention Is All You Need
Arxiv
27+阅读 · 2017年12月6日
SSD: Single Shot MultiBox Detector
Arxiv
4+阅读 · 2016年12月29日
大家都在搜
洛克菲勒
palantir
大规模语言模型
CMU博士论文
无人机系统
自主可控
无人艇
全球眼
评测
出海产品从 0 到 1 该怎么做
Top
提示
微信扫码
咨询专知VIP会员与技术项目合作
(加微信请备注: "专知")
微信扫码咨询专知VIP会员
Top