0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

谷歌最便宜TPU值不值得买?TPU在执行神经网络计算方面的优势

DPVg_AI_era 来源:lp 2019-03-21 09:09 次阅读

谷歌本月推出千元级搭载Edge TPU芯片的开发板,性能令人期待。本文以可视化图形的方式,对比TPU、GPUCPU,解释了TPU在执行神经网络计算方面的优势。

谷歌最便宜 TPU 值不值得买?

谷歌 Edge TPU 在本月初终于公布价格 —— 不足 1000 元人民币,远低于 TPU。

实际上,Edge TPU 基本上就是机器学习树莓派,它是一个用 TPU 在边缘进行推理的设备。

Edge TPU(安装在 Coral 开发板上)

云 vs 边缘

Edge TPU显然是在边缘(edge)运行的,但边缘是什么呢?为什么我们不选择在云上运行所有东西呢?

在云中运行代码意味着你使用的CPU、GPU和TPU都是通过浏览器提供的。在云中运行代码的主要优点是,你可以为特定的代码分配必要的计算能力(训练大型模型可能需要大量的计算)。

边缘与云相反,意味着你是在本地运行代码(也就是说你能够实际接触到运行代码的设备)。在边缘运行代码的主要优点是没有网络延迟。由于物联网设备通常要频繁地生成数据,因此运行在边缘上的代码非常适合基于物联网的解决方案。

对比 CPU、GPU,深度剖析 TPU

TPU(Tensor Processing Unit, 张量处理器)是类似于CPU或GPU的一种处理器。不过,它们之间存在很大的差异。最大的区别是TPU是ASIC,即专用集成电路。ASIC经过优化,可以执行特定类型的应用程序。对于TPU来说,它的特定任务就是执行神经网络中常用的乘积累加运算。CPU和GPU并未针对特定类型的应用程序进行优化,因此它们不是ASIC。

下面我们分别看看 CPU、GPU 和 TPU 如何使用各自的架构执行累积乘加运算:

在 CPU 上进行累积乘加运算

CPU 通过从内存中读取每个输入和权重,将它们与其 ALU (上图中的计算器) 相乘,然后将它们写回内存中,最后将所有相乘的值相加,从而执行乘积累加运算。

现代 CPU 通过其每个内核上的大量缓存、分支预测和高时钟频率得到增强。这些都有助于降低 CPU 的延迟。

GPU 上的乘积累加运算

GPU 的原理类似,但它有成千上万的 ALU 来执行计算。计算可以在所有 ALU 上并行进行。这被称为 SIMD (单指令流多数据流),一个很好的例子就是神经网络中的多重加法运算。

然而,GPU 并不使用上述那些能够降低延迟的功能。它还需要协调它的数千个 ALU,这进一步减少了延迟。

简而言之,GPU 通过并行计算来大幅提高吞吐量,代价是延迟增加。或者换句话说:

CPU 是一个强大而训练有素的斯巴达战士,而 GPU 就像一支庞大的农民大军,但农民大军可以打败斯巴达战士,因为他们人多。

读取 TPU 上的乘加操作的权重

TPU 的运作方式非常不同。它的 ALU 是直接相互连接的,不需要使用内存。它们可以直接提供传递信息,从而大大减少延迟。

从上图中可以看出,神经网络的所有权重都被加载到 ALU 中。完成此操作后,神经网络的输入将加载到这些 ALU 中以执行乘积累加操作。这个过程如下图所示:

TPU 上的乘加操作

如上图所示,神经网络的所有输入并不是同时插入 ALU 的,而是从左到右逐步地插入。这样做是为了防止内存访问,因为 ALU 的输出将传播到下一个 ALU。这都是通过脉动阵列 (systolic array) 的方式完成的,如下图所示。

使用脉动阵列执行乘加操作

上图中的每个灰色单元表示 TPU 中的一个 ALU (其中包含一个权重)。在 ALU 中,乘加操作是通过将 ALU 从顶部得到的输入乘以它的权重,然后将它与从左编得到的值相加。此操作的结果将传播到右侧,继续完成乘加操作。ALU 从顶部得到的输入被传播到底部,用于为神经网络层中的下一个神经元执行乘加操作。

在每一行的末尾,可以找到层中每个神经元的乘加运算的结果,而不需要在运算之间使用内存。

使用这种脉动阵列显著提高了 Edge TPU 的性能。

Edge TPU 推理速度超过其他处理器架构

TPU 还有一个重要步骤是量化 (quantization)。由于谷歌的 Edge TPU 使用 8 位权重进行计算,而通常使用 32 位权重,所以我们应该将权重从 32 位转换为 8 位。这个过程叫做量化。

量化基本上是将更精确的 32 位数字近似到 8 位数字。这个过程如下图所示:

量化

四舍五入会降低精度。然而,神经网络具有很好的泛化能力 (例如 dropout),因此在使用量化时不会受到很大的影响,如下图所示。

非量化模型与量化模型的精度

量化的优势更为显著。它减少了计算量和内存需求,从而提高了计算的能源效率。

