不确定性助益学习准确率,GPU训练预测性DNN误差更少、效果更好

简介: 有学者发现在 GPU 而不是 CPU 上训练的机器学习系统在训练过程中可能包含更少的误差,并产生更好的结果。这一发现与一般的理解相矛盾,即 GPU 只具有加速功能,而不是使训练结果更好。

这一研究可能促使人们重新审视 GPU 在深度神经网络训练中扮演的角色。


11.jpg


最近,有学者发现在 GPU 而不是 CPU 上训练的机器学习系统在训练过程中可能包含更少的误差,并产生更好的结果。这一发现与一般的理解相矛盾,即 GPU 只具有加速功能,而不是使训练结果更好。


来自波兹南密茨凯维奇大学、大阪大学、索尼等机构的研究者在一篇论文中得出了这一结论。


22.png

论文地址:https://arxiv.org/pdf/2109.01451.pdf


该研究表明,深度神经网络在面对各种硬件和软件配置时表现出的「不确定性」有利于更昂贵 GPU,并在测试中发现,专门在 CPU 上训练的深度神经网络在相同的 epoch 上产生更高的误差。


33.png在论文的补充示例中,我们看到(底部两行)从各种 GPU 获得的结果质量相似,而在第一行中得出,从一系列其他功能非常强大的 CPU 获得结果较差。



奇怪的现象


但是,该研究发现这一现象并不适用于目前流行的机器学习算法,比如简单的自编码器(autoencoder),这种现象就不会出现。


尽管如此,这项工作还是暗示了复杂神经网络训练的有效性可能存在逃逸速度(escape velocity),在这种情况下以较低的速度和较长的训练时间覆盖相同的操作,并不能获得人们期望的数学迭代例程的同等性能。


研究人员认为,这种性能差异可能是某些神经网络所特有的,GPU 专门处理的一些不确定方面,这些方面经常被视为最终要克服的障碍,GPU 不仅能提供显著的益处,而且最终可能被有意地纳入系统。这项研究发现可以为与大脑相关的计算处理提供更深入的见解。


在 GPU 上以这种方式识别提升效率和结果质量的奇特性质,有可能更深入地了解「黑箱」AI 架构,甚至提升 CPU 性能。遗憾的是,目前这一现象的根本原因尚不清楚。


自编码器 VS PredNet


在研究异常时,研究人员使用一个基本自编码器(autoencoder)和哈佛大学提出的 PredNet(Predictive Neural Network)进行研究。其实,这项研究可追溯到 2016 年,旨在探索和尝试复制人类大脑皮层的行为。


自编码器和 PredNet 都是基于深度神经网络的,它们旨在通过无监督学习合成图像。自编码器对每批次图像进行线性处理,产生输出,并将输出作为循环 pipeline 的下一个图像输入。此外,自编码器是在 MNIST 手写数据集上训练的。


44.png

在 MNIST 数据库上训练自编码器,该数据库包含 60,000 张 28×28 像素的训练图像,以及 10,000 张测试图像。


与自编码器相比,PredNet 可以用来评估复杂的视频输入,并且在 FPSI 数据集上进行了训练。


66.jpg

FPSI 的图像序列,以第一人称视角展示了在迪士尼世界的一天。


此外,这两种架构在复杂度上非常不同。自编码器在设计上用于重建图像而不是预测目标值。相比之下,PredNet 是 4 层结构,每层包含使用卷积 LSTM 的表征神经元。这些层输出上下文预测,然后与目标进行比较,从而生成在网络中传播的误差项。


自编码器与 PredNet 的相同点是都使用无监督学习。


下图左为具有简单、线性架构的自编码器,图右为具有更复杂和循环网络的 PredNet。


55.jpg


研究者在一系列硬件和软件配置下对这两种架构进行了测试,包括以下两种配置方式:


有 CPU 无 GPU(Intel i5-4590、i7-6800K、i5-7600K 或 AMD Ryzen-5-3600)既有 CPU 又有 GPU(Intel i5-7600K + NVIDIA GTX-750Ti、i5-7600K + GTX-970、i7-6700K + GTX-1080 等)


他们使用交互式进程查看器 htop 来确保所有训练保持在单线程(Intel i7-6800K)、四线程(Intel i5-4590 和 i5-7600K)或六线程(AMD Ryzen-5-3600)上。


鞍点


