单个GPU无法训练GPT-3,但有了这个,你能调优超参数了

简介: 单个GPU无法训练GPT-3,但有了这个,你能调优超参数了

模型越大,超参数(HP)调优成本越高,微软联合 OpenAI 提出 HP 调优新范式,单个 GPU 上就可以调优 GPT-3 超参数。


伟大的科学成就不能仅靠反复试验取得。例如太空计划中的每一次发射都是基于数百年的空气动力学、推进和天体等基础研究。同样,在构建大规模人工智能系统时,基础研究大大减少了试错次数,效益明显。

超参数(Hyperparameter,HP)调优是深度学习的关键,但也是一个昂贵的过程,对于具有数十亿参数的神经网络来说更是如此。假如 HP 选择不当,会导致模型性能不佳、训练不稳定。当训练超大型深度学习模型时,这些问题更加严重。

最近,有研究 [54] 表明不同的神经网络参数化会导致不同的无限宽度限制(infinitewidth limits),他们提出了最大更新参数化(Maximal Update Parametrization,µP),该方法可以在限制内实现「最大」特征学习。直观地说,它确保每一层在训练期间以相同的顺序更新,而不管宽度如何。相比之下,虽然标准参数化 (standard parametrization,SP) 在初始化时保证了激活是单位顺序的,但实际上在训练 [54] 时,由于每层学习率的不平衡,导致激活在宽模型中爆炸。

来自微软和 OpenAI 的研究者首次提出了基础研究如何调优大型神经网络(这些神经网络过于庞大而无法多次训练)。他们通过展示特定参数化保留不同模型大小的最佳超参数来实现这一点。利用 µP 将 HP 从小型模型迁移到大型模型。也就是说,该研究在大型模型上获得了接近最优的 HP。

论文作者之一、来自微软的 Greg Yang 表示:「你不能在单个 GPU 上训练 GPT-3,更不用说调优它的超参数(HP)了。但是由于新的理论进步,你可以在单个 GPU 上调优 HP ?」

本文的想法非常简单,论文中引入了一种特殊参数化 µP,窄和宽的神经网络共享一组最优超参数。即使宽度→∞也是如此。

具体而言,该研究证明,在 µP 中,即使模型大小发生变化,许多最优的 HP 仍保持稳定。这导致一种新的 HP 调优范式:µTransfer,即在 µP 中对目标模型进行参数化,并在较小的模型上间接调优 HP,将其零样本迁移到全尺寸模型上,无需调优后者。该研究在 Transformer 和 ResNet 上验证 µTransfer,例如,1)通过从 13M 参数的模型中迁移预训练 HP,该研究优于 BERT-large (350M 参数),总调优成本相当于一次预训练 BERT-large;2)通过从 40M 参数迁移,该研究的性能优于已公开的 6.7B GPT-3 模型,调优成本仅为总预训练成本的 7%。


通过大大减少猜测要使用哪些训练超参数的需要,这种技术可以加快对巨大神经网络的研究,例如 GPT-3 和未来可能更大的继任者。


扩展初始化容易,但扩展训练难

大型神经网络很难训练,部分原因是不了解其行为如何随着规模增加而变化。在深度学习的早期工作中,研究者采用启发式算法。一般来说,启发式方法试图在模型初始化时保持激活扩展一致。然而,随着训练的开始,这种一致性会在不同的模型宽度处中断,如图 1 左侧所示。

与随机初始化不同,模型训练期间的行为更难进行数学分析。该研究用 µP 解决,如图 1 右侧所示,该图显示了网络激活扩展(activation scales)在模型宽度增加的最初几个训练步骤中的稳定性。

图 1:在 PyTorch 的默认参数化中,左图,在经过一次 step 训练后,激活扩展的宽度会出现差异。但是在右图的 µP 中,无论训练 step 宽度如何,激活扩展都会发生一致的变化。

事实上,除了在整个训练过程中保持激活扩展一致之外,µP 还确保不同且足够宽的神经网络在训练过程中表现相似,以使它们收敛到一个理想的极限,该研究称之为特征学习极限。

如图所示,µP 是唯一在宽度上保持最佳学习率的参数化,在宽度为 213 - 8192 的模型中实现了最佳性能,并且对于给定的学习率,更宽的模型性能更好——即曲线不相交。

图2左侧,该研究在 CIFAR10 上以不同的学习率(沿 x 轴显示)训练不同宽度(对应于不同颜色和图案的曲线)的多层感知器 (MLP),并沿 y 轴绘制训练损失。右侧,参数化的 2D 平面由以下插值形成:1)PyTorch 默认值和 µP(x 轴)之间的初始化扩展,以及 2)PyTorch 默认值和 µP(y 轴)之间的学习率扩展。在这个平面上,PyTorch 默认用 (0,0) 表示,µP 默认用 (1,1) 表示。

