趋近智
虽然CPU处理AI管线的核心序列任务,但模型训练的繁重计算几乎总是由另一种处理器完成:图形处理器(GPU)。GPU最初用于渲染视频游戏中的3D图形,但其架构已被证实非常适合深度学习的数学运算。原因是其大规模并行性。
CPU旨在低延迟执行多种任务。它包含少量高性能核心,每个核心都能够执行复杂指令并做出精密判断,以加速单个执行线程。可以将其想象成一小队资深厨师,每位厨师都能快速地从头到尾准备一整套多道菜肴。
相比之下,GPU旨在高吞吐量计算。它包含数千个更小、更简单的核心,这些核心单个能力较弱,但可以同步处理同一个问题。这不像一队资深厨师,更像一个大型厨房流水线,数千名厨师每人执行一项简单、重复的任务,例如同时切数千个洋葱。这种架构方式有时被称为单指令多数据(SIMD)。
CPU与GPU架构对比图。CPU将更多硅片用于复杂的控制逻辑和缓存,以支持更少但更强大的核心。GPU则将其大部分硅片用于大量的简单算术核心,并连接到专用、高带宽的内存。
深度学习模型由人工神经元层构成,这些层内的计算主要由几种数学运算组成,这些运算在大型数据张量上反复执行。最常见的是矩阵乘法。
在模型的前向传播过程中,输入数据在每一层都与一个权重矩阵相乘。这可以表示为:
输出=激活(输入⋅权重+偏置)输出矩阵中的每个元素都是点积的结果,这种运算独立于其他任何元素的计算。GPU可以将其数千个核心分配给数千个小而独立的点积计算,同时执行所有计算。CPU则需要以更序列化的方式执行这些计算,使用其少量高性能核心逐一或小批量处理这些操作。这种固有的并行性使GPU在处理神经网络层时比CPU快数个数量级。
并非所有GPU都相同。选择用于AI工作负载的GPU时,某些特点特别重要:
如果没有软件层管理,GPU的原始算力将无法使用。NVIDIA的CUDA平台便在此发挥作用。CUDA(Compute Unified Device Architecture)是一个并行计算平台和编程模型,允许开发人员使用类C语言编写GPU程序。
然而,大多数数据科学家和机器学习工程师并不编写低级CUDA代码。他们转而使用TensorFlow和PyTorch等深度学习框架。这些框架又依赖于高度优化的库,例如NVIDIA CUDA 深度神经网络库 (cuDNN)。
cuDNN是一个GPU加速的深度神经网络基元库。它为标准例程提供优化实现,例如:
当你编写一行PyTorch代码来定义一个卷积层时,cuDNN会高效地在GPU硬件上执行该操作。这种抽象让开发人员能够从GPU获得最大性能,而无需成为并行编程专家。这种大规模并行硬件和成熟软件栈的组合,使GPU成为进行认真深度学习任务的首选。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造