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

    文章

    6257

    浏览量

    111947
  • 机器学习
    +关注

    关注

    67

    文章

    8561

    浏览量

    137208
  • TPU
    TPU
    +关注

    关注

    0

    文章

    171

    浏览量

    21715

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    直击英伟达腹地?谷歌TPU v7开放部署,催生OCS产业链红利

    Processing Unit, TPU)构建了一套完整的AI算力基础设施体系。   11月,谷歌宣布第七代 TPU v7(代号 Ironwood)将在后续几周大规模上市。与此消息同步出来的还有:允许客户
    的头像 发表于 11-27 08:53 9686次阅读
    直击英伟达腹地?<b class='flag-5'>谷歌</b><b class='flag-5'>TPU</b> v7开放部署,催生OCS产业链红利

    AI芯片大单!Anthropic从博通采购100万颗TPU v7p芯片

    Anthropic供应基于TPU v7p的机架级 AI 系统,绕过TPU芯片的另一开发参与方谷歌。不过谷歌预计仍可从 Anthropic 同博通的交易中取得 IP授权收入。   博通
    的头像 发表于 01-06 08:38 1.1w次阅读

    神经网络的初步认识

    日常生活中的智能应用都离不开深度学习,而深度学习则依赖于神经网络的实现。什么是神经网络神经网络的核心思想是模仿生物神经系统的结构,特别是大脑中神经
    的头像 发表于 12-17 15:05 452次阅读
    <b class='flag-5'>神经网络</b>的初步认识

    谷歌云发布最强自研TPU,性能比前代提升4倍

    电子发烧友网报道(文/李弯弯)近日,谷歌官方博客上正式宣布,公司成功推出第七代TPU(张量处理器)“Ironwood”,该芯片预计未来几周内正式上市。   “Ironwood”由
    的头像 发表于 11-13 07:49 8921次阅读
    <b class='flag-5'>谷歌</b>云发布最强自研<b class='flag-5'>TPU</b>,性能比前代提升4倍

    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

    液态神经网络(LNN):时间连续性与动态适应性的神经网络

    1.算法简介液态神经网络(LiquidNeuralNetworks,LNN)是一种新型的神经网络架构,其设计理念借鉴自生物神经系统,特别是秀丽隐杆线虫的神经结构,尽管这种微生物的
    的头像 发表于 09-28 10:03 1529次阅读
    液态<b class='flag-5'>神经网络</b>(LNN):时间连续性与动态适应性的<b class='flag-5'>神经网络</b>

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

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

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

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

    神经网络专家系统电机故障诊断中的应用

    的诊断误差。仿真结果验证了该算法的有效性。 纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:神经网络专家系统电机故障诊断中的应用.pdf【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版
    发表于 06-16 22:09

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

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

    基于FPGA搭建神经网络的步骤解析

    本文的目的是一个神经网络已经通过python或者MATLAB训练好的神经网络模型,将训练好的模型的权重和偏置文件以TXT文件格式导出,然后通过python程序将txt文件转化为coe文件,(coe
    的头像 发表于 06-03 15:51 1489次阅读
    基于FPGA搭建<b class='flag-5'>神经网络</b>的步骤解析

    AI神经网络降噪算法语音通话产品中的应用优势与前景分析

    的语音保真度以及更低的延迟,能够有效应对复杂噪声场景。本文将探讨AI神经网络降噪语音通话产品中的核心优势,并分析其未来发展趋势和市场前景
    的头像 发表于 05-16 17:07 1838次阅读
    AI<b class='flag-5'>神经网络</b>降噪算法<b class='flag-5'>在</b>语音通话产品中的应用<b class='flag-5'>优势</b>与前景分析

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

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