广告

TPU为何能超越GPU,成为深度学习首选处理器?

2018-09-04 12:38:26 Kaz Sato 阅读:
很多读者可能分不清楚 CPU、GPU 和 TPU 之间的区别,因此 Google Cloud 将在这篇文章中简要介绍它们之间的区别,并讨论为什么 TPU 能加速深度学习。

张量处理单元(TPU)是一种定制化的 ASIC 芯片,它由谷歌从头设计,并专门用于机器学习工作负载。TPU 为谷歌的主要产品提供了计算支持,包括翻译、照片、搜索助理和 Gmail 等。Cloud TPU 将 TPU 作为可扩展的云计算资源,并为所有在 Google Cloud 上运行尖端 ML 模型的开发者与数据科学家提供计算资源。在 Google Next’18 中,我们宣布 TPU v2 现在已经得到用户的广泛使用,包括那些免费试用用户,而 TPU v3 目前已经发布了内部测试版。r7Bednc

033ednc20180903r7Bednc

第三代 Cloud TPUr7Bednc

034ednc20180903r7Bednc

如上为 tpudemo.com 截图,该网站 PPT 解释了 TPU 的特性与定义。在本文中,我们将关注 TPU 某些特定的属性。r7Bednc

神经网络如何运算

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

035ednc20180903r7Bednc

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

036ednc20180903r7Bednc

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

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

CPU 如何运行

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

037ednc20180903r7Bednc

CPU 如何运行:该动图仅展示了概念性原理,并不反映 CPU 的实际运算行为。r7Bednc

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

但是,由于 CPU 非常灵活,硬件无法一直了解下一个计算是什么,直到它读取了软件的下一个指令。CPU 必须在内部将每次计算的结果保存到内存中(也被称为寄存器或 L1 缓存)。内存访问成为 CPU 架构的不足,被称为冯诺依曼瓶颈。虽然神经网络的大规模运算中的每一步都是完全可预测的,每一个 CPU 的算术逻辑单元(ALU,控制乘法器和加法器的组件)都只能一个接一个地执行它们,每一次都需要访问内存,限制了总体吞吐量,并需要大量的能耗。r7Bednc

GPU 如何工作

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

 r7Bednc

038ednc20180903r7Bednc

GPU 如何工作:这个动画仅用于概念展示。并不反映真实处理器的实际工作方式。r7Bednc

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

但是,GPU 仍然是一种通用的处理器,必须支持几百万种不同的应用和软件。这又把我们带回到了基础的问题,冯诺依曼瓶颈。在每次几千个 ALU 的计算中,GPU 都需要访问寄存器或共享内存来读取和保存中间计算结果。因为 GPU 在其 ALU 上执行更多的并行计算,它也会成比例地耗费更多的能量来访问内存,同时也因为复杂的线路而增加 GPU 的物理空间占用。r7Bednc

TPU 如何工作

当谷歌设计 TPU 的时候,我们构建了一种领域特定的架构。这意味着,我们没有设计一种通用的处理器,而是专用于神经网络工作负载的矩阵处理器。TPU 不能运行文本处理软件、控制火箭引擎或执行银行业务,但它们可以为神经网络处理大量的乘法和加法运算,同时 TPU 的速度非常快、能耗非常小且物理空间占用也更小。r7Bednc

其主要助因是对冯诺依曼瓶颈的大幅度简化。因为该处理器的主要任务是矩阵处理,TPU 的硬件设计者知道该运算过程的每个步骤。因此他们放置了成千上万的乘法器和加法器并将它们直接连接起来,以构建那些运算符的物理矩阵。这被称作脉动阵列(Systolic Array)架构。在 Cloud TPU v2 的例子中,有两个 128X128 的脉动阵列,在单个处理器中集成了 32768 个 ALU 的 16 位浮点值。r7Bednc

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

038ednc20180903r7Bednc

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

040ednc20180903r7Bednc

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

好处:成本降低至 1/5

因此使用 TPU 架构的好处就是:降低成本。以下是截至 2018 年 8 月(写这篇文章的时候)Cloud TPU v2 的使用价格。r7Bednc

041ednc20180903r7Bednc

Cloud TPU v2 的价格,截至 2018 年 8 月。r7Bednc

斯坦福大学发布了深度学习和推理的基准套装 DAWNBench。你可以在上面找到不同的任务、模型、计算平台以及各自的基准结果的组合。r7Bednc

DAWNBench:https://dawn.cs.stanford.edu/benchmark/r7Bednc

在 DAWNBench 比赛于 2018 年 4 月结束的时候,非 TPU 处理器的最低训练成本是 72.40 美元(使用现场实例训练 ResNet-50 达到 93% 准确率)。而使用 Cloud TPU v2 抢占式计价,你可以在 12.87 美元的价格完成相同的训练结果。这仅相当于非 TPU的不到 1/5 的成本。这正是神经网络领域特定架构的威力之所在。r7Bednc

