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

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

3天内不再提示

一文搞懂 CPU、GPU 和 TPU

电子工程师 来源:未知 作者:工程师李察 2018-09-15 10:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

张量处理单元(TPU)是一种定制化的 ASIC 芯片,它由谷歌从头设计,并专门用于机器学习工作负载。TPU 为谷歌的主要产品提供了计算支持,包括翻译、照片、搜索助理和 Gmail 等。

在本文中,我们将关注 TPU 某些特定的属性。

神经网络如何运算

在我们对比 CPUGPU 和 TPU 之前,我们可以先了解到底机器学习或神经网络需要什么样的计算。如下所示,假设我们使用单层神经网络识别手写数字。

如果图像为 28×28 像素的灰度图,那么它可以转化为包含 784 个元素的向量。神经元会接收所有 784 个值,并将它们与参数值(上图红线)相乘,因此才能识别为「8」。其中参数值的作用类似于用「滤波器」从数据中抽取特征,因而能计算输入图像与「8」之间的相似性:

这是对神经网络做数据分类最基础的解释,即将数据与对应的参数相乘(上图两种颜色的点),并将它们加在一起(上图右侧收集计算结果)。如果我们能得到最高的预测值,那么我们会发现输入数据与对应参数非常匹配,这也就最可能是正确的答案。

简单而言,神经网络在数据和参数之间需要执行大量的乘法和加法。我们通常会将这些乘法与加法组合为矩阵运算,这在我们大学的线性代数中会提到。所以关键点是我们该如何快速执行大型矩阵运算,同时还需要更小的能耗。

CPU 如何运行

因此 CPU 如何来执行这样的大型矩阵运算任务呢?一般 CPU 是基于冯诺依曼架构的通用处理器,这意味着 CPU 与软件和内存的运行方式如下:

图:CPU 如何运行

CPU 最大的优势是灵活性。通过冯诺依曼架构,我们可以为数百万的不同应用加载任何软件。我们可以使用 CPU 处理文字、控制火箭引擎、执行银行交易或者使用神经网络分类图像。

但是,由于 CPU 非常灵活,硬件无法一直了解下一个计算是什么,直到它读取了软件的下一个指令。CPU 必须在内部将每次计算的结果保存到内存中(也被称为寄存器或 L1 缓存)。内存访问成为 CPU 架构的不足,被称为冯诺依曼瓶颈。

虽然神经网络的大规模运算中的每一步都是完全可预测的,每一个 CPU 的算术逻辑单元(ALU,控制乘法器和加法器的组件)都只能一个接一个地执行它们,每一次都需要访问内存,限制了总体吞吐量,并需要大量的能耗。

GPU 如何工作

为了获得比 CPU 更高的吞吐量,GPU 使用一种简单的策略:在单个处理器中使用成千上万个 ALU。现代 GPU 通常在单个处理器中拥有 2500-5000 个 ALU,意味着你可以同时执行数千次乘法和加法运算。

图:GPU 如何工作

这种 GPU 架构在有大量并行化的应用中工作得很好,例如在神经网络中的矩阵乘法。实际上,相比 CPU,GPU 在深度学习的典型训练工作负载中能实现高几个数量级的吞吐量。这正是为什么 GPU 是深度学习中最受欢迎的处理器架构。

但是,GPU 仍然是一种通用的处理器,必须支持几百万种不同的应用和软件。这又把我们带回到了基础的问题,冯诺依曼瓶颈。在每次几千个 ALU 的计算中,GPU 都需要访问寄存器或共享内存来读取和保存中间计算结果。

因为 GPU 在其 ALU 上执行更多的并行计算,它也会成比例地耗费更多的能量来访问内存,同时也因为复杂的线路而增加 GPU 的物理空间占用。

TPU 如何工作

当谷歌设计 TPU 的时候,我们构建了一种领域特定的架构。这意味着,我们没有设计一种通用的处理器,而是专用于神经网络工作负载的矩阵处理器。

TPU 不能运行文本处理软件、控制火箭引擎或执行银行业务,但它们可以为神经网络处理大量的乘法和加法运算,同时 TPU 的速度非常快、能耗非常小且物理空间占用也更小。

其主要助因是对冯诺依曼瓶颈的大幅度简化。因为该处理器的主要任务是矩阵处理,TPU 的硬件设计者知道该运算过程的每个步骤。因此他们放置了成千上万的乘法器和加法器并将它们直接连接起来,以构建那些运算符的物理矩阵。

这被称作脉动阵列(Systolic Array)架构。在 Cloud TPU v2 的例子中,有两个 128X128 的脉动阵列,在单个处理器中集成了 32768 个 ALU 的 16 位浮点值。

我们来看看一个脉动阵列如何执行神经网络计算。首先,TPU 从内存加载参数到乘法器和加法器的矩阵中。

图:TPU 如何工作

然后,TPU 从内存加载数据。当每个乘法被执行后,其结果将被传递到下一个乘法器,同时执行加法。因此结果将是所有数据和参数乘积的和。在大量计算和数据传递的整个过程中,不需要执行任何的内存访问。

这就是为什么 TPU 可以在神经网络运算上达到高计算吞吐量,同时能耗和物理空间都很小。

因此使用 TPU 架构的好处就是:成本降低至 1/5。

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

    关注

    462

    文章

    53530

    浏览量

    458880
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11216

    浏览量

    222877
  • 谷歌
    +关注

    关注

    27

    文章

    6244

    浏览量

    110237

原文标题:一文搞懂 CPU、GPU 和 TPU

