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

    文章

    6245

    浏览量

    110270
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

    136236
  • TPU
    TPU
    +关注

    关注

    0

    文章

    164

    浏览量

    21540

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NMSIS神经网络库使用介绍

    () riscv_fully_connected_q7()   NS上跑时和arm的神经网络库一致,可在github上下载CMSIS的库,然后加入到自己库所在的路径下即可。
    发表于 10-29 06:08

    Ubuntu20.04系统中训练神经网络模型的一些经验

    本帖欲分享Ubuntu20.04系统中训练神经网络模型的一些经验。我们采用jupyter notebook作为开发IDE,以TensorFlow2为训练框架,目标是训练一个手写数字识别的神经网络
    发表于 10-22 07:03

    CICC2033神经网络部署相关操作

    完成神经网络量化后,需要将神经网络部署到硬件加速器上。首先需要将所有权重数据以及输入数据导入到存储器内。 仿真环境下,可将其存于一个文件,并在 Verilog 代码中通过 read
    发表于 10-20 08:00

    【「AI芯片:科技探索与AGI愿景」阅读体验】+神经形态计算、类脑芯片

    AI芯片不仅包括深度学细AI加速器,还有另外一个主要列别:类脑芯片。类脑芯片是模拟人脑神经网络架构的芯片。它结合微电子技术和新型神经形态器件,模仿人脑神经系统机选原理进行设计,实现类似人脑的超低
    发表于 09-17 16:43

    神经网络的并行计算与加速技术

    随着人工智能技术的飞速发展,神经网络众多领域展现出了巨大的潜力和广泛的应用前景。然而,神经网络模型的复杂度和规模也不断增加,这使得传统的串行计算
    的头像 发表于 09-17 13:31 892次阅读
    <b class='flag-5'>神经网络</b>的并行<b class='flag-5'>计算</b>与加速技术

    神经网络RAS异步电机转速估计中的仿真研究

    ,在一定程度上扩展了转速估计范围。 纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:神经网络RAS异步电机转速估计中的仿真研究.pdf【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权
    发表于 06-16 21:54

    TPU处理器的特性和工作原理

    张量处理单元(TPU,Tensor Processing Unit)是一种专门为深度学习应用设计的硬件加速器。它的开发源于对人工智能(AI)和机器学习应用的需求,尤其是深度学习中的神经网络计算
    的头像 发表于 04-22 09:41 3373次阅读
    <b class='flag-5'>TPU</b>处理器的特性和工作原理

    谷歌第七代TPU Ironwood深度解读:AI推理时代的硬件革命

    谷歌第七代TPU Ironwood深度解读:AI推理时代的硬件革命 Google 发布了 Ironwood,这是其第七代张量处理单元 (TPU),专为推理而设计。这款功能强大的 AI 加速器旨在处理
    的头像 发表于 04-12 11:10 2935次阅读
    <b class='flag-5'>谷歌</b>第七代<b class='flag-5'>TPU</b> Ironwood深度解读:AI推理时代的硬件革命

    谷歌新一代 TPU 芯片 Ironwood:助力大规模思考与推理的 AI 模型新引擎​

    电子发烧友网报道(文 / 李弯弯)日前,谷歌 Cloud Next 大会上,隆重推出了最新一代 TPU AI 加速芯片 ——Ironwood。据悉,该芯片预计于今年晚些时候面向 Google
    的头像 发表于 04-12 00:57 3231次阅读

    BP神经网络网络结构设计原则

    BP(back propagation)神经网络是一种按照误差逆向传播算法训练的多层前馈神经网络,其网络结构设计原则主要基于以下几个方面: 一、层次结构 输入层 :接收外部输入信号,不
    的头像 发表于 02-12 16:41 1259次阅读

    BP神经网络与卷积神经网络的比较

    BP神经网络与卷积神经网络多个方面存在显著差异,以下是对两者的比较: 一、结构特点 BP神经网络 : BP
    的头像 发表于 02-12 15:53 1324次阅读

    什么是BP神经网络的反向传播算法

    神经网络(即反向传播神经网络)的核心,它建立梯度下降法的基础上,是一种适合于多层神经元网络的学习算法。该算法通过计算每层
    的头像 发表于 02-12 15:18 1289次阅读

    BP神经网络图像识别中的应用

    BP神经网络图像识别中发挥着重要作用,其多层结构使得网络能够学习到复杂的特征表达,适用于处理非线性问题。以下是对BP神经网络图像识别中应
    的头像 发表于 02-12 15:12 1193次阅读

    TPU编程竞赛系列|第九届集创赛“算能杯”火热报名中!

    第九届全国大学生集成电路创新创业大赛(以下简称“集创赛”)正式开始报名。算能在处理器应用方向特别设立了“TPU赋能的边缘计算架构优化与创新应用设计”赛题,诚邀各校参赛队伍充分发挥TPU的算力
    的头像 发表于 02-06 13:41 1601次阅读
    <b class='flag-5'>TPU</b>编程竞赛系列|第九届集创赛“算能杯”火热报名中!

    人工神经网络的原理和多种神经网络架构方法

    在上一篇文章中,我们介绍了传统机器学习的基础知识和多种算法。本文中,我们会介绍人工神经网络的原理和多种神经网络架构方法,供各位老师选择。 01 人工神经网络   人工
    的头像 发表于 01-09 10:24 2265次阅读
    人工<b class='flag-5'>神经网络</b>的原理和多种<b class='flag-5'>神经网络</b>架构方法