在自编码器上,所有配置的平均差在有无 cuDNN 的情况下都不明显。对于PredNet,结果更令人意外,CPU 和 GPU 训练在损失评估与质量之间存在显著差异。


78.jpg

PredNet 在 4 块 CPU 和 8 块 GPU 上训练的平均损失结果。cuDNN 处于关闭状态。


研究者总结表示:「尽管运行机制不清楚,但 GPU 硬件看起来具有提升 DNN 训练的能力。」结果表明,GPU 在避免鞍点时表现更好(鞍点是梯度下降中描述斜坡底部的区域)。


89.jpg

梯度下降中斜坡的最低点是「鞍点」。图源:https://www.pinterest.com.au/pin/436849232581124086/


鞍点虽然是一个障碍,但在最近关于随机梯度下降(SGD)的思考中,它被认为很大程度上容易解决。但本论文表明,不仅 CPU 需要独特的配置来避免鞍点,而且鞍点的影响或许应该予以重新审视。








相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
5月前
|
机器学习/深度学习 存储 PyTorch
【AMP实操】解放你的GPU运行内存!在pytorch中使用自动混合精度训练
【AMP实操】解放你的GPU运行内存!在pytorch中使用自动混合精度训练
226 0
|
5月前
|
机器学习/深度学习 弹性计算 TensorFlow
阿里云GPU加速:大模型训练与推理的全流程指南
随着深度学习和大规模模型的普及,GPU成为训练和推理的关键加速器。本文将详细介绍如何利用阿里云GPU产品完成大模型的训练与推理。我们将使用Elastic GPU、阿里云深度学习镜像、ECS(云服务器)等阿里云产品,通过代码示例和详细说明,带你一步步完成整个流程。
2040 0
|
5月前
|
机器学习/深度学习 异构计算 Python
Bert-vits2最终版Bert-vits2-2.3云端训练和推理(Colab免费GPU算力平台)
对于深度学习初学者来说,JupyterNoteBook的脚本运行形式显然更加友好,依托Python语言的跨平台特性,JupyterNoteBook既可以在本地线下环境运行,也可以在线上服务器上运行。GoogleColab作为免费GPU算力平台的执牛耳者,更是让JupyterNoteBook的脚本运行形式如虎添翼。 本次我们利用Bert-vits2的最终版Bert-vits2-v2.3和JupyterNoteBook的脚本来复刻生化危机6的人气角色艾达王(ada wong)。
Bert-vits2最终版Bert-vits2-2.3云端训练和推理(Colab免费GPU算力平台)
|
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版本不兼容或显存分配问题导致的,可以通过安装匹配的版本或在代码中设置动态显存分配来解决。
35 1
Tensorflow-GPU训练MTCNN出现错误-Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
|
2月前
|
机器学习/深度学习 并行计算 PyTorch
GPU 加速与 PyTorch:最大化硬件性能提升训练速度
【8月更文第29天】GPU(图形处理单元)因其并行计算能力而成为深度学习领域的重要组成部分。本文将介绍如何利用PyTorch来高效地利用GPU进行深度学习模型的训练,从而最大化训练速度。我们将讨论如何配置环境、选择合适的硬件、编写高效的代码以及利用高级特性来提高性能。
437 1
|
2月前
|
并行计算 算法 调度
自研分布式训练框架EPL问题之提高GPU利用率如何解决
自研分布式训练框架EPL问题之提高GPU利用率如何解决
|
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
|
5月前
|
机器学习/深度学习 弹性计算 自然语言处理
【阿里云弹性计算】深度学习训练平台搭建:阿里云 ECS 与 GPU 实例的高效利用
【5月更文挑战第28天】阿里云ECS结合GPU实例为深度学习提供高效解决方案。通过弹性计算服务满足大量计算需求,GPU加速训练。用户可按需选择实例规格,配置深度学习框架,实现快速搭建训练平台。示例代码展示了在GPU实例上使用TensorFlow进行训练。优化包括合理分配GPU资源和使用混合精度技术,应用涵盖图像识别和自然语言处理。注意成本控制及数据安全,借助阿里云推动深度学习发展。
246 2
|
5月前
|
机器学习/深度学习 人工智能 算法
为什么大模型训练需要GPU,以及适合训练大模型的GPU介绍
为什么大模型训练需要GPU,以及适合训练大模型的GPU介绍
246 1