基于张量程序(Tensor Programs)的理论基础,µTransfer 自动适用于高级架构,例如 Transformer 和 ResNet。此外,它还可以同时迁移各种超参数。

以 Transformer 为例,图 3 展示了关键超参数如何在宽度上保持稳定。超参数可以包括学习率、学习率 schedule、初始化、参数乘数等,甚至可以单独针对每个参数张量。该研究在最大宽度为 4096 的 Transformer 上验证了这一点。

图 3:在 µP 中参数化并在 WikiText-2 上训练的不同宽度的 transformer。随着模型宽度的增加,最优学习率、交叉熵温度、初始化规模和学习率方案保持稳定。查看网络的超参数有助于预测更宽网络的最佳超参数。在右下角的图中,该研究尝试了如下学习率方案:(a) 线性衰减,(b) StepLR @ [5k, 8k],衰减因子为 0.1,(c) StepLR @ [4k, 7k],衰减因子为 0.3,(d) 余弦退火,(e) 常数,(f) 逆平方根衰减。

模型深度的实验扩展

现代神经网络扩展不止涉及宽度一个维度。该研究还探索了如何通过将 µP 与非宽度维度的简单启发式算法相结合,将其应用于现实的训练场景。下图 4 使用相同的 transformer 设置来显示最佳学习率如何在合理的非宽度维度范围内保持稳定。

图 4:在 µP 中参数化并在 Wikitext-2 上训练的不同大小的 transformer。如图 3 所示,最优学习率不仅可以跨宽度迁移,还可在测试范围内实验性地跨其他扩展维度迁移,例如深度、批大小和序列长度。这意味着可以将理论上的跨宽度迁移与实验验证的跨其他扩展维度迁移相结合,以获得能在小模型上间接调整超参数并迁移到大模型的 µTransfer。

除了学习率,其他超参数的情况如下图所示:

测试 µTransfer

在验证完单个超参数的迁移之后,研究者试图将它们组合到更现实的场景中。下图 5 对比了两种情况,一种是 µTransfer 从一个小型 proxy 模型迁移调整过的超参数,另一种是直接调整大型目标模型。在这两种情况下,调整都是通过随机搜索完成的。

图 5:µTransfer 大约将计算效率提高了一个数量级。


由于 proxy 模型即使很小也能有意义地预测最佳超参数(如图 3、图 4 所示),因此随着该研究用数十亿个参数训练更大的目标模型,研究者预计性能差距会扩大。

未来方向:µP + GPT-3

在这项工作之前,模型越大,调优成本越高,预计调优效果就越差。研究者预计 µTransfer 将给最大的模型带来最大的增益,因此该研究与 OpenAI 合作,在 GPT-3 上评估 µTransfer。

使用 µP 中的相对注意力对 GPT-3 的一个版本进行参数化后,该研究调整了一个具有 4000 万个参数的小型 proxy 模型,然后按照 µTransfer 的方法将最佳超参数组合复制到 GPT-3 的 67 亿参数变体中。在此调整阶段使用的总计算量仅为 67 亿模型预训练使用计算量的 7%。如下图 6 所示,这个使用 µTransfer 的模型优于 GPT-3 论文中相同大小的模型(绝对注意力),它的性能与 GPT-3 论文中参数数量翻倍的模型(绝对注意力)相当。

理论意义

µP 给出了一个扩展规则,该规则在训练损失方面唯一地保留了跨不同宽度模型的最佳超参数组合。相反,其他扩展规则(如 PyTorch 中的默认初始化或 NTK 参数化),随着网络变得越来越宽,超参数空间中的最优值却越来越远。研究者认为:实际使用特征学习神经网络时,为了获得适用的见解,µP 的特征学习限制会比 NTK 限制更自然。因此,过参数化神经网络应该在大型宽度设置中重现 µP 的特征学习限制。

过去几年开发的张量程序 (TP) 理论使这项进展成为可能。TP 理论使研究人员能够计算任何通用计算图在其矩阵维数变大时的极限。TP 方法产生了基本的理论结果,例如神经网络 - 高斯过程对应的架构普遍性和动态二分定理,并通过推导 µP 和特征学习限制形成了 µTransfer。研究者认为将 TP 理论扩展到深度、批大小等扩展维度是大型模型在宽度之外可靠扩展的关键。

研究者表示:基础研究是对反复试错的一种高成本效益补充,该研究将继续推导出更具原则性的大规模机器学习方法。