Edge TPU 执行推理的速度比任何其他处理器架构都要快。它不仅速度更快,而且通过使用量化和更少的内存操作,从而更加环保。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
    +关注

    关注

    27

    文章

    5861

    浏览量

    103263
  • 机器学习
    +关注

    关注

    66

    文章

    8126

    浏览量

    130570
  • TPU
    TPU
    +关注

    关注

    0

    文章

    132

    浏览量

    20548

原文标题:一文读懂:谷歌千元级Edge TPU为何如此之快?

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Groq推出大模型推理芯片 超越了传统GPU和谷歌TPU

    Groq推出了大模型推理芯片,以每秒500tokens的速度引起轰动,超越了传统GPU和谷歌TPU
    的头像 发表于 02-26 10:24 387次阅读
    Groq推出大模型推理芯片 超越了传统GPU和<b class='flag-5'>谷歌</b><b class='flag-5'>TPU</b>

    tpu材料的用途和特点

    TPU材料,即热塑性聚氨酯(Thermoplastic Polyurethane),是一种聚合物材料,具有广泛的应用领域和独特的特点。 TPU材料的主要用途如下: 鞋类行业:TPU材料常用于鞋类
    的头像 发表于 01-16 10:17 794次阅读

    TPU是什么材料做的

    TPU(Thermoplastic Polyurethane)是热塑性聚氨酯的简称,属于一种高强度、高弹性、高耐磨的特种塑料材料。它是由聚醚或聚酯两元醇与三元异氰酸酯或四元稀土异氰酸酯通过共聚反应
    的头像 发表于 01-12 13:40 661次阅读

    TPU-MLIR开发环境配置时出现的各种问题求解

    。参考下文配置Docker。 2.2. Docker配置 TPU-MLIRDocker环境开发, 配置好Docker就可以编译和运行了。 从 DockerHub https
    发表于 01-10 08:02

    谷歌TPU v5p超越Nvidia H100,成为人工智能领域的竞争对手

    TPU v5p已在谷歌“AI超级计算机”项目中发挥重要作用,这并非专业科研型超算平台,而是面向各类人工智能应用。与Nvidia开放GPU购买策略不同,谷歌高端
    的头像 发表于 12-26 15:20 930次阅读

    谷歌发布多模态Gemini大模型及新一代TPU系统Cloud TPU v5p

    谷歌亦发布新一代TPU 系统——Cloud TPU v5p,以帮助训练尖端的 AI 模型。目
    的头像 发表于 12-12 10:50 805次阅读
    <b class='flag-5'>谷歌</b>发布多模态Gemini大模型及新一代<b class='flag-5'>TPU</b>系统Cloud <b class='flag-5'>TPU</b> v5p

    价格没谈拢?谷歌考虑抛弃AI赢家博通自研TPU

    今天,谷歌高层管理层讨论了在2027年放弃博通作为人工智能芯片的供应商。谷歌的这种苦恼是在就tpu芯片价格与博通对峙之后才实现的。
    的头像 发表于 09-22 09:34 350次阅读

    “model_transform.py”添加参数“--resize_dims 640,640”是否表示tpu会自动resize的?

    “model_transform.py”添加参数“--resize_dims 640,640”是否表示tpu会自动resize的?我看到yolov5的sample代码里都用opencv做了
    发表于 09-18 07:56

    TPU和NPU的区别

    TPU和NPU的区别  在IT领域中,TPU和NPU属于两种不同类型的芯片。这两种芯片都是专为人工智能(AI)和大型数据分析设计而开发的,但它们的功能和优点却有所不同。在本文中,我们将详细介绍TPU
    的头像 发表于 08-27 17:08 3639次阅读

    卷积神经网络计算公式

    神经网络计算公式 神经网络是一种类似于人脑的神经系统的计算模型,它是一种可以用来进行模式识别、分类、预测等任务的强大工具。在深度学习领域,
    的头像 发表于 08-21 16:49 1212次阅读

    TPU内存(一)

    TPU内存(一)
    的头像 发表于 08-18 11:29 428次阅读
    <b class='flag-5'>TPU</b>内存(一)

    TPU-MLIR中的融合处理

    TPU-MLIR中的融合处理
    的头像 发表于 08-18 11:29 312次阅读
    <b class='flag-5'>TPU</b>-MLIR中的融合处理

    TPU内存(二)

    TPU内存(二)
    的头像 发表于 08-18 11:29 269次阅读
    <b class='flag-5'>TPU</b>内存(二)

    ChatGLM2-6B解析与TPU部署

    ChatGLM2-6B解析与TPU部署
    的头像 发表于 08-18 11:28 520次阅读
    ChatGLM2-6B解析与<b class='flag-5'>TPU</b>部署

    如何验证MC68332 TPU配置是否正确?

    a) 以下 TPU 模块配置项目中完成 *M332_TPU_TMCR = 0x1e4c;/* 选择 TCR1 时基 = 250nsec, TCR2 = 4usec,仿真模式
    发表于 05-09 08:17