是什么
图形处理器(graphics processing unit,GPU)原本是为在屏幕上绘制图像而设计的芯片,它可以同时执行大量简单的算术运算。神经网络的训练主要由大规模矩阵乘法和卷积构成,这些计算可以被拆分成许多相互独立的小块。这正是GPU成为深度学习核心硬件的原因。
怎么工作
设想神经网络的某一层有许多输入和许多输出。每个输出都是所有输入的加权和,也就是一次点积运算,而且每个输出都可以独立计算,无需等待其他输出。GPU把这些小计算分配给许多同时工作的核心,使整层计算远快于逐个顺序计算。训练过程会反复进行这样的前向计算,以及用来算出权重该如何调整的反向计算。
从哪来
2010年3月,Dan Ciresan、Ueli Meier、Luca Maria Gambardella 和于尔根·施密德胡伯(Jürgen Schmidhuber)报告称,普通的多层网络在使用普通在线反向传播(backpropagation)训练、并使用大量经过形变的训练图像时,在MNIST手写数字基准上的错误率达到0.35%。他们指出,要让学习速度足够快、使这一结果成为可能,需要借助显卡。[1]
2012年,Alex Krizhevsky、Ilya Sutskever 和杰弗里·辛顿(Geoffrey Hinton)发表了AlexNet论文。论文指出,卷积网络此前在高分辨率图像上大规模应用的开销高到难以承受。作者认为,当前的GPU加上高度优化的二维卷积实现,使训练这种大型网络成为可行。[2]
2014年10月,NVIDIA的研究人员介绍了cuDNN。这是一个针对深度学习的优化GPU例程库,设计上参照了BLAS线性代数库。把它集成到Caffe框架后,一个标准模型的性能提升了36%,同时还降低了内存占用。[3]
2016年1月,《自然》(Nature)发表了介绍AlphaGo的论文,报告称该程序在GPU上运行其策略网络和价值网络。单机版使用了48个CPU和8个GPU,分布式版本则使用了1,202个CPU和176个GPU。[4]
今天用在哪里
2017年的Transformer论文报告称,其大型模型在8个GPU上训练了3.5天。Transformer由注意力运算构成,这些运算可以在序列的各个位置上并行完成,这种结构很适合GPU硬件。它的出现是通往今天大型模型的重要一步。[5]
局限
GPU的显存有限,这一限制会影响网络的设计。AlexNet拥有6000万参数,在两块各带3 GB显存的NVIDIA GTX 580 GPU上训练,耗时五到六天。由于单块GPU的显存放不下整个网络,作者把网络拆分到两块GPU上,只让它们在特定层之间通信。[2]
进展也依赖硬件本身。AlexNet的作者写道,他们的实验表明,只要等待更快的GPU和更大的数据集,结果就可能得到改善。大模型的训练在时间和计算设备上仍然成本高昂,这也是GPU速度如此受重视的原因之一。[2]
20071
-
CUDA 是 NVIDIA 让通用程序跑在 GPU 核心上的软件平台。其工具包 1.0 于 2007 年 6 月发布,把图形芯片变成面向科学研究、后来又支撑深度学习的并行处理器。
注释与来源
- Deep Big Simple Neural Nets Excel on Handwritten Digit Recognitionhttps://arxiv.org/abs/1003.0358
- ImageNet Classification with Deep Convolutional Neural Networkshttps://papers.nips.cc/paper_files/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf
- cuDNN: Efficient Primitives for Deep Learninghttps://arxiv.org/abs/1410.0759
- Mastering the game of Go with deep neural networks and tree search (paper PDF)https://storage.googleapis.com/deepmind-media/alphago/AlphaGoNaturePaper.pdf
- Attention Is All You Needhttps://arxiv.org/abs/1706.03762
引用本页: 用 GPU 训练深度学习. TellWorld, https://www.tellworld.net/zh/learn/gpu-deep-learning. 更新于 2026-11-07