不确定性助益学习准确率,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 需要独特的配置来避免鞍点,而且鞍点的影响或许应该予以重新审视。








相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
机器学习/深度学习 存储 PyTorch
【AMP实操】解放你的GPU运行内存!在pytorch中使用自动混合精度训练
【AMP实操】解放你的GPU运行内存!在pytorch中使用自动混合精度训练
1667 0
|
机器学习/深度学习 弹性计算 TensorFlow
阿里云GPU加速:大模型训练与推理的全流程指南
随着深度学习和大规模模型的普及,GPU成为训练和推理的关键加速器。本文将详细介绍如何利用阿里云GPU产品完成大模型的训练与推理。我们将使用Elastic GPU、阿里云深度学习镜像、ECS(云服务器)等阿里云产品,通过代码示例和详细说明,带你一步步完成整个流程。
3912 0
|
机器学习/深度学习 异构计算 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算力平台)
|
并行计算 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版本不兼容或显存分配问题导致的,可以通过安装匹配的版本或在代码中设置动态显存分配来解决。
339 1
Tensorflow-GPU训练MTCNN出现错误-Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
|
并行计算 PyTorch 算法框架/工具
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
本文探讨了如何通过技术手段混合使用AMD与NVIDIA GPU集群以支持PyTorch分布式训练。面对CUDA与ROCm框架互操作性不足的问题,文章提出利用UCC和UCX等统一通信框架实现高效数据传输,并在异构Kubernetes集群中部署任务。通过解决轻度与强度异构环境下的挑战,如计算能力不平衡、内存容量差异及通信性能优化,文章展示了如何无需重构代码即可充分利用异构硬件资源。尽管存在RDMA验证不足、通信性能次优等局限性,但该方案为最大化GPU资源利用率、降低供应商锁定提供了可行路径。源代码已公开,供读者参考实践。
1268 3
融合AMD与NVIDIA GPU集群的MLOps:异构计算环境中的分布式训练架构实践
|
机器学习/深度学习 人工智能 物联网
MiniMind:2小时训练出你的专属AI!开源轻量级语言模型,个人GPU轻松搞定
MiniMind 是一个开源的超小型语言模型项目,帮助开发者以极低成本从零开始训练自己的语言模型,最小版本仅需25.8M参数,适合在普通个人GPU上快速训练。
2722 10
MiniMind:2小时训练出你的专属AI!开源轻量级语言模型,个人GPU轻松搞定
|
人工智能 负载均衡 调度
COMET:字节跳动开源MoE训练加速神器,单层1.96倍性能提升,节省百万GPU小时
COMET是字节跳动推出的针对Mixture-of-Experts(MoE)模型的优化系统,通过细粒度的计算-通信重叠技术,显著提升分布式训练效率,支持多种并行策略和大规模集群部署。
865 9
|
存储 人工智能 芯片
多GPU训练大型模型:资源分配与优化技巧 | 英伟达将推出面向中国的改良芯片HGX H20、L20 PCIe、L2 PCIe
在人工智能领域,大型模型因其强大的预测能力和泛化性能而备受瞩目。然而,随着模型规模的不断扩大,计算资源和训练时间成为制约其发展的重大挑战。特别是在英伟达禁令之后,中国AI计算行业面临前所未有的困境。为了解决这个问题,英伟达将针对中国市场推出新的AI芯片,以应对美国出口限制。本文将探讨如何在多个GPU上训练大型模型,并分析英伟达禁令对中国AI计算行业的影响。
3522 0
|
人工智能 语音技术 UED
仅用4块GPU、不到3天训练出开源版GPT-4o,这是国内团队最新研究
【10月更文挑战第19天】中国科学院计算技术研究所提出了一种名为LLaMA-Omni的新型模型架构,实现与大型语言模型(LLMs)的低延迟、高质量语音交互。该模型集成了预训练的语音编码器、语音适配器、LLM和流式语音解码器,能够在不进行语音转录的情况下直接生成文本和语音响应,显著提升了用户体验。实验结果显示,LLaMA-Omni的响应延迟低至226ms,具有创新性和实用性。
600 1
|
机器学习/深度学习 人工智能 弹性计算
阿里云林立翔:基于阿里云GPU的AIGC小规模训练优化方案
阿里云弹性计算林立翔在【AIGC】话题下带来了题为《基于阿里云GPU的AIGC小规模训练优化方案》的主题演讲,围绕生成式AI技术栈、生成式AI微调训练和性能分析、ECS GPU实例为生成式AI提供算力保障、应用场景案例等相关话题展开。

热门文章

最新文章