一、引言
随着科技的飞速发展,计算力已成为当今时代的重要驱动力。
从云计算、边缘计算到人工智能,无处不在体现计算力的巨大价值。
近年来,TPU(Tensor Processing Unit,张量处理单元)专用计算机作为新一代计算平台,凭借其高性能、高能效、高灵活性等特点,逐渐在计算领域崭露头角。
本文将介绍TPU专用计算机的创新应用,以及它们如何引领未来计算的发展。
二、TPU专用计算机概述
TPU是一种专门为处理张量计算而设计的处理器,其优势明显,尤其在处理大规模并行计算任务时表现突出。
TPU专用计算机则是以TPU为核心,结合高性能硬件和软件技术,构建的一种高效计算平台。
TPU专用计算机的出现,不仅提高了数据处理速度,还降低了能耗,极大地推动了人工智能、机器学习等领域的发展。
三、TPU专用计算机的创新应用
1. 人工智能领域
在人工智能领域,TPU专用计算机发挥着举足轻重的作用。
由于其高效的并行处理能力,TPU成为深度学习模型训练和推理的理想选择。
谷歌的TPU系列产品在人工智能领域的应用尤为突出,为机器学习模型的训练提供了强大的支持。
2. 云计算和边缘计算
TPU专用计算机在云计算和边缘计算领域也展现出强大的实力。
借助TPU的高性能计算能力,云服务提供商能够为用户提供更快速、更高效的数据处理服务。
同时,在边缘计算场景中,TPU专用计算机有助于实现实时数据分析、智能决策等功能,满足物联网设备的计算需求。
3. 自动驾驶技术
自动驾驶技术需要处理海量的数据,包括感知、规划、决策等各个环节。
TPU专用计算机的高性能计算能力,使其成为自动驾驶技术的理想计算平台。
通过TPU的计算能力,自动驾驶系统能够更快速地处理数据,提高行车安全性。
4. 生命科学和基因组学
生命科学和基因组学领域的研究需要大量的数据处理和分析。
TPU专用计算机的高性能计算能力,有助于研究人员更快地处理和分析基因数据,推动生命科学的研究进展。
5. 物联网和智能家居
随着物联网和智能家居的快速发展,海量的设备需要处理数据并进行实时决策。
TPU专用计算机的高灵活性和低功耗特点,使其成为物联网和智能家居领域的理想计算平台。
通过TPU的计算能力,智能家居设备能够更智能地响应用户需求,提高生活品质。
四、未来展望
随着技术的不断进步,TPU专用计算机将在未来计算领域发挥更加重要的作用。
随着算法和应用的不断优化,TPU的性能将得到进一步提升。
随着5G、边缘计算等技术的普及,TPU专用计算机将在更多领域得到应用。
随着硬件和软件技术的融合,TPU专用计算机将实现更高的能效比,推动绿色计算的发展。
五、结语
TPU专用计算机作为新一代计算平台,凭借其高性能、高能效、高灵活性等特点,逐渐在计算领域崭露头角。
其在人工智能、云计算、边缘计算、自动驾驶、生命科学等领域的应用,展示了广阔的前景。
展望未来,我们有理由相信,TPU专用计算机将在更多领域发挥重要作用,引领未来计算的发展。
【VISION GUIDE – 14】AI芯片大科普
AI芯片,作为加速深度学习与机器学习任务的关键组件,正引领着人工智能技术的革新。
这些专用处理器相比传统的CPU与GPU,以更高的效率与性能推动AI应用的边界。
下文将详细介绍几种AI芯片及其特性。
DSA(Domain-Specific Architecture):此术语涵盖了针对特定领域优化的加速器架构,包括图形加速单元(GPU)、神经网络处理器(NPU/TPU)以及软件定义网络(SDN)处理器等。
它们通过贴近应用需求,实现了计算效率的大幅提升。
DLA(Deep Learning Accelerator):作为AI芯片家族的成员,DLA专注于优化神经网络训练与推理过程,通过高度优化神经网络计算中最常见的操作(如矩阵乘法、卷积运算等),显著提升了处理速度与能效。
NPU(Neural Processing Unit):NPU旨在提高神经网络处理效率,其架构设计旨在克服传统冯·诺伊曼架构在神经网络应用中计算与存储分离的限制。
NPU通过数据驱动并行计算,尤其擅长处理深度学习相关的视频、图像等多媒体数据。
TPU(Tensor Processing Unit):由Google自主研发的AI芯片,TPU在深度学习任务上展现出极高的硬件能耗比与运算效率。
第一代TPU问世时,其处理速度相较于GPU与CPU快15-30倍,能效提升30到80倍,成为AI加速领域的经典案例。
综上所述,AI芯片通过在架构设计与性能优化方面的创新,为AI应用提供了强大的计算支持。
随着科技巨头与芯片厂商的持续投入与创新,AI技术的未来发展与普及将得到进一步推动。
AI:GPU、TPU 和 NPU
人工智能(AI)正推动创新,尤其是大规模数据处理方面。
机器学习(ML)与深度学习(DL)旨在解决复杂问题,自我学习,爆炸计算机功能可能性。
随着问题复杂性增长,计算机进程数量爆炸,专用处理器兴起,包括神经处理单元(NPU)、图形处理单元(GPU)与张量处理单元(TPU)。
中央处理器(CPU)视为计算机通用设备,包含算术逻辑单元(ALU)与控制单元。
ALU执行算术与逻辑运算,控制单元管理程序访问、存储器与输入/输出功能。
CPU通过输入/输出流执行任务:接受请求、访问内存、委托给ALU或专用处理器、返回结果。
电路图显示ALU工作,逻辑图概述CPU功能。
多核处理器通过并行任务执行,与GPU等AI处理器结合高效。
GPU最初用于图形处理,支持大量并行处理,协同CPU,执行通用计算。
CUDA平台允许程序员直接访问GPU,设置内核集群执行逻辑查询。
GPU广泛用于机器学习,配合现有系统、编程语言,易于采用。
GPU与开源平台、张量核心并存。
TPU为谷歌专有AI处理器,设计精度较低,适应不同工作负载,与ASIC、TensorFlow软件结合。
TPU围绕时钟阵列设计,创建处理器网络,每个节点固定,程序可编程,称为数据处理单元(DPU)。
设计选择影响规模,而非消费者层面,适用于更大数据集处理,减少功耗。
NPU设计用于移动设备,基于突触权重原理运行,模仿生物连接强度。
AI算法学习跟踪可能性,赋予连接更多权重,减少功耗。
神经网络基于矩阵数学,让计算机检查所有可能决定,权衡结果,学习经验与信息。
不同处理器设计存在细微差异,影响规模而非消费者层面。
专用处理器更高效处理大量数据,减少电力消耗,但随着人工智能工具使用增加,净功耗可能增加。
理解物理现实与挑战解决有助于更有效使用工具,未来做更多酷事。
回顾历史,计算机基本语言为二进制代码,表示为0与1。
晶体管作为开关或栅极,控制电流,产生电信号。
晶体管组合形成集成电路芯片,用于读取信息。
晶体管尺寸减小与密度增加导致容量、速度与功耗提高。
集成电路芯片发明于1958年左右,由不同人解决不同挑战推动。
现代芯片可容纳数十亿晶体管,手机内集成计算机能力。
硬件灵活性与软件协同工作至关重要。
ASIC创建定制芯片,FPGA提供可编程芯片,适应深度学习算法快速迭代。
FPGA允许在单芯片上使用多种功能,减少延迟,克服瓶颈。
混合解决方案结合ASIC与FPGA功效。
材料科学与微芯片结构改进提供AI所需处理能力。
行业巨头如英伟达、英特尔、谷歌与Microsoft利用专用处理器满足AI需求。
软件将多个处理内核联网,控制与分配负载,提高速度。
专用芯片满足AI大量需求,AI技术持续发展。
Google深度揭秘TPU:小哥看懂运算原理,以及为何碾压GPU
发布TPU论文后,Google在谷歌云官方博客上再次发文,详细阐述了TPU的运算处理过程,并对比了其与CPU、GPU和核心的差异。
量子位编译了这篇文章的要点,原文/blog/b…李林 舒石 编译整理量子位 报道 | 公众号 QbitAIGoogle提供的服务,如搜索、街景、照片、翻译等,都采用了TPU(张量处理器)来加速背后的神经网络计算。
△ 在PCB板上的Google首款TPU和部署了TPU的数据中心去年Google推出TPU并在近期对这一芯片的性能和架构进行了详细的研究。
结论是:TPU与同期CPU和GPU相比,可提供15-30倍的性能提升,以及30-80倍的效率提升。
这意味着,Google的服务可以大规模运行于最先进的神经网络,同时把成本控制在可接受的范围内。
以下内容将深入解读Google TPU中的技术,并讨论如何实现更出色的性能。
通往TPU之路早在2006年,Google就开始考虑为神经网络构建专用集成电路(ASIC)。
2013年,这一需求变得更加紧迫,当时Google意识到快速增长的计算需求可能导致数据中心数量翻番。
通常而言,ASIC的开发需要耗时数年。
但TPU从设计到验证、构建和部署到数据中心仅需15个月。
TPU ASIC采用28nm工艺制造,主频700MHz,功耗40W。
为了快速将TPU部署到现有服务器中,Google选择将其作为外部扩展加速器,然后插到SATA硬盘插槽中使用。
TPU通过PCIe Gen3 x16总线与主机相连,有效带宽为12.5GB/s。
用神经网络预测要说明TPU的设计思路,需先简介神经网络的计算。
这是一个TensorFlow Playground的例子。
用于训练神经网络以对数据进行分类,估计缺失数据,或推断未来数据。
对于推断,神经网络中的每个神经元都进行如下计算:△ 神经网络将输入数据与权重矩阵相乘,并输入激活函数例如,对于有三个输入数据和两个全连接神经元的单层神经网络而言,需要将输入和权重进行六次相乘,并得出两组乘积之和。
这个乘法和加法序列可以写成一个矩阵乘法,然后通过激活函数进一步处理矩阵的输出。
在更复杂的神经网络架构中,乘法矩阵通常是计算量最大的部分。
实际业务中需要多少次乘法运算?2016年7月,Google团队调查了六个有代表性的神经网络应用,结果如下表所示:如上表所示,每个神经网络中的权重数量从500万到1亿不等。
每一个预测都需要许多步的输入数据和权重矩阵相乘,并输入到激活函数中。
总而言之,计算量超大。
作为优化的第一步,Google应用了一种称为量化的技术进行整数运算,而不是在CPU或GPU上对所有数学工作进行32位或16位浮点运算。
这能减少所需的内存容量和计算资源。
神经网络中的量化通常而言,神经网络的预测不需要32位或16位浮点计算精度。
通过一些方法,可以用8位整数对神经网络进行预测,并保持适当的准确度。
所谓量化,就是一种使用8位整数来近似预设的最小值和最大值之间任意数值的优化技术。
△ TensorFlow中的量化量化是降低神经网络预测成本的利器,同时带来的内存减少也很重要,特别是对于移动和嵌入式部署。
例如,在Inception中应用量化后,这个图像识别模型能从91MB压缩到23MB,成功瘦身四分之三。
使用整数而不是浮点计算,大大减小了TPU的硬件尺寸和功耗。
一个TPU包含65,536个8位整数乘法器。
云环境中使用的主流GPU通常包含数千个32位浮点乘法器。
只要能用8位满足精度需求,就能带来25倍以上的性能提升。
RISC,CISC和TPU指令集可编程性是TPU的另一个重要设计目标。
TPU不是设计用来运行某一种神经网络,而是要能加速许多不同类型的模型。
大多数当代CPU都采用了精简指令集(RISC)。
但Google选择复杂指令集(CISC)作为TPU指令集的基础,这一指令集侧重于运行更复杂的任务。
我们来看看TPU的结构图。
TPU包括以下计算资源:为了控制MUX、UB和AU进行计算,Google定义了十几个专门为神经网络推理而设计的高级指令。
以下是五个例子。
简而言之,TPU设计封装了神经网络计算的本质,可以针对各种神经网络模型进行编程。
为了编程,Google还创建了一个编译器和软件栈,将来自TensorFlow图的API调用转化成TPU指令。
△ 从TensorFlow到TPU:软件堆栈矩阵乘法单元的并行计算典型的RISC处理器提供简单计算的指令,例如乘法或加法。
这些是所谓的标量(Scalar)处理器,因为它们每个指令处理单一运算,即标量运算。
即使主频千兆赫兹的CPU,仍然需要很长时间才能通过一系列标量运算来完成大型矩阵的计算。
改进的方法就是矢量(Vector)运算,同时针对多个数据元素执行相同的操作。
GPU的流处理器(SM)就是一种高效的向量处理器,单个时钟周期内可以处理数百到数千次运算。
至于TPU,Google为其设计了MXU作为矩阵处理器,可以在单个时钟周期内处理数十万次运算,也就是矩阵(Matrix)运算。
TPU的核心:脉动阵列MXU有着与传统CPU、GPU截然不同的架构,称为脉动阵列(systolic array)。
之所以叫“脉动”,是因为在这种结构中,数据一波一波地流过芯片,与心脏跳动供血的方式类似。
如图所示,CPU和GPU在每次运算中都需要从多个寄存器(register)中进行存取;而TPU的脉动阵列将多个运算逻辑单元(ALU)串联在一起,复用从一个寄存器中读取的结果。
MXU中的权值阵列专门为矩阵乘法运算进行了优化,并不适用于通用计算。
△ 脉动阵列中,输入向量与权值矩阵相乘△ 脉动阵列中,输入矩阵与权值矩阵相乘MXU的脉动阵列包含256 × 256 = 65,536个ALU,也就是说TPU每个周期可以处理65,536次8位整数的乘法和加法。
TPU以700兆赫兹的功率运行,也就是说,它每秒可以运行65,536 × 700,000,000 = 46 × 10^12次乘法和加法运算,或每秒92万亿(92 × 10^12)次矩阵单元中的运算。
△ TPU中的MXU我们对CPU、GPU和TPU的每周期算术运算量进行一下对比:这种基于复杂指令集计算(CISC)的矩阵运算设计,实现了出色的性能功耗比:TPU的性能功耗比,比同时期的CPU强83倍,比同时期的GPU强29倍。
极简&确定性的设计极简这一点,在Google之前发布的TPU论文第8页提到过。
与CPU和GPU相比,单用途的TPU就是一个单线程芯片,不需要考虑缓存、分支预测、多道处理等问题。
TPU的设计之简洁,从冲模平面图上就能看出来:△ 黄色代表运算单元;蓝色是数据单元;绿色是I/O,红色是控制逻辑单元。
与CPU和GPU相比,TPU的控制单元更小,更容易设计,面积只占了整个冲模的2%,给片上存储器和运算单元留下了更大的空间。
而且,TPU的大小只有其他芯片的一半。
硅片越小,成本越低,良品率也越高。
而确定性,是单用途带来的另一个优势。
CPU和GPU需要考虑各种任务上的性能优化,因此会有越来越复杂的机制,带来的副作用就是这些处理器的行为非常难以预测。
而用TPU,我们能轻易预测运行一个神经网络、得出预测需要多长时间,这样,我们能让芯片以吞吐量接近峰值的状态运行,同时严格控制延迟。
以上面提到的MLP0为例,在同样将延迟控制在7毫秒之内的情况下,TPU的吞吐量是CPU和GPU的15到30倍。
△ 各种处理器上每秒可运行的MLP0预测下面,是TPU、CPU、GPU在六种神经网络上的性能对比。
在CNN1上,TPU性能最为惊人,达到了CPU的71倍。
总结如上文所述,TPU性能强劲的秘诀,是因为它专注于神经网络推断。
这使得量化选择、CISC指令集、矩阵处理器和最小设计成为可能。
神经网络正推动计算模式的转变,Google预计未来几年中,TPU将成为快速、智能和价格实惠的重要芯片。
作者:Kaz Sato(谷歌云Staff Developer Advocate)Cliff Young(谷歌大脑软件工程师)David Patterson(谷歌大脑杰出工程师)