文章出处:【微信号:FPGAer_Club,微信公众号:FPGAer俱乐部】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    CPUGPU,渲染技术如何重塑游戏、影视与设计?

    渲染技术是计算机图形学的核心内容之,它是将三维场景转换为二维图像的过程。渲染技术直在不断演进,从最初的CPU渲染到后来的GPU渲染,性能和质量都有了显著提升。从
    的头像 发表于 09-01 12:16 663次阅读
    从 <b class='flag-5'>CPU</b> 到 <b class='flag-5'>GPU</b>,渲染技术如何重塑游戏、影视与设计?

    【VisionFive 2单板计算机试用体验】1、开箱初体验(刷系统+静态IP设置+GPU跑分测评)

    GPU跑分 首先用clinfo命令查看GPU,当然也可以在debain-system setting-about界面看到BXE-4-32GPU benchmark软件
    发表于 07-09 21:50

    智算加速卡是什么东西?它真能在AI战场上干掉GPUTPU

    随着AI技术火得塌糊涂,大家都在谈"大模型"、"AI加速"、"智能计算",可真到了落地环节,算力才是硬通货。你有没有发现,现在越来越多的AI企业不光用GPU,也不怎么迷信TPU了?他们嘴里多了
    的头像 发表于 06-05 13:39 1247次阅读
    智算加速卡是什么东西?它真能在AI战场上干掉<b class='flag-5'>GPU</b>和<b class='flag-5'>TPU</b>!

    升压电路搞懂 升压电路技术文档合集

    升压电路图集合,升压电路设计方案,电路设计技巧,升压电路搞懂;给大家分享 升压电路技术文档合集
    的头像 发表于 05-15 15:58 1.7w次阅读
    升压电路<b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>搞懂</b> 升压电路技术文档合集

    GPU服务器与CPU服务器的区别:就能给您说透这两者该怎么选!

    最近,小编这里收到很多企业客户的提问:"我们的业务到底该选GPU服务器还是CPU服务器?" 作为深耕算力领域8年的工程师,今天小编用简单明了的内容给您讲透两者的本质区别,帮您避开选型坑。
    的头像 发表于 04-23 13:18 1338次阅读
    <b class='flag-5'>GPU</b>服务器与<b class='flag-5'>CPU</b>服务器的区别:<b class='flag-5'>一</b><b class='flag-5'>文</b>就能给您说透这两者该怎么选!

    超越CPU/GPU:NPU如何让AI“轻装上阵”?

    电子发烧友网报道(/李弯弯)NPU是种专门为人工智能(AI)计算设计的处理器,主要用于高效执行神经网络相关的运算(如矩阵乘法、卷积、激活函数等)。相较于传统CPU/GPU,NPU在
    的头像 发表于 04-18 00:05 3263次阅读

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

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

    无法在GPU上运行ONNX模型的Benchmark_app怎么解决?

    CPUGPU 上运行OpenVINO™ 2023.0 Benchmark_app推断的 ONNX 模型。 在 CPU 上推理成功,但在 GPU 上失败。
    发表于 03-06 08:02

    CPUGPU:渲染技术的演进和趋势

    渲染技术是计算机图形学的核心内容之,它是将三维场景转换为二维图像的过程。渲染技术直在不断演进,从最初的CPU渲染到后来的GPU渲染,性能和质量都有了显著提升。
    的头像 发表于 02-21 11:11 1366次阅读
    从<b class='flag-5'>CPU</b>到<b class='flag-5'>GPU</b>:渲染技术的演进和趋势

    RK3588性能设置 CPU GPU DDR NPU 频率设置

    RK3588 CPU GPU DDR定频策略
    的头像 发表于 02-15 16:09 2729次阅读

    GPU渲染才是大势所趋?CPU渲染与GPU渲染的现状与未来

    在3D建模和渲染领域,随着技术的发展,CPU渲染和GPU渲染这两种方法逐渐呈现出各自独特的优势,并且在不同的应用场景中各有侧重。尽管当前我们处在CPU渲染和
    的头像 发表于 02-06 11:04 1231次阅读
    <b class='flag-5'>GPU</b>渲染才是大势所趋?<b class='flag-5'>CPU</b>渲染与<b class='flag-5'>GPU</b>渲染的现状与未来

    fpga和cpu的区别 芯片是gpu还是CPU

    、FPGA与CPU的区别 FPGA(Field-Programmable Gate Array,现场可编程门阵列)和CPU(Central Processing Unit,中央处理器)是两种不同类
    的头像 发表于 02-01 14:57 2977次阅读

    2024年GPU出货量增长显著,超越CPU

    6%的同比增长,总量超过2.51亿颗,这数据不仅彰显了GPU市场的繁荣,也反映了当前市场对于图形处理能力的巨大需求。 尤为值得提的是,与同样作为计算机核心部件的CPU相比,
    的头像 发表于 01-17 14:12 823次阅读

    FPGA+GPU+CPU国产化人工智能平台

    平台采用国产化FPGA+GPU+CPU构建嵌入式多核异构智算终端,可形成FPGA+GPU、FPGA+CPUCPU+FPGA等组合模式,形成低功耗、高可扩展性的硬件系统,结合使用场景灵
    的头像 发表于 01-07 16:42 1734次阅读
    FPGA+<b class='flag-5'>GPU+CPU</b>国产化人工智能平台

    ASIC和GPU的原理和优势

    芯片”。 准确来说,除了它俩,计算芯片还包括大家更熟悉的CPU,以及FPGA。 行业里,通常会把半导体芯片分为数字芯片和模拟芯片。其中,数字芯片的市场规模占比较大,达到70%左右。 数字芯片,还可以进步细分,分为:逻辑芯片、存储芯片以及微控制单元(MCU)。
    的头像 发表于 01-06 13:58 3042次阅读
    ASIC和<b class='flag-5'>GPU</b>的原理和优势