趋近智
选择合适的计算硬件是一个重要的优化问题,它不只局限于原始性能。CPU、GPU 和 TPU 之间的架构差异为不同的机器学习任务带来了独特的性能表现和成本效益。不正确的选择可能导致严重的资源未充分利用、训练瓶颈以及高昂的云账单。分析各种架构的权衡有助于为您的工作负载选择最合适的处理器。
CPU 设计用于通用性,并能低延迟执行多种任务。其架构包含少量强大复杂的内核,每个内核都能独立执行指令并处理复杂分支逻辑。现代服务器级 CPU 采用单指令多数据 (SIMD) 向量指令,例如 Intel 的 AVX(高级向量扩展),以同时对多个数据点执行相同操作。
对于机器学习,CPU 在以下几个重要方面仍然不可或缺:
然而,对于定义深度学习的大规模矩阵和张量运算,CPU 的架构成为了限制因素。与专用加速器相比,有限的核心数量和较低的内存带宽会形成主要瓶颈,使得它们不适合训练大型神经网络。
GPU 从图形渲染硬件演变而来,成为深度学习训练的事实标准。其架构与 CPU 根本不同。GPU 包含数千个更小、更简单的核心,这些核心优化用于在大量数据阵列上并行执行相同指令。这种设计与神经网络核心的张量代数是理想匹配。
现代数据中心 GPU 的两个架构特点对于 AI 工作负载尤其重要:
张量核心 (Tensor Cores): 这些是集成到 NVIDIA GPU 架构(自 Volta 架构以来)中的专用硬件单元。张量核心旨在加速矩阵乘累加 (MMA) 运算,这是深度学习中的主要计算。它们在混合精度计算方面非常高效。例如,张量核心可以在一次操作中完成两个 16 位浮点矩阵(FP16 或 BF16)的乘法,并将结果加到一个 32 位浮点(FP32)矩阵中。这显著提升了吞吐量(以 FLOPs 衡量),并允许训练更大的模型或缩短训练时间。
高带宽内存 (HBM): 为防止数千个核心出现数据匮乏,数据中心 GPU 配备了 HBM。这种堆叠式 DRAM 技术提供的内存带宽比 CPU 使用的 DDR 内存高出一个数量级。例如,NVIDIA A100 GPU 提供超过 1.5 TB/s 的内存带宽,而高端 CPU 的内存系统可能提供约 200 GB/s。这种高带宽对于训练的前向和后向传播期间向计算单元传输数据非常重要。
大规模并行、专用张量核心和高带宽内存的结合,使得 GPU 成为深度学习模型训练和高吞吐量推理最灵活且广泛使用的加速器。
张量处理器 (TPU) 是 Google 定制设计的专用集成电路 (ASIC),为单一目的而构建:大规模加速神经网络计算。GPU 是一个可编程并行处理器,而 TPU 是一个专用矩阵处理器。
TPU 的核心是其脉动阵列。脉动阵列是由简单数据处理单元组成的网络,在 Google 的架构中称为矩阵乘法单元 (MXU)。数据被加载到处理器中,然后以有节奏的波浪式在阵列中“泵送”。每个处理单元执行一次计算,并将其结果传递给相邻单元。这种设计最大化了处理器内部内存的数据复用,显著减少了访问主内存 (DRAM) 的需求,并最大限度地降低了特定计算的功耗。
TPU 的主要优势源于这种专用设计:
TPU 的专业化也带来了局限。它们的灵活性不如 GPU,最适合表示为大型密集矩阵乘法的工作负载。涉及自定义 CUDA 内核、大量分支或稀疏数据访问模式的运算,可能在 GPU 上表现更好。此外,它们的可用性主要限于 Google Cloud Platform。
在 CPU、GPU 和 TPU 之间做出选择,需要根据每个处理器的架构优势来分析您的特定工作负载。决策过程通常平衡性能、成本和开发灵活性。
基于工作负载特点选择计算硬件的决策流程。最佳选择取决于任务是训练、推理还是数据处理,以及对规模和性能的具体要求。
最终,最佳的基础设施设计通常会组合使用这些处理器。一个典型的 MLOps 管道可能会在数据摄取和预处理步骤中使用 CPU,使用大型 GPU 或 TPU 集群进行分布式训练,并使用一组 GPU 甚至 CPU 来服务生成模型,每个组件的选择旨在最大化其特定任务的性能和成本效益。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造