在本文中,我们将进行 TPU 与 GPU 的比较。但在我们深入研究之前,这是你必须知道的。
机器学习和人工智能技术加速了智能应用的发展。为此,半导体公司不断创建加速器和处理器,包括 TPU 和 CPU,以处理更复杂的应用程序。
一些用户在理解何时建议使用 TPU 以及何时使用 GPU 来完成他们的计算机任务时遇到了问题。
GPU 也称为图形处理单元,是您 PC 的视频卡,可为您提供视觉和身临其境的 PC 体验。例如,如果您的PC 未检测到 GPU ,您可以按照简单的步骤操作。
为了更好地理解这些情况,我们还需要澄清什么是 TPU 以及它与 GPU 的比较。
什么是 TPU?
TPU 或张量处理单元是用于特定应用的专用集成电路 (IC),也称为 ASIC(专用集成电路)。Google 从头开始创建 TPU,于 2015 年开始使用,并于 2018 年向公众开放。
TPU 作为次要芯片或云版本提供。为了使用 TensorFlow 软件加速神经网络的机器学习,云 TPU 以惊人的速度解决复杂的矩阵和向量运算。
借助 TensorFlow,Google Brain 团队开发了一个开源机器学习平台,研究人员、开发人员和企业可以使用 Cloud TPU 硬件构建和操作 AI 模型。
在训练复杂且稳健的神经网络模型时,TPU 会缩短达到准确值的时间。这意味着使用 GPU 训练可能需要数周时间的深度学习模型所花费的时间不到这一时间的一小部分。
TPU 和 GPU 一样吗?
它们在架构上是高度不同的。图形处理单元本身就是一个处理器,尽管它是通过管道传输到矢量化数值编程的。GPU 实际上是下一代 Cray 超级计算机。
TPU 是不自己执行指令的协处理器;代码在 CPU 上执行,它为 TPU 提供小操作流。
我什么时候应该使用 TPU?
云中的 TPU 是针对特定应用程序量身定制的。在某些情况下,您可能更喜欢使用 GPU 或 CPU 执行机器学习任务。一般来说,以下原则可以帮助您评估 TPU 是否是您工作负载的最佳选择:
- 矩阵计算在模型中占主导地位
- 在模型的主训练循环中,没有自定义 TensorFlow 操作
- 他们是经过数周或数月训练的模特
- 它们是具有广泛、有效批量大小的大型模型。
现在让我们直接进行 TPU 与 GPU 的比较。
GPU和TPU有什么区别?
TPU 与 GPU 架构
TPU 不是高度复杂的硬件,感觉就像是用于雷达应用的信号处理引擎,而不是传统的 X86 衍生架构。
尽管有许多矩阵乘法除法,但它更像是一个协处理器而不是 GPU;它仅执行主机收到的命令。
由于要输入到矩阵乘法组件的权重太多,因此 TPU 的 DRAM 作为单个单元并行运行。
此外,由于 TPU 只能进行矩阵运算,因此 TPU 板与基于 CPU 的主机系统相连,以完成 TPU 无法处理的任务。
主机负责将数据传送到 TPU、预处理以及从云存储中获取详细信息。
GPU 更关心应用可用内核来工作,而不是访问低延迟缓存。
许多具有多个 SM(流式多处理器)的 PC(处理器集群)成为单个 GPU 小工具,每个 SM 中都包含第一层指令缓存层和随附的内核。
在从全局 GDDR-5 内存中提取数据之前,一个 SM 通常使用两个缓存的共享层和一个缓存的专用层。GPU 架构可以容忍内存延迟。
GPU 以最少数量的内存缓存级别运行。但是,由于 GPU 具有更多专用于处理的晶体管,因此它不太关心访问内存中数据的时间。
由于 GPU 一直被足够的计算占用,可能的内存访问延迟被隐藏了。
TPU 与 GPU 速度
这个原始的 TPU 生成有针对性的推理,它使用学习模型而不是训练模型。
在使用神经网络推理的商业 AI 应用程序上,TPU 比当前的 GPU 和 CPU 快 15 到 30 倍。
此外,TPU 非常节能,TOPS/Watt 值增加了 30 到 80 倍。
因此,在进行 TPU 与 GPU 速度比较时,可能性偏向于张量处理单元。
TPU 与 GPU 性能
TPU 是一种张量处理机器,旨在加速 Tensorflow 图计算。
在一块板上,每个 TPU 可提供高达 64 GB 的高带宽内存和 180 teraflops 的浮点性能。
Nvidia GPU 和 TPU 之间的比较如下所示。Y 轴表示每秒的照片数量,而 X 轴表示各种型号。
TPU 与 GPU 机器学习
以下是使用不同批量大小和每个 Epoch 迭代的 CPU 和 GPU 的训练时间:
- 迭代次数/时期:100,批量大小:1000,总时期:25,参数:1.84 M,模型类型:Keras Mobilenet V1(alpha 0.75)。
加速器 | GPU (英伟达 K80) | 热塑性聚氨酯 |
训练准确率 (%) | 96.5 | 94.1 |
验证准确率 (%) | 65.1 | 68.6 |
每次迭代的时间(毫秒) | 69 | 173 |
每个时代的时间 (s) | 69 | 173 |
总时间(分钟) | 30 | 72 |
- Iterations/epoch: 1000, Batch size: 100, Total epochs: 25, Parameters: 1.84 M, and Model type: Keras Mobilenet V1 (alpha 0.75)
加速器 | GPU (英伟达 K80) | 热塑性聚氨酯 |
训练准确率 (%) | 97.4 | 96.9 |
验证准确率 (%) | 45.2 | 45.3 |
每次迭代的时间(毫秒) | 185 | 252 |
每个时代的时间 (s) | 18 | 25 |
总时间(分钟) | 16 | 21 |
从训练时间可以看出,使用较小的批大小,TPU 需要更长的训练时间。但是,随着批量大小的增加,TPU 性能更接近 GPU。
因此,在进行 TPU 与 GPU 训练比较时,很大程度上与时期和批量大小有关。
TPU 与 GPU 基准测试
凭借 0.5 瓦/TOPS,单个 Edge TPU 每秒可以执行 4 万亿次操作。有几个变量会影响这转化为应用程序性能的程度。
神经网络模型有不同的要求,整体输出取决于 USB 加速器设备的主机 USB 速度、CPU 和其他系统资源。
考虑到这一点,下图对比了使用各种标准模型在 Edge TPU 上进行单一推理所花费的时间。当然,为了比较,所有运行的模型都是 TensorFlow Lite 版本。
请注意,上面的给定数据显示了运行模型所需的时间。但是,它不包括处理输入数据所需的时间,这因应用程序和系统而异。
将 GPU 基准测试的结果与用户期望的游戏质量设置和分辨率进行比较。
基于对超过 70,000 个基准测试的评估,我们精心构建了复杂的算法,以生成 90% 的游戏性能可靠估计。
尽管显卡的性能因游戏而异,但下面这张比较图给出了一些显卡的广泛评级指数。
TPU 与 GPU 价格
他们有很大的价格差异。TPU 的成本是 GPU 的五倍。这里有些例子:
- Nvidia Tesla P100 GPU 每小时 1.46 美元
- Google TPU v3 每小时收费 8.00 美元
- 具有 GCP 按需访问的 TPUv2 每小时 4.50 美元
如果以优化成本为目标,那么只有当 TPU 训练模型的速度是 GPU 的 5 倍时,您才应该选择 TPU。
CPU、GPU 和 TPU 有什么区别?
TPU、GPU 和 CPU 之间的区别在于 CPU 是一种非特定用途的处理器,它处理计算机的所有计算、逻辑、输入和输出。
另一方面,GPU 是一个额外的处理器,用于改进图形界面 (GI) 并进行高端活动。TPU 是强大的特制处理器,用于执行使用特定框架(例如 TensorFlow)开发的项目。
我们将它们分类如下:
- 中央处理器 (CPU) – 控制计算机的所有方面
- 图形处理单元 (GPU) – 提高计算机的图形性能
- 张量处理单元 (TPU) – 专为 TensorFlow 项目设计的 ASIC
英伟达制造 TPU 吗?
很多人都想知道 NVIDIA 会如何应对 Google 的 TPU,但我们现在有了答案。
NVIDIA 并没有担心,而是成功地将 TPU 重新定位为可以在有意义时使用的工具,但仍保持其 CUDA 软件和 GPU 处于领先地位。
它通过使技术开源来保持物联网机器学习采用的控制点。然而,这种方法的危险在于,它可能会为一个可能对 NVIDIA 数据中心推理引擎的长期目标构成挑战的概念提供依据。
GPU或TPU更好吗?
总之,我们必须说,尽管开发能够有效使用 TPU 的算法需要额外的成本,但减少的训练成本通常超过额外的编程费用。
选择 TPU 的其他原因包括 v3-128 8 的显存 G 超过了 Nvidia GPU,这使得 v3-8 成为处理与 NLU 和 NLP 相关的大型数据集的更好选择。
更高的速度还可能导致开发周期中的迭代更快,从而导致更快和更频繁的创新,增加市场成功的可能性。
TPU 在创新速度、易用性和可负担性方面优于 GPU;消费者和云架构师应该在他们的 ML 和 AI 计划中考虑 TPU。
谷歌的 TPU 有足够的处理能力,用户必须协调数据输入以确保没有过载。
有了它,TPU 与 GPU 的总比较。我们很想知道您的想法,看看您是否做过任何测试,以及您在 TPU 和 GPU 上收到的结果。
请记住,您可以使用任何适用于 Windows 11 的最佳显卡享受身临其境的 PC 体验。
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun167796.html