来源:智源社区
为了进一步解读这一工作背后的意义,智源社区采访了论文一作、微软研究院高级研究员Greg Yang(杨格)。采访中,我们不仅了解了µTransfer的背景,以及项目背后更为远大的目标,也了解到了Greg本人奇特的跨界人生。
图注:Greg Yang
01
从DJ到研究数学:在自由探索中对AI产生兴趣
1.在哈佛期间两度休学,寻找方向
出于对数学的兴趣,Greg一开始就进入了哈佛大学数学系。由于哈佛大学有着非常宽容的休学政策——学生可以随时离开校园,也可以随时回来——Greg下定决心,在读完大二后选择追求音乐之路。
图注:Greg在哈佛大一时表演架子鼓
在一年半的时间中,他从生活的“仓鼠笼”中走出来,好好规划自己的人生。这段时间他可以尽情探索自己的兴趣。
图注:成为DJ的Greg
Greg在这期间得出了以下结论:
他将致力于实现通用人工智能(AGI):能够制造一个比自己还要聪明的东西,并淘汰掉他自己,是一个“intellectually”极其激动的事情。
他对数学有着内在的激情:由于一系列可预测的课程、作业和竞赛等,他对学习和研究数学的热情变得麻木了。但这次休学让他恢复了往日对数学这一学科的热爱。
数学是我们现实的底层逻辑:它是一切科学和工程的基础语言(Foundation Language),而重大的突破,往往来自揭示问题背后的一些隐藏着的数学结构。即使是不怕数学本身,就能够提供足够的自信,来尝试解决困难的问题,提出新的点子。
休学一年半后,Greg回到哈佛,出版了自己的第一篇论文。之后他再次休学,完成阅读教科书等方面的事情。
在第二次休学期间,深度学习开始快速发展,他痴迷于研究神经图灵机,并借鉴了可微拓扑学中的思路,提出了“Lie Access Neural Turing Machine”,并发表在ICLR上。
同样在那段时期,他发现代数拓扑学和学习理论中的一个有趣的联系。例如,VC维(Vapnik–Chervonenkis Dimension)描述学习一个任务的困难程度的方法,但可以被一个和任务有关的拓扑空间中的“洞”的维度所捕捉到。这种联系可以帮助证明一些计算复杂度的问题。当时他不知道的是,这个研究会成为他职业生涯的起点
2.机缘巧合,师从丘成桐,与弗里德曼和沈向洋结缘
第二次休学两年后,Greg回到哈佛。每个学期,数学系会为每个学生随机指定一位学术导师。他导师是获得了1982年菲尔兹奖的丘成桐。他表示,当时他根本没有意识到日后丘成桐带来的影响。
在一次例行会议上,Greg告诉丘成桐他正在写的这篇关于代数拓扑和学习理论的论文。Greg对丘成桐的早期印象是:“有着很重口音的英语,表情十分平静”,在这会议上让他很难悟解丘成桐对他研究的看法。但此后丘成桐开始带他去很多活动,与PhD学生和研究者会面,甚至还推荐他申请摩根奖(Morgan Prize),这是对本科数学家而言能够获得的最高荣誉,最终他获得了提名。
图注:Greg与美国数学家、摩根奖的发起者Frank Morgan的合影
丘成桐的推荐也影响了Greg的职业路径。
毕业前,他申请了谷歌大脑的实习,但offer还未下来,需要在学校多待一段时间。丘成桐得知后提议:“试试微软怎么样?(How about Microsoft?)”
在老师的推荐下,Greg收到了时任执行副总裁沈向洋的邮件,在与微软新英格兰研究院主管Jennifer Chayes沟通后,他联系上了另一位菲尔茨奖得主——迈克尔·弗里德曼。
也许是因为两人都是在计算领域研究的拓扑学家,也许是因为两人性格上都是“数学领域的冲浪好手”,与弗里德曼的交流很有共鸣。一周后,沈向洋向他发出了加入微软的邀请:“有两位菲尔茨奖得主推荐你,我要是再拒绝就显得太傻了,不是吗?”
就这样,Greg在2017年全职加入微软雷蒙德研究院,并在那里从事研究至今。
谈及这样的经历,Greg表示,这是一件非常幸运的是,毫不夸张地说,甚至是百万分之一概率的事情——如果当初丘成桐没有随机成为他的导师就不可能有今天。当然,他所做的研究足够好,也是沈向洋能够选择他的原因。
02
µTransfer:大模型超参数的“以小见大”
近日,微软研究院团队联合OpenAI提出了Efficient Hyperparameter Tuning(µTransfer)的方法。但是在采访中,Greg解释了µTransfer项目背后的长远目标——用数学的语言,建立能够描述和分析神经网络架构的底层编程语言,即Tensor Programs。
1.背景:不确定且高成本的大模型调参
模型的超参数配置,在模型规模扩大时,不一定是最优的。大模型也需要找到合适的超参数配置,否则模型可能无法训练得符合性能需求。
图注:在不同的神经网络宽度下,学习率(log_2)和训练损失之间变化情况。不同宽度的网络可能有着不同的最优超参,更宽的网络不一定会比窄的网络性能更好。
但是,由于模型过于庞大,很多中小研究团队的成本只够训练一两次模型。由于研究团队或多或少会“把所有鸡蛋都放在一个篮子里”,任何在预训练阶段背离训练目标的问题,都会带来巨大的时间和成本消耗。
例如,GPT-3论文就提到,虽然训练过程中有一个Bug,但是他们无法再重训模型,只能忽视这个问题。此外,选错了超参数,也会带来非常严重的资源浪费。有时候,错误的超参数设置可能会使模型在训练一个月后才发现配置有问题。
因此,在训练大模型时,超参数的配置总会面临一些不确定因素,而且研究者很难通过多次训练来确保超参配置是正确的。
为了解决这个问题,µTransfer应运而生。
2.µTransfer:建立模型规模扩大时的超参变化规则
µTransfer的思路并不复杂:µTransfer是一种在改变神经网络宽度过程中,同时改变其对应的初始化权重、学习率等超参数的规则。其特别之处在于,如果在一个“窄”的模型中找到了合适的超参配置(初始化、学习率、动量,甚至是每一层的超参组和),µTransfer就能够推导出更大版本的模型下,接近于最优的超参数配置。
图注:µTransfer的基本思路
这样一来,在为超大规模模型寻找合适的超参数时,研究人员可以先从该种架构的小规模版本模型上找到合适的超参数,然后用µTransfer的方法扩大到对应的更大规模版本上。这意味着,研究者能够在小模型上找到一组超参,然后通过一定的规则,推导出大模型下的超参配置,而不需要对大模型进行训练并寻找最优参数。在这一过程中,激活规模(Activation Scales)能够保持稳定。
图注:模型宽度增长时,在PyTorch的默认超参和µTransfer超参调整下,模型激活规模的变化情况
在这里,激活(Activations)指的是神经网络的一个层的向量输出的元素(Vector Output),而激活规模指的是此向量元素的标准差或平均绝对值。
当模型的宽度增加时,保持激活规模的稳定非常重要,原因在于两点:
如果激活规模不稳定,激活最终会变得无法被低精度浮点数(如FP16)所表示,这会导致在训练一个大的模型时,出现很多NaNs,导致训练的中断;
当宽度趋近无限时,保持激活稳定对于找到一个合理的超参数范围很重要,也是超参数迁移的必要条件。
3.证明µTransfer的正确性:保持稳定的超参变化
怎样证明µTransfer是最大化特征学习的最优?可以从理论和实践两个方面验证。理论上,正确的参数化方法应该是独一无二的,即使是在模型规模变化的时候,依然能够保持最优的学习率、初始化权重和其他训练超参数。但错误的参数化方法,会让超参数在模型规模变大的过程中逐渐趋向无限或0。
而在实践中,如果能够找到某一种模型在特定规模下的最优化参数,在模型规模发生变化的过程中,也应当能维持最优配置,模型也保持最优的性能。
03
µTransfer背后的远大项目:建立描述神经网络架构的统一编程语言Tensor Programs
Greg表示,µTransfer仅仅只是其Tensor Programs项目的一个成果,但团队背后更期望的是找到一种合适的“低层编程语言”,分析并描述神经网络的函数,即Tensor Programs。
1.低层神经网络描述语言:Tensor Programs
在AI领域,有一个问题长期以来被研究者所忽视:怎样能够为不同架构的模型都找到合适的初始化配置?换言之,是否有一个统一的规则,能够根据模型的架构,分析出其最优的初始化超参数配置,确保模型训练的稳定性?
Greg认为,长期以来这一问题没有被研究者完全解决。在2017年的时候,默认的初始化都是从粗糙的启发式方法中得出的,保证每个神经网络层的激活与网络的宽和深保持稳定。在当时,研究者每提出一个新的架构,都需要单独撰写初始化策略——因为没有一个通用的方法,能够分析出新网络所需的初始化策略。
在尝试统一不同神经网络架构的初始化启发方法时,Greg发现:存在一种“低层编程语言”,仅由矩阵乘法(Matrix Multiplication)和激活函数(Coordinatewise Nonlinearities)组成。如果神经网络函数能够使用这种语言表达,就可以自动且完备地进行初始化分析,这一语言被称为Tensor Programs(TP)。
例如,“神经网络-高斯过程”的对应,即“无限宽随机神经网络是高斯过程”,源于研究者对于一些简单架构的神经网络的观察和研究。TP的一项研究证明,这种与高斯过程的对应关系,可以扩大到任何架构的神经网络上。(见论文:Tensor Programs I: Wide Feedforward or Recurrent Neural Networks of Any Architecture are Gaussian Processes)
2.Tensor Programs的潜力:分析神经网络的最佳学习状态
以上说明了TP可以像ONNX一样能够表示任何神经网络架构,但很快地,Greg意识到TP更像PyTorch,其实能够表达整个神经网络的训练算法。这种强大的表达性可以用来分析神经网络训练后的状态。
他比喻说,“就像由简单水分子构成的水,在不同的温度下有不同的状态,而这不同状态的背后,是水分子之间也表现出的不同结构。”类比而言,我们也可以想象:在不同的学习率和初始化权重下,神经网络可能呈现出的不同状态。而不同的参数设置,在网络宽度增加时,对于网络的行为的影响也不一样。
通过此顿悟,Greg提出了一种无限宽神经网络极限的分类,能够推导出无限宽神经网络的最大特征学习极限,并衍生出了“最大更新参数化”(Maximal Update Parametrization,即µ-Parametrization)。这是 µTransfer的理论基础。
在这项研究刚开始的2019年,很多“无限宽神经网络是核机器”的研究涌现,从理论上显示,宽神经网络的行为,在默认的(PyTorch或TensorFlow风格)参数化条件下,是核机器(Kernel Machine)。这种核机器状态下的神经网络就像是水的凝固态——冰。非常坚固,有着固定的结构,对应着一些固定的、而非可学习的特征。而µ-Parametrization的特征学习状态更像是流体——对于环境(如数据)有着适应性。
图注:目前已经发表的TP论文
3.Tensor Programs的未来:探索AI研究的“万物理论”
谈及未来Tensor Programs的发展,他期待,团队可以在现有工作的基础上,解决其他维度的模型规模问题,比如模型的深度、MoE架构中专家的数量等——即,从理论上找到无限规模(比如无限深、无限专家数量,甚至是无限宽-深-专家数)的神经网络的基线,并得出对应规模下的超参数迁移规则。
Greg认为,Tensor Programs依然有足够的潜力来影响深度学习,特别是大型基础模型的实践工作,这一工作在他看来,就如同去寻找AI中的“万物理论”。
被问及在超大规模模型中的研究机会,Greg认为,这就像是21世纪的曼哈顿计划一样,其规模如此庞大,纯用实验-试错方法是很难来推动的。他认为,可以通过借鉴无限宽神经网络理论,来理解这种超大参数规模模型的行为。由于目前的理论与实践之间仍存在着鸿沟,这对于年轻研究者而言是一个机会。
Greg列举了8个可以在大模型领域持续探究的基础问题:
实现正则化超参数的迁移:这对于大模型在小数据集上的微调非常重要,因为模型可能会过拟合数据。
能否找到所有可能的无限规模神经网络极限?“规模”可以包括宽、深、专家数、序列长度等;
能否跨宽、深、专家数、序列长度等迁移超参数?
能否跨数据集迁移超参数?
能否迁移模型结构和优化器选择?
从极其小的神经网络模型迁移超参数的方法,如只有10个神经元的网络;
将一个小神经网络超高清地放大到一个更大更高性能的网络上;
给定用于预训练的固定 FLOPs 预算,权衡模型宽度、深度、训练时间、序列长度等的最佳方法是什么?
04
给年轻人的职业建议
Greg认为,他的职业发展经历并不典型,但他也提出了一些个人的职业发展建议:
在你大学的早年阶段,在你想研究和投入的任何领域打下坚实的基础。
在学校中要认识各种各样的人,并向他们学习。大学最大的好处不是受到的教育,而是接触到的人。
找到自己独有的技能,并专注于发展你的优势
一旦拥有强大的基础和独特的技能,就对自己充满信心。
不要害怕怀有一个宏伟的长期愿景并执行它。
下注。不管是什么领域,无论是不是做研究,合理地分配时间和精力都存在着不确定性。使用你独特的技能,尽可能减少不确定性,向着最好的方向,怀着信念前进。
无论处于职业的哪个阶段,都要谦虚,向他人学习。
未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)大脑研究计划,构建互联网(城市)大脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。每日推荐范围未来科技发展趋势的学习型文章。目前线上平台已收藏上千篇精华前沿科技文章和报告。
如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”