原来早在 2017 年,百度就进行过 Scaling Law 的相关研究,并且通过实证研究验证了深度学习模型的泛化误差和模型大小随着训练集规模的增长而呈现出可预测的幂律 scaling 关系。只是,他们当时用的是 LSTM,而非 Transformer,也没有将相关发现命名为「Scaling Law」。
在追求 AGI 的道路上,Scaling Law 是绕不开的一环。
如果 Scaling Law 撞到了天花板,扩大模型规模,增加算力不能大幅提升模型的能力,那么就需要探索新的架构创新、算法优化或跨领域的技术突破。
作为一个学术概念,Scaling Law 为人所熟知,通常归功于 OpenAI 在 2020 年发的这篇论文:
论文标题:Scaling Laws for Neural Language Models
论文链接:https://arxiv.org/pdf/2001.08361
论文中详细地论证了模型的性能会随模型参数量、数据量、计算资源增加而指数提升。后来的几年里,OpenAI 作为整个大模型领域的技术引领者,也将 Scaling Law 充分地发扬光大。
但关于我们今天所谈论的 Scaling law,它是怎么被发现的,谁最早发现的,又是哪个团队最早验证的,似乎很少有人去考据。
近日,Anthropic 的 CEO Dario Amodei 在播客中讲述了一个出人意料的版本。
图源:https://xueqiu.com/8973695164/312384612。发布者:@pacificwater
我们可能更了解 Dario 在 2016 年之后的经历。他加入了 OpenAI,担任研究副总裁,负责公司的安全工作,并领导团队开发了 GPT-2 和 GPT-3。
然而,2020 年底,由于对 OpenAI 的发展方向产生分歧, Dario 选择离开,并于 2021 年 2 月与妹妹共同创立了 Anthropic。
如今,Anthropic 推出的 Claude 已成为挑战 GPT 系列霸主地位的最有力竞争者。
不过,Dario 原本的研究方向是神经回路,他第一次真正进入 AI 领域是在百度。
从 2014 年 11 月到 2015 年 10 月,Dario 在百度工作了一年 —— 正好是吴恩达在百度担任首席科学家,负责「百度大脑」计划的时期。
他们当时在研发语音识别系统。Dario 表示,尽管深度学习展示了很大潜力,但其他人仍然充满疑虑,认为深度学习还不足以达到预期的效果,且距离他们所期待的与人类大脑相匹配的框架还有很长的距离。
于是,Dario 开始思考,如果把百度用于语音的循环神经网络做得更大,增加更多的层数会怎样?同时扩大数据量又会怎样呢?
在不断的尝试中,Dario 观察到了随着给模型投入越多的数据、计算和训练,它们的表现就越好,「那时我没有精确地测量,但与同事们一起,我们非常直观地能感受到。」
但 Dario 和同事们也没深究,Dario 觉得:「也许这只对语音识别系统有效,也许这只是一个特定领域的特殊情况。」
直到 2017 年,他在 OpenAI 第一次看到 GPT-1 的训练结果时,他才意识到这种「越多越好」的规则同样适用于语言数据。而计算资源的增加,托起了 Scaling Law 生效的底层逻辑。
真理是不会只属于一个人的,最终它会被每个人发现。
当时有一批人都意识到了 Scaling Law 的存在,比如 Ilya Sutskever、「RL 教父」Rich Sutton、Gwern Branwen。
百度也在 2017 年发了一篇论文:「DEEP LEARNING SCALING IS PREDICTABLE, EMPIRICALLY」,展示了在机器翻译、语言建模、图像处理和语音识别等四个领域中,随着训练集规模的增长,DL 泛化误差和模型大小呈现出幂律增长模式。
《NLP with Transformers》的作者 Lewis Tunstall 发现,OpenAI 在 2020 发表的《Scaling Laws for Neural Language Models》引用了百度论文一作 Joel Hestness 在 2019 年的后续研究,却没发现 Hestness 早在 2017 年就研究过同类问题。
DeepMind 的研究科学家 @SamuelMLSmith 表示,原来在 NeurIPS 和 Hestness 线下交流过。但两年后 Scaling Laws 论文发表时,他对关注过这个问题,但没发论文的自己很生气。
而同期注意到 Scaling Law 的 Gwern Branwen,也经常提起百度的这篇论文确实被忽视了。
百度 2017 年的论文写了啥?
这篇题为「DEEP LEARNING SCALING IS PREDICTABLE, EMPIRICALLY(深度学习扩展的可预测性:经验性研究)」发布于 2017 年。当时,机器学习先驱 Rich Sutton 还没有发布他的经典文章《苦涩的教训》(发布时间是 2019 年)。
论文链接:https://arxiv.org/abs/1712.00409
论文提到,当时,深度学习社区已经通过遵循一个简单的「配方」在不同的应用领域取得了具有影响力的进展。这个「配方」如今大家已非常熟悉,即寻找更好的模型架构、创建大型训练数据集以及扩展计算。
通过分解「配方」,百度的研究者注意到,寻找更好的模型架构困难重重,因为你要对建模问题进行复杂或创造性的重构,这就涉及大规模的超参数搜索。所以,架构方面的创新很多时候要依赖「顿悟」,具有极大的偶然性。如果只把精力放在这上面,风险势必很高。
为了降低风险,百度的研究者提到,「配方」的另外两个部分 —— 创建大型训练集和扩展计算 —— 是非常值得去研究的,因为这两个方面的进展明显更加可控。而且,「只需使用更多数据来训练更大的模型,就能提高准确率」已经成为一个共识。不过,百度想更进一步,分析训练集规模、计算规模和模型准确性提高之间的关系。他们认为,准确预测泛化误差随训练集规模扩大的变化规律,将提供一个强大的工具,以估计推进 SOTA 技术所需的成本,包括数据和计算资源的需求。
在此之前,也有不少研究者进行了类似研究,分析了达到期望泛化误差所需的样本复杂度,但论文中提到,这些结果似乎不足以准确预测实际应用中的误差 scaling 规律。还有一些研究从理论上预测泛化误差「学习曲线」呈幂律形式,即 ε(m) ∝
。在这里,ε 是泛化误差,m 是训练集中的样本数量,α 是问题的一个常数属性。β_g= −0.5 或−1 是定义学习曲线陡峭度的 scaling 指数 —— 即通过增加更多的训练样本,一个模型家族可以多快地学习。不过,在实际应用中,研究者发现,β_g 通常在−0.07 和−0.35 之间,这些指数是先前理论工作未能解释的。
在这篇论文中,百度的研究者提出了当时最大规模的基于实证的学习曲线特征描述,揭示了深度学习泛化误差确实显示出幂律改进,但其指数必须通过实证进行预测。作者引入了一种方法,能够准确预测随着训练集规模增加而变化的泛化误差和模型大小。他们使用这种方法来估计四个应用领域(机器翻译、语言建模、图像分类和语音识别)中的六个深度神经网络模型的 scaling 关系。
他们的结果显示,在所有测试的领域中都存在幂律学习曲线。尽管不同的应用产生了不同的幂律指数和截距,但这些学习曲线跨越了广泛的模型、优化器、正则化器和损失函数。改进的模型架构和优化器可以改善幂律截距,但不影响指数;单一领域的模型显示出相同的学习曲线陡峭度。最后,他们发现模型从小训练集区域(主要由最佳猜测主导)过渡到由幂律 scaling 主导的区域。有了足够大的训练集,模型将在主要由不可约误差(例如贝叶斯误差)主导的区域达到饱和。
此外,他们还描述了可预测的准确度和模型大小 scaling 的重要意义。对于深度学习从业人员和研究人员来说,学习曲线可以帮助调试模型,并为改进的模型架构预测准确性目标。
百度的研究者在论文中表示,他们的研究结果表明,我们有机会加倍努力,从理论上预测或解释学习曲线指数。在操作上,可预测的学习曲线可以指导一些决策,如是否或如何增加数据集。最后,学习曲线和模型大小曲线可用于指导系统设计和扩展,它们强调了持续扩展计算的重要性。
神经机器翻译学习曲线。
单词语言模型的学习曲线和模型大小结果和趋势。
字符语言模型的学习曲线和模型大小结果和趋势。
ResNet 图像分类任务上的学习曲线和模型大小结果和趋势。
DS2 和注意力语音模型的学习曲线(左),以及不同 DS2 模型尺寸(1.7M ~ 87M 参数)的学习曲线(右)。
关于这篇论文的细节,感兴趣的读者可以去阅读原文。
对于百度而言,早期对 Scaling Law 的研究未能及时转化为广泛的实践应用,这在公司的发展史上或许算得上是一个不小的遗憾。
参考链接:
https://x.com/jxmnop/status/1861473014673797411
https://arxiv.org/abs/1712.00409
本文来自微信公众号“机器之心”(ID:almosthuman2014),作者:机器之心。
如若侵权,请联系作者删除。