丰色 发自 凹非寺
量子位 | 公众号 QbitAI
“一个GPU没法训练GPT-3,更别提在上面调整超参数了。”
不不不,现在情况有变——
在单个GPU上完全可以调整大规模模型的超参数。
怎么说?
原来有人发现了一种新的调参方法,无论模型规模怎么变化,所得的最优超参数都能保持性能稳定。
由此一来,我们可以先训练一个小版本的模型,在上面间接调整好超参,然后以零样本的方式直接将它们复制到全尺寸模型上,就能获得相当不错的性能。
这对手里GPU资源不够的人来说简直不要太好了吧。
目前,相关帖子也在Reddit上引起热议,得到了300 的点赞支持。
好了,这时你可能会问:能不能只缩小模型的宽度呢?
作者表示,对于“non-width stuff”,没有理论保证。
不过好消息是,他们在preLN Transformer的合理范围内对depth、batch size、sequence length和timestep的迁移效果进行了测试。
说了这么多,到底如何实现?
下表概括了如何通过fan-in或fan-out调整你的模型的initialization和learning rate。
其中粉色文本为µP,括号中的灰色文本为pytorch默认值。
当然,如果你不想自己手动操作,作者也开源了Pytorch实现,通过pip install mup就可以应用到你的模型中。
关于作者一作名叫Greg Yang,微软高级研究员。
通讯作者为微软研究院深度学习技术中心合伙人研究经理、IEEE Fellow高剑峰。
还有两位华人作者分别为来自微软的Liu Xiaodong(北京邮电大学校友)和Chen Weizhu (已在微软工作16年)。
他们的这篇成果已被NeurIPS 2021接收。
GitHub链接:https://github.com/microsoft/mup
论文地址:https://arxiv.org/abs/2203.03466
官方博客链接:https://www.microsoft.com/en-us/research/blog/µtransfer-a-technique-for-hyperparameter-tuning-of-enormous-neural-networks/
相关文章
猜你喜欢