谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

2023-01-24 0 290

诸位术数er们,调参是我最郁闷的各个环节吗?

谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

那时,这份上架不出六天就狂揽1200+星的《广度自学Listary指南》来了。

谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

位数还在急速下跌,估算立刻要是登热榜了

这可能将是市售第一个如此全面性的术数秘籍,由5位Google技师元老密切合作归纳。

谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

那些元老们都已在广度自学应用领域“踩坑”十多年、组织工作丰硕成果应用应用领域从音频辨识到气象学都有兼及。

为的是这本指南,她们归纳了她们在体能训练互联网、埃唐佩县技师、和和同僚沟通交流时get到的各式各样实战经验和基本功。

连“广度自学之父”Geoffrey Hinton都来盛赞:

谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

来看看具体都有些啥。

Google术数秘籍,聚焦超参数调整

本指南适用范围为:对系统地最大化广度自学模型性能感兴趣的技师和研究人员,包括个人和团队。

默认翻开这本指南的都掌握了机器自学基本知识和广度自学概念。

其中内容主要聚焦超参数调整,因为这是作者们在组织工作中耗时最多、收获也最多的各个环节。

具体一共分为四大部分:

开始新项目

第一部分从训练一个新的模型开始,教大家如何选择:

(1)模型架构(2)优化器(3)batch size(4)初始配置。

比如,在选择优化器时,由于所有类型的机器自学问题和模型架构中都不存在最好的那一个,那么我们就坚持选择时下最流行、最成熟的那一个(尤其对于新项目来说)。

这里作者们推荐(但不限于):SGDM和更通用的Adam、NAdam,特别提醒:Adam有4个可调超参数 ,它们都很重要。

而在选择batch size时,需要注意它只是决定体能训练速度,不应该直接用于调整验证集的性能。

因为有研究表明,只要所有超参数都经过良好调整(尤其是自学率和正则化超参数)并且体能训练步数足够,任何batch size值都应该可以获得相同的性能。

通常来说,理想的batch size是可用硬件支持的最大值。

具体如何选择,指南在这里作出了非常详细的解释:

谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

初始配置方面,指导原则是找到一个简单、相对快速、资源消耗相对较低的配置,好获得一个“合理”的结果。

所谓简单,就是切记不要在开始时就添加一些花里胡哨的东西,现阶段没用不说还浪费时间。

比如在找到一个合适的自学率之前,就不要想着各式各样花式的decay schedule。

科学提高模型性能

本部分的实战经验建立以下两点前提之上:

我们已经有一个完全运行的体能训练pipeline和能够获得合理结果的配置;

有足够的计算资源用于进行有意义的调整实验、用于并行运行多个体能训练项目。

具体一共分为7个小部分:

第1部分标题为“逐步调整策略”,即从一个简单的配置开始,逐步进行改进,需要重复以下四个步骤:

为下一轮实验确定范围适当的目标;

设计并运行实验,朝着目标取得进展;

分析结果;

考虑是否面世新的最佳配置。

后续部分就是围绕上面四个步骤进行详细的展开,超参数如何选择和修改也在本节作为重点出现。

比如不管我们的实验目标是什么,我们都需要将超参数分为三类:科学超参数、nuisance超参数和固定超参数。

如果我们的目标是“确定具有更多隐藏层(hidden layer)的模型是否会减少验证错误”,那么隐藏层数就是一个科学超参数,这是我们在设计新实验时需要首先确定的。

需要修改的主要是第二类。

当我们进行到第三步,也就是分析结果时,需要额外问她们以下几个问题:

搜索空间是否足够大?是否从里面采样了足够多的点?该模型是否存在优化问题?我们可以从最佳试验的体能训练曲线中学到什么?

具体怎么判断和解决那些问题,指南也有非常详细的解释。

最后,当我们确定好了应该调整哪些超参数,就可以善用贝叶斯优化工具了。

不同组织工作负载如何设置体能训练步数

在这部分,指南根据组织工作负载的不同分了两部分来展开,分别为:

组织工作负载为计算密集型(CPU密集型)时,体能训练步数如何设置?

组织工作负载为非计算密集型(IO密集型)时,体能训练步数如何设置?

通俗来讲,计算密集型与非计算密集型就是受不受计算量的限制。而我们要解决的问题,就是无论在哪种情况下,如何让模型都能达到最佳效果。

也不多说废话,直接举个栗子🌰来看秘籍中是如何讲的?

当组织工作负载受计算限制时,也就是说计算资源成为主要的限制因素,首先面临的问题就是:

如果体能训练损失在无限期的改善,有没有必要这样一直体能训练下去?

秘籍给出的答案是:没有! 多轮调整最明智,1~3轮最实用。

并且还附有两轮调整的具体建议:

第1轮:较短的运行时间以找到好的模型和优化器超参数

第2轮:不要在良好的超参数点上长时间运行以获得最终模型

(详见指南)

谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

关于当组织工作负载不受计算限制时,调整的部分主要围绕max_train_steps,具体这里就不再赘述。

其他补充

到这里,秘籍差不多就接近尾声了,Google研究员们还贴心地给出了这份pipeline体能训练的补充指南,内容包括:

优化输入pipeline

评估模型性能

保存检查点并回顾性地选择最佳检查点

建立实验跟踪

Batch规范化实现细节

multi-host pipelines的注意事项

在“优化输入pipeline”部分,秘籍列出了导致输入pipeline的一些常见原因,并给出了一些小tips。

谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

关于“评估模型性能”,也给出了详细的操作步骤。

谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

……

秘籍全文的链接也已附在文末,感兴趣的朋友可以扔进收藏夹了。

谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

mem it~

关于作者

一共4位谷歌在职元老,1位哈佛的在读博士生(以前也在Google组织工作了5年多)。

Varun Godbole,目前是GoogleAI的一名软件技师,主要实战经验集中在建模和构建处理大型数据集的基础设施方面。

谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

之前,他的研究应用领域是计算机视觉和医学图像的交叉点,合著的论文“International evaluation of an AI system for breast cancer screening”曾登上Nature。

George E. Dahl,是Google大脑团队的研究科学家,他的研究集中在高度灵活的模型上,并且他还对语言、感知数据和化学、生物和医学数据的应用应用领域感兴趣。

谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

George在多伦多大学攻读博士学位时,主要解决音频辨识、计算化学和自然语言文本处理等问题的广度自学方法,其中包括一些首次成功的广度声学模型。

Justin Gilmer,Google大脑的研究科学家,他在Google Scholar上引用已经破万,主要研究方向为广度自学、组合型、随机图论。

谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

量子位前不久的《几十年数学难题被Google研究员意外突破!曾因不想搞数学自学编程,当年差点被导师赶出门》讲的正是这位科学家。

Christopher Shallue,目前正在攻读哈佛大学的天体物理学博士学位,在此之前,他曾在Google组织工作了5年10个月。

谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

在Google组织工作的那段时间,Shallue有3年多的时间在Google大脑担任机器自学研究技师,研究的内容包括:

开发辨识系外行星的机器自学技术(包括神经互联网首次发现行星)

加快超级计算机规模的机器自学培训

实证研究机器自学中的优化算法和超参数调整

TensorFlow 中的开源参考模型实现(图像字幕、句子嵌入、系外行星探测)

Zachary Nado,Google大脑的研究技师,本科就读期间,曾先后在Google和SpaceX实习,研究应用领域包括数据挖掘与建模、机器智能、NLP等。

谷歌推出深度学习调优手册,不到一天狂揽1200星,Hinton转发|GitHub

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务