OpenAI推新程序包:GPU适应十倍大模型仅需增加20%训练时间

简介:
本文来自AI新媒体量子位(QbitAI)

GPU内存太小可能是神经网络训练过程中最大的拦路虎。

不怕,用这个OpenAI推出的gradient-checkpointing程序包,对于前馈模型来说,仅仅需要增加20%的计算时间,这个程序包,GPU就能适应十倍大的模型。

还有这种操作?

训练神经网络对内存的要求随着网络的深度和batch-size呈线性增长。在内存有限的情况下,如果想训练深层模型,并且增加batch-size,很多研究人员会采用KFAC这样的二阶方法。与小批量的SGD相比,这种方法发需要学习较少的样例。

重点来了。昨天,OpenAI的研究科学家Tim Salimans和前Google Brain工程师的数据科学家Yaroslav Bulatov两人发布了一个python/TensorFlow包,名为gradient-checkpointing。

这个程序包使用了“用亚线性的存储成本训练神经网络”的技术,为简单的前馈网络提供了等价的内存存储,同时能为一般的神经网络节省内存,比如多层架构。

将这个程序包应用到TensorFlow官方CIFAR10 ResNet示例中。在batch size=1280的情况下,将内存和执行时间情况如下图所示。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

常规反向传播为线性扩展,但优化后的方法以深度的平方根方式扩展。当我们在更深层次的网络上尝试时,差异就更明显了。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

用标准方法,运行这个迭代需要60GB的内存,但新方法只需6GB的RAM。

再来看看计算时间。在实验中,在GTX1080上的运行时间增加了20%,在V100 GPU上时间增加了30%。

如果想了解这个程序包是如何节约内存的,可以移步GitHub一探究竟:

https://github.com/openai/gradient-checkpointing

本文作者:安妮
原文发布时间:2018-01-16
相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
20天前
|
机器学习/深度学习 并行计算 算法框架/工具
为什么深度学习模型在GPU上运行更快?
为什么深度学习模型在GPU上运行更快?
43 2
|
28天前
|
人工智能 安全 机器人
Claude3发布成为大模型之王,Openai是否真的跌落神坛,附试用链接
Claude3发布成为大模型之王,Openai是否真的跌落神坛,附试用链接
29 3
|
1月前
|
机器学习/深度学习 并行计算 PyTorch
【从零开始学习深度学习】20. Pytorch中如何让参数与模型在GPU上进行计算
【从零开始学习深度学习】20. Pytorch中如何让参数与模型在GPU上进行计算
|
1月前
|
机器学习/深度学习 人工智能
可解释性研究新突破:OpenAI成功训练1600万个特征的自动编码器
【6月更文挑战第13天】OpenAI团队在可解释性研究上取得进展,训练出拥有1600万特征的自动编码器来解析GPT-4。此模型旨在揭示语言模型的工作原理,提高AI透明度。自动编码器从低维度特征空间重建输入数据,研究通过稀疏特征增强可解释性。虽然规模扩大带来解释性提升,但计算资源需求大,且评估指标的全面性仍受质疑。[论文链接](https://cdn.openai.com/papers/sparse-autoencoders.pdf)
30 1
|
1月前
|
机器学习/深度学习 自然语言处理 异构计算
单GPU训练一天,Transformer在100位数字加法上就达能到99%准确率
【6月更文挑战第11天】Transformer模型在算术任务上取得重大突破,通过引入Abacus Embeddings,一天内在100位数字加法上达到99%准确率。该嵌入方法帮助模型跟踪数字位置,提升处理长序列的能力。实验还显示,Abacus Embeddings可与其他嵌入方法结合,提升乘法任务性能。然而,模型在更长序列的扩展性和其他类型任务的效果仍有待探究,具体训练技术的影响也需要进一步研究。论文链接:https://arxiv.org/pdf/2405.17399
36 1
|
1月前
|
异构计算 弹性计算 并行计算
|
2月前
|
机器学习/深度学习 弹性计算 自然语言处理
【阿里云弹性计算】深度学习训练平台搭建:阿里云 ECS 与 GPU 实例的高效利用
【5月更文挑战第28天】阿里云ECS结合GPU实例为深度学习提供高效解决方案。通过弹性计算服务满足大量计算需求,GPU加速训练。用户可按需选择实例规格,配置深度学习框架,实现快速搭建训练平台。示例代码展示了在GPU实例上使用TensorFlow进行训练。优化包括合理分配GPU资源和使用混合精度技术,应用涵盖图像识别和自然语言处理。注意成本控制及数据安全,借助阿里云推动深度学习发展。
164 2
|
2月前
|
机器学习/深度学习 人工智能 算法
为什么大模型训练需要GPU,以及适合训练大模型的GPU介绍
为什么大模型训练需要GPU,以及适合训练大模型的GPU介绍
108 1
|
2月前
|
机器学习/深度学习 并行计算 PyTorch
【多GPU炼丹-绝对有用】PyTorch多GPU并行训练:深度解析与实战代码指南
本文介绍了PyTorch中利用多GPU进行深度学习的三种策略:数据并行、模型并行和两者结合。通过`DataParallel`实现数据拆分、模型不拆分,将数据批次在不同GPU上处理;数据不拆分、模型拆分则将模型组件分配到不同GPU,适用于复杂模型;数据和模型都拆分,适合大型模型,使用`DistributedDataParallel`结合`torch.distributed`进行分布式训练。代码示例展示了如何在实践中应用这些策略。
1033 2
【多GPU炼丹-绝对有用】PyTorch多GPU并行训练:深度解析与实战代码指南

热门文章

最新文章