参考链接:https://www.microsoft.com/en-us/research/blog/%c2%b5transfer-a-technique-for-hyperparameter-tuning-of-enormous-neural-networks/

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
11天前
|
并行计算 Shell TensorFlow
Tensorflow-GPU训练MTCNN出现错误-Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
在使用TensorFlow-GPU训练MTCNN时,如果遇到“Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED”错误,通常是由于TensorFlow、CUDA和cuDNN版本不兼容或显存分配问题导致的,可以通过安装匹配的版本或在代码中设置动态显存分配来解决。
34 1
Tensorflow-GPU训练MTCNN出现错误-Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
|
2月前
|
人工智能 自然语言处理
公理训练让LLM学会因果推理:6700万参数模型比肩万亿参数级GPT-4
【8月更文挑战第3天】新论文提出“公理训练”法,使仅有6700万参数的语言模型掌握因果推理,性能媲美万亿级GPT-4。研究通过大量合成数据示例教授模型因果公理,实现有效推理并泛化至复杂图结构。尽管面临合成数据需求大及复杂关系处理限制,此法仍为语言模型的因果理解开辟新途径。[链接: https://arxiv.org/pdf/2407.07612]
59 1
|
19天前
|
存储 数据采集 数据安全/隐私保护
商汤、清华、复旦等开源百亿级多模态数据集,可训练类GPT-4o模型
商汤科技、清华大学和复旦大学等机构联合开源了名为OmniCorpus的多模态数据集,规模达百亿级,旨在支持类似GPT-4级别的大型多模态模型训练。该数据集包含86亿张图像和1696亿个文本标记,远超现有数据集规模并保持高质量,具备广泛来源和灵活性,可轻松转换为纯文本或图像-文本对。经验证,该数据集质量优良,有望促进多模态模型研究,但同时也面临存储管理、数据偏见及隐私保护等挑战。
110 60
|
1月前
|
数据可视化 Swift
小钢炮进化,MiniCPM 3.0 开源!4B参数超GPT3.5性能,无限长文本,超强RAG三件套!模型推理、微调实战来啦!
旗舰端侧模型面壁「小钢炮」系列进化为全新 MiniCPM 3.0 基座模型,再次以小博大,以 4B 参数,带来超越 GPT-3.5 的性能。并且,量化后仅 2GB 内存,端侧友好。
小钢炮进化,MiniCPM 3.0 开源!4B参数超GPT3.5性能,无限长文本,超强RAG三件套!模型推理、微调实战来啦!
|
2月前
|
机器学习/深度学习 并行计算 PyTorch
GPU 加速与 PyTorch:最大化硬件性能提升训练速度
【8月更文第29天】GPU(图形处理单元)因其并行计算能力而成为深度学习领域的重要组成部分。本文将介绍如何利用PyTorch来高效地利用GPU进行深度学习模型的训练,从而最大化训练速度。我们将讨论如何配置环境、选择合适的硬件、编写高效的代码以及利用高级特性来提高性能。
432 1
|
3月前
|
机器学习/深度学习 自然语言处理 Swift
从头构建和训练 GPT-2 |实战
从头构建和训练 GPT-2 |实战
50 4
|
2月前
|
并行计算 算法 调度
自研分布式训练框架EPL问题之提高GPU利用率如何解决
自研分布式训练框架EPL问题之提高GPU利用率如何解决
|
3月前
|
数据采集 人工智能 自然语言处理
GPT被封锁了怎么办?轻松获取高质量的数据,训练自己的人工智能和大语言模型。
2023年标志着AI大模型时代的到来,GPT-4等模型在多个领域展现巨大潜力。然而,OpenAI对中国区服务的限制提出了挑战。本文探讨如何使用亮数据代理获取训练大模型所需的数据,包括确定目标、选择代理、数据抓取、清洗,并以西方历史为例,展示如何使用亮数据的静态住宅代理稳定获取DE区域数据,最终在国产AI平台上训练模型,提升知识库的丰富度和准确性。尽管面临外部障碍,但自主获取和训练数据能增强本土AI能力。
|
4月前
|
机器学习/深度学习 并行计算 PyTorch
【从零开始学习深度学习】20. Pytorch中如何让参数与模型在GPU上进行计算
【从零开始学习深度学习】20. Pytorch中如何让参数与模型在GPU上进行计算
|
4月前
|
机器学习/深度学习 自然语言处理 异构计算
单GPU训练一天,Transformer在100位数字加法上就达能到99%准确率
【6月更文挑战第11天】Transformer模型在算术任务上取得重大突破,通过引入Abacus Embeddings,一天内在100位数字加法上达到99%准确率。该嵌入方法帮助模型跟踪数字位置,提升处理长序列的能力。实验还显示,Abacus Embeddings可与其他嵌入方法结合,提升乘法任务性能。然而,模型在更长序列的扩展性和其他类型任务的效果仍有待探究,具体训练技术的影响也需要进一步研究。论文链接:https://arxiv.org/pdf/2405.17399
69 1

热门文章

最新文章