(原文链接:https://cloud.google.com/blog/products/ai-machine-learning/what-makes-tpus-fine-tuned-for-deep-learning;机器之心编译)r7Bednc

  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
  • 因眼睛小车主被辅助驾驶误判“开车睡觉”,小鹏、蔚来回 昨日,汽车博主@常岩CY 发博称自己突然上了热搜,原来就是因自己眼睛小被小鹏汽车自动驾驶误判“开车睡觉”,不住的发出提醒。此外,@常岩CY 称在多款车型上都收到此困扰。无论是红外还是摄像头,只要开始检测眼睛,就会判定过度疲劳。小鹏P7会提示他睡觉,蔚来ET7一开车就认为其疲劳和走神,岚图FREE会在冬天为了让其“别困”而打开冷风……
  • 国际象棋机器人Chessrobot夹断对手手指,意外还是设计缺 据悉,在7月19日的莫斯科国际象棋公开赛期间,一位7岁小男孩疑似因提前走子犯规手,意外被“对手”国际象棋机器人Chessrobot夹住手指,造成指骨骨折,该事件登上了热搜榜。该男孩是莫斯科9岁以下最强的30位棋手之一。
  • “智能家居”未来将可通过呼吸控制操作 凯斯西储大学的研究人员创造了一个简单的原型设备,使用户能够通过改变他们的呼吸模式来控制“智能家居”。这种自供电装置可放入鼻孔,并有可能提高行动不便或无法清晰说话的人的生活质量。如果个人呼吸困难,它也可以编程为医务人员提供自动警报。
  • 核酸采样机器人将取代“大白”?用了哪些技术保证采样准 取棉签、核酸采样、储存核酸采样管、设备消杀……动作精准流畅,今后给你核酸采样的可能不再是“大白”,而是机器人。EDN小编就带大家来看看,目前已被使用的核酸采样机器人有哪些?
  • 一个AI程序就可将手机电池增加30% 一项尖端的人工智能开发可以将智能手机的电池寿命延长 30%。这项应用则是利用 AI 分析正在使用的应用程序的 FPS 变化,并试图找到 CPU 和 GPU 处理器的最佳运行频率以适应变化,同时消耗设备中最少的功率和温度增益……
  • AI视觉芯片如何赋能两轮车出行? 6月29日,在由全球领先的专业电子机构媒体AspenCore和深圳市新一代信息通信产业集群联合主办的“2022国际AIoT生态发展大会-智慧两轮车分论坛”中,嘉楠科技副总裁汤炜伟以《勘智AI视觉芯,赋能智眼两轮行》为主题,向大家分享了嘉楠地芯片设计创新历程,及其RISCV架构AI芯片技术路线图,并以具体案例展示AI视觉芯片如何赋能两轮车出行。
  • 碎片化、成本高是难题,AIoT行业需要哪些改变? 作为AIoT的行业基石,物联网市场到2022年预计将达到 144 亿活跃连接。随着供应限制的缓解和增长的进一步加速,IoT Analytics 最新预测指出,到2025年全球将有大约 270 亿台联网物联网设备。中国物联网链接到2025年也将达到80亿。随着整个AIoT和IoT市场的快速成长与变化,我们将面临哪些风险和挑战?
  • 英特尔张宇:边缘AI有三个阶段,我们还处在山脚 在AspenCore举办的“2022国际AIoT生态发展大会”上,英特尔公司高级首席工程师、物联网事业部中国区首席技术官张宇博士通过视频方式分享了“边缘AI技术发展趋势与展望”主题演讲。
  • 世界上尺寸最大的芯片Wafer Scale Engine-2打破了在单 Cerebras公司售价数百万美元的“全球最大AI芯片”Wafer Scale Engine-2又有新消息,在基于单个Wafer Scale Engine-2芯片的CS-2系统上训练了世界上最大的拥有200亿参数的NLP(自然语言处理)人工智能模型。
  • 婴儿或可帮助解锁下一代人工智能 都柏林圣三一学院的神经科学家及其同事刚刚发布了改进人工智能的新指导原则,他们表示,婴儿可以帮助解锁下一代人工智能(AI)。
  • 日本要利用机器学习实现半导体研究自动化 新型薄半导体材料的开发需要对大量反射高能电子衍射(RHEED)数据进行定量分析,既耗时又需要专业知识。为了解决这个问题,东京理科大学的科学家们确定了可以帮助自动化 RHEED 数据分析的机器学习技术。他们的发现可以极大地加速半导体研究,并为更快、更节能的电子设备铺平道路。
  • 纯视觉自动驾驶更安全?美国交通部发布数据打脸特斯拉 特斯拉的纯视觉自动驾驶到底效果如何?真的如马斯克所说的:“通过摄像头和计算机网络让自动驾驶比人类驾驶更安全”吗?近日美国国家公路交通安全管理局发布了一份新的数据,颇有打脸特斯拉的意